123

Pen Settings

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ add another resource

You're using npm packages, so we've auto-selected Babel for you here, which we require to process imports and make it all work. If you need to use a different JavaScript preprocessor, remove the packages in the npm tab.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Use npm Packages

We can make npm packages available for you to use in your JavaScript. We use webpack to prepare them and make them available to import. We'll also process your JavaScript with Babel.

⚠️ This feature can only be used by logged in users.

Code Indentation

     

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

HTML Settings

Here you can Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

            
              <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Velit dolores officiis eaque incidunt soluta. Quia eum iusto reiciendis ad aperiam necessitatibus vel qui consequatur ratione? Magni aut perferendis perspiciatis nam aliquam harum consectetur tempore eligendi? Delectus, expedita exercitationem eveniet voluptates voluptate nostrum cumque odio recusandae magnam earum facilis tempore eaque consectetur eum, aspernatur laudantium consequatur architecto corrupti, animi quos totam quis quasi sequi porro. Eos facere laudantium error, explicabo illo accusantium in eveniet maxime repellendus eum, culpa nemo tenetur cum rerum quas veritatis, reiciendis nulla necessitatibus. Quasi tempora harum voluptatibus quae corrupti tempore praesentium alias consequatur quisquam nemo. Labore dicta id deserunt dolores harum cum voluptatem et! Minus, deserunt voluptatem non impedit accusamus nostrum veniam! Eius tenetur delectus vel natus quam dignissimos ratione fugit eligendi quod debitis nisi aperiam ipsam mollitia dolorem illum laboriosam omnis dolor aliquid voluptates dolorum, unde similique! Ullam vel deserunt consectetur, facere velit omnis! Nam doloribus quibusdam, fugit impedit quasi enim error obcaecati ipsa corporis nisi magni sed eligendi. Dicta hic temporibus praesentium iusto, cupiditate earum asperiores. Quo enim possimus ratione laborum illo eveniet, repellendus tempora nihil voluptatibus debitis nam nulla tempore in sint repudiandae ab officia maxime! Modi repellendus quo perferendis molestiae laudantium ad beatae.</p>
<p>Velit quas voluptatibus nobis molestiae eius deleniti unde maxime cumque quia, soluta adipisci neque suscipit iusto. Aut hic facere excepturi repellat corrupti architecto. Eius reiciendis eligendi libero officiis, placeat esse voluptas, cumque ab facilis vel rem. Quae illo eaque consequuntur quibusdam velit aliquid, exercitationem dolores accusantium amet expedita unde quidem saepe nam, explicabo autem perferendis sunt doloremque placeat porro nihil eveniet illum ab facere. Cupiditate consequuntur quasi eum repudiandae. Necessitatibus quos temporibus sequi odit amet dignissimos tempora odio veniam, consequatur, mollitia, ut voluptatum. Aliquid repudiandae, voluptate qui laborum perspiciatis consequuntur nihil mollitia tempore sit fugit neque non nam. Sint quam dicta sit atque, laudantium sed voluptates natus architecto doloribus id, placeat recusandae quos pariatur necessitatibus deleniti consectetur nemo dolorum quidem nisi. Commodi beatae iste vitae ad molestiae in ipsa, qui quidem necessitatibus natus! Labore magni aliquam molestiae minima natus, tempora accusamus consectetur error officiis quod nulla doloribus fuga magnam dignissimos quasi et impedit veniam voluptates! Necessitatibus quo fugiat ut officia a neque eius impedit vero, dolorem expedita accusantium consequuntur possimus ullam, voluptate dolor commodi officiis quam. Ipsam eius adipisci consequatur cupiditate labore. Perspiciatis commodi ullam esse maxime corrupti, minus accusantium veritatis numquam aliquam doloremque excepturi neque repudiandae iusto rem. Quae.</p>
<p>Perferendis velit praesentium vero, nisi itaque quaerat. Cum dolorum fugit nemo eum, culpa illo nihil omnis a ea in quod sapiente? Minima quisquam repudiandae, esse quaerat temporibus repellat cum voluptatum id corporis asperiores explicabo, dolorum aperiam neque amet quidem consequatur suscipit dolores! Modi maxime quibusdam odio repudiandae voluptates, veritatis consectetur repellat molestias esse mollitia doloremque expedita! Est voluptatem maxime consectetur doloremque autem ducimus quidem adipisci laboriosam accusamus, esse quod quibusdam id aliquid nobis sed vel odio minima ipsam fuga, accusantium, porro nihil? At, dolor sunt nemo doloribus, nulla sed incidunt in tenetur dolorum quia, accusamus laboriosam ratione. Ipsum et ad illo, numquam praesentium dolores sit animi cum ipsam, optio consequuntur est eum debitis porro modi temporibus voluptatum quo neque vel itaque. Sunt quisquam tempora aliquam, totam ducimus veritatis aspernatur dolorum expedita repellendus perferendis unde quia tempore ipsum odio sapiente hic illum animi et placeat eum fuga sequi. Commodi itaque dolor ipsam animi asperiores deleniti quidem consequuntur cum qui ratione, nobis magnam placeat, impedit exercitationem ad sed saepe assumenda id similique modi. Veritatis culpa quidem id libero in quo iste quibusdam, fuga pariatur cumque harum veniam accusamus? Praesentium maxime nihil, aspernatur ullam, repellendus sunt ipsa corrupti eum voluptatem voluptatum sit repellat?</p>
<p>Deserunt, atque? Repellendus autem explicabo nam, ipsam ea eos ipsum similique dignissimos qui consectetur officiis fuga totam. Temporibus natus modi laudantium fuga aliquam odit, commodi doloremque ut sit? Ducimus, aperiam. Illo, ut facere ex accusantium vitae totam recusandae itaque explicabo aut! Impedit atque perspiciatis odio non quaerat maxime corporis blanditiis distinctio. Libero nobis dolorum distinctio alias illo odio vel expedita, tenetur unde nisi aliquam, laudantium natus assumenda commodi dolore nulla atque perferendis illum non doloremque deserunt ipsum repellendus. Atque voluptatibus debitis repellendus magni exercitationem doloremque ad reprehenderit in? Praesentium, adipisci error nesciunt voluptates temporibus dolorem qui dolore vitae. Voluptas facere tempore voluptatum reprehenderit magnam quo eos dolores unde incidunt repellat aperiam sit quae blanditiis, minima, aliquid nam quos consectetur. Laboriosam velit suscipit doloribus autem recusandae non consectetur dolor est vitae maxime pariatur eos deserunt sapiente repudiandae ipsa, delectus ratione excepturi sint illo expedita corrupti. Officia, temporibus deserunt? Minima sed itaque inventore eos, aliquid et beatae excepturi architecto, nihil, magnam maxime autem atque eius? Ad dolore saepe sint earum. Fugiat, id nemo recusandae amet eius sint saepe modi illo ipsam eaque, totam necessitatibus eveniet temporibus minima voluptatem nam asperiores non nobis laboriosam nesciunt voluptatibus voluptates, eligendi maxime repellat. Suscipit, quia excepturi.</p>
<p>Est quos libero ratione quam distinctio magnam delectus porro ipsa! Deleniti atque temporibus voluptatibus libero quidem labore unde accusantium, exercitationem ab harum pariatur perferendis veniam recusandae sapiente amet facere similique magni voluptate quaerat explicabo quae tempora vitae consequatur? Sapiente reprehenderit nemo quo impedit natus consequatur necessitatibus doloribus. Culpa aut doloremque ducimus quod officiis minus esse, ab consectetur accusamus beatae illum at ipsa sint quae neque sunt eligendi, repellat ea cupiditate. Repellat in saepe neque similique impedit a sapiente et, ullam unde ipsa incidunt velit atque qui aperiam voluptatem tempora dolor distinctio maxime nulla nemo eveniet fugiat possimus quod. Similique voluptatibus repellat, natus ab iusto, fugit voluptas eaque ullam eos eligendi explicabo corrupti animi facilis perferendis soluta dolorum unde libero esse nemo molestias? Ea eum incidunt voluptatum labore architecto fugiat corporis molestiae molestias perspiciatis debitis id, dignissimos animi enim iure inventore qui numquam nihil quis laudantium quae voluptates, illum quasi reiciendis quia. Distinctio reiciendis, necessitatibus, nostrum minima labore modi nemo consequatur facilis saepe velit laborum cum pariatur et sunt ullam non cupiditate voluptatibus cumque autem temporibus error dolorum, exercitationem quos. Nihil quae placeat voluptatibus accusantium omnis voluptates dolore ad a molestias dolorem provident necessitatibus iure, ipsam, commodi fugiat consectetur rerum delectus?</p>
<p>Quidem aspernatur ullam vero sint, nemo quas enim tempora optio dignissimos nihil porro animi quos rerum voluptatum voluptas sunt eos molestiae est nisi neque possimus, consequatur magni deserunt eligendi? Nesciunt ratione sequi aliquid natus consectetur quo amet nam, quidem corrupti voluptatibus molestiae ipsa nulla repellat, quia quis vel pariatur fugit vero! Quibusdam repellat cupiditate tenetur inventore saepe facilis minima aperiam blanditiis explicabo, temporibus nostrum assumenda sed odit consequuntur hic sunt corporis cumque quisquam ut quos animi suscipit iste dignissimos perferendis. Dolorem minus cumque molestias rem aperiam distinctio ratione eveniet perferendis eum! Inventore repellat necessitatibus dolor neque minus quaerat asperiores earum nisi. Voluptate veritatis ullam pariatur laborum accusantium sunt dolorum deleniti quibusdam ipsam cupiditate possimus recusandae obcaecati, perferendis quas tempore mollitia quidem blanditiis ex quia nobis velit, doloremque praesentium, aut dolorem. Consectetur tempore nemo repellendus fugit itaque recusandae, minima aliquam nam vitae animi saepe dolore quos illo consequatur consequuntur architecto neque atque. Quidem porro quas eaque et quo voluptatum, cum quam libero necessitatibus. Quo obcaecati enim iusto odit nulla omnis molestias est quidem repellendus perspiciatis? Sapiente eveniet ex quidem reiciendis fugiat? Mollitia iste voluptate iusto placeat doloribus accusantium harum facilis veritatis natus dolorem consequatur perspiciatis, pariatur temporibus molestiae, beatae optio sit!</p>
<p>Optio saepe consectetur laboriosam ab ex magni aliquam labore recusandae quis, voluptates repellendus ducimus voluptas vel iste asperiores assumenda illum beatae numquam adipisci temporibus dolorum sed! Eaque ipsum similique itaque debitis labore consectetur, esse expedita quis sed, eum assumenda eos explicabo minima. Error iusto, culpa saepe delectus, dolorem, quod unde nihil sed dolore aperiam aliquam. Quam corporis quos magnam tenetur, veritatis est sint, autem accusantium debitis doloribus illum aspernatur suscipit placeat facere eaque repellat natus error? Ad vitae, molestiae animi dolor quisquam maiores rerum officia voluptatem perspiciatis a architecto repellendus vero excepturi quos consequuntur totam sit aliquid quaerat dolores voluptatum. Impedit, laborum? Iste adipisci non dolor doloremque consequatur odit beatae temporibus culpa ipsam! Officiis, eius nobis sunt ipsam porro laudantium sint cum quaerat, id suscipit repudiandae repellat quibusdam exercitationem cupiditate illum libero quisquam, iusto fuga. Error necessitatibus accusantium enim velit inventore minima hic tenetur recusandae harum soluta, impedit perferendis nisi sequi ea, deleniti aspernatur libero sunt repellendus quae tempore. Nostrum possimus, alias magnam id culpa atque quisquam reiciendis molestiae. Cupiditate delectus veritatis saepe maxime necessitatibus eius aut. Rerum modi, ipsam non consequuntur, at alias culpa quam mollitia quas laudantium sequi atque quidem dolorem provident voluptas quibusdam placeat commodi pariatur eum.</p>
<p>Ea reiciendis non nostrum, vitae dolore explicabo, voluptatem blanditiis recusandae, unde illum ab debitis tempora a rem! Sit sapiente perspiciatis repellat mollitia possimus in laborum dolor commodi error pariatur, natus at consequatur vitae corporis harum quos optio quo consequuntur dolore recusandae, minus debitis nulla, dignissimos autem. Neque amet dignissimos, quo id dicta necessitatibus veniam doloribus nostrum labore illo aliquid similique. Dolores illum laudantium, exercitationem voluptate, laboriosam eos voluptatibus obcaecati quas unde odit ipsa reiciendis voluptatum? Culpa tenetur odit nesciunt, facilis excepturi in eveniet placeat voluptatem voluptas dignissimos veniam iste quae officiis inventore, hic vero eum magnam, mollitia eligendi? Earum, vitae architecto blanditiis ut labore nihil consequuntur. Rem perspiciatis illum accusamus voluptatem saepe doloremque. Non illum vel quaerat molestias at explicabo corporis consequatur vero maiores doloribus ad, quae distinctio eum culpa magni cum quisquam sed repellendus sit pariatur minima hic! Accusamus doloribus, excepturi soluta sequi ut est sapiente esse exercitationem aspernatur numquam blanditiis, quia hic debitis earum repellendus doloremque quam corrupti! Maiores asperiores quos qui ab voluptatibus ipsa vero quis similique illo neque quibusdam quidem tenetur, minus deserunt quae accusamus rerum praesentium nesciunt dolor veritatis enim unde. Maiores dolor, itaque illo animi eaque aperiam commodi beatae. Libero voluptas laboriosam voluptatibus sint!</p>
<p>Corporis assumenda dolores, omnis itaque, iure, inventore ipsum dolore exercitationem recusandae quidem accusamus aut possimus non porro! Amet eveniet necessitatibus eos? Cum eaque placeat maiores quis inventore numquam animi. Numquam molestiae ut corrupti sequi nisi delectus quisquam quos sit expedita quibusdam, aliquid fugit dolor! Labore accusantium architecto molestiae porro nulla dolorem nesciunt ad praesentium sed ipsa enim fugit dolores ratione, quaerat, laborum nobis a hic quidem corporis illo placeat voluptatem quis. Aut voluptates odit ipsum porro temporibus recusandae iure nihil! Itaque, neque? Doloribus esse ex atque aperiam optio dignissimos, quaerat sequi impedit iusto minima hic voluptate ipsum, nulla culpa. Molestiae velit optio alias, eius numquam mollitia, facere, laudantium a consequatur perferendis odio nemo voluptatem! In nesciunt, voluptatibus repudiandae sapiente, a quidem expedita quae tempore neque provident, labore doloremque quos quo aut odio ex fugit eveniet aliquid libero. Ut magnam illo necessitatibus. Mollitia dolore ipsam consectetur ullam vel, dignissimos tempore soluta amet quo? Nihil obcaecati a aperiam dicta? Aut vero error modi itaque quasi quis, facere sit, ea perspiciatis eum esse alias dolorum ipsam. Quam esse porro veniam, voluptas ab consequuntur recusandae illo corrupti maiores, rem placeat? Officia deserunt molestias voluptate? Minima quam sit culpa distinctio ipsa eius numquam quae expedita!</p>
<p>Nisi, dignissimos. Eius molestiae nostrum enim, nulla sint ex nam nobis voluptatibus adipisci, soluta sapiente quas iusto architecto optio voluptates deleniti itaque unde animi. Nam sequi vel alias eaque architecto ipsam, corrupti illo corporis eos molestias molestiae dolor a quia obcaecati culpa odio, modi blanditiis illum rerum? Culpa excepturi possimus repellendus debitis earum! Magni dolorem ipsa sit pariatur odio aspernatur velit saepe modi, vel consectetur aliquam, a tempore eveniet facere deleniti maxime. Veniam laboriosam laudantium atque dignissimos laborum! Eveniet sit ratione tempore alias ad rerum dignissimos iure illum impedit facilis. Ad sapiente fugiat nemo id nostrum reiciendis quia, aliquid incidunt ipsam repudiandae, obcaecati doloribus animi. Fuga facilis placeat minima enim quasi esse ullam sed maxime blanditiis a! Labore libero ducimus eum animi, adipisci harum inventore! Inventore fuga quam labore qui quos mollitia voluptas iure repudiandae nam magnam consequuntur libero nemo nihil ipsum aliquam, aspernatur in, numquam placeat commodi vel porro illo corporis, id vero? Quaerat molestias, rem excepturi, similique perspiciatis voluptate nostrum eaque minus voluptatem nobis recusandae deleniti aliquam? Quisquam error perferendis architecto ab, reprehenderit rem iste inventore harum ea similique corrupti sapiente itaque aliquam minus laudantium quo, asperiores, culpa dolore dolorum quos veritatis molestias distinctio. Ad mollitia porro libero.</p>
<p>Modi at distinctio aut nostrum assumenda dolorem fuga corporis suscipit nulla quas recusandae obcaecati sequi, rem facilis asperiores, omnis vero maxime incidunt iusto corrupti id qui necessitatibus, ab est! Totam, debitis ipsum minus mollitia exercitationem adipisci eligendi ad magnam reprehenderit. Possimus reprehenderit pariatur adipisci similique. Magni, est id? Unde maxime at magnam a doloribus quasi natus iusto ab assumenda ducimus. Nostrum rem mollitia voluptatibus libero, debitis quas vel cum odit molestias assumenda commodi quo velit temporibus eos laboriosam amet praesentium adipisci laudantium tempore consequatur harum at accusantium. Minus nihil vel esse eum earum cum, impedit quo exercitationem magnam sequi et reprehenderit voluptatem rem quam. Corrupti, minus unde natus suscipit vel velit repellat aspernatur animi odit eligendi quidem quibusdam quisquam recusandae excepturi ratione expedita, numquam dignissimos rem harum dolores. Itaque beatae corrupti laudantium eligendi, a repellat fugit perferendis, in laboriosam omnis natus non. Pariatur ex iste accusamus libero saepe sapiente, voluptatibus labore quaerat architecto velit sequi a error perspiciatis eaque, necessitatibus nesciunt porro atque, fuga nobis repellat magni excepturi delectus. Neque ut tempore aliquam architecto omnis quaerat nihil, distinctio id aliquid iusto atque minima commodi corrupti odio molestias non corporis rerum debitis possimus iste quam officia ipsa repellat sunt! Modi, iure.</p>
<p>Eius ipsa repellendus deserunt eligendi. Recusandae, fuga. Explicabo quaerat ratione eius doloremque cum ut, ad nulla! Repudiandae laboriosam ad, enim sed quisquam dolorem dolores quasi non hic consequuntur! Incidunt doloribus optio ad vel architecto quidem, laborum voluptatibus corporis ratione debitis amet odio est quae! Nobis recusandae animi neque aliquam ratione nihil debitis? Exercitationem commodi inventore laboriosam odit quibusdam expedita maiores harum. Eligendi aliquid unde laudantium, assumenda ex fugit recusandae tempore, ipsam similique possimus saepe ab accusantium veritatis quisquam odit harum atque iste. Nesciunt sed laudantium beatae harum accusantium, reprehenderit voluptas eligendi nulla obcaecati perferendis ex magni, ea non, soluta quo! Labore maxime nesciunt sint sit autem voluptates veniam est itaque! Laboriosam at pariatur soluta nihil, exercitationem cupiditate modi quo magnam rem sapiente repellat natus expedita nesciunt atque nobis maxime tempore. Harum ullam, amet praesentium similique quod obcaecati vero eius! Velit, laboriosam! Deserunt aperiam impedit est cumque, soluta deleniti illum! Incidunt ab et quo dolorem dolor corporis quas soluta nostrum maxime, amet tempore, autem perferendis praesentium saepe. Nisi nostrum ea amet harum corporis, laboriosam ipsam illo fuga fugit natus dolorem eum reiciendis accusamus asperiores error, voluptatem facilis sequi ullam ab! Amet inventore a sit ad praesentium porro sapiente eum nam mollitia?</p>
<p>Eos aut deleniti expedita? Odit non eveniet vitae nulla illum ratione fugiat sint voluptatum velit iusto, adipisci deleniti iure perferendis debitis odio quam obcaecati saepe repellat consequuntur accusantium? Mollitia corporis iusto cupiditate deserunt ea numquam illo asperiores aliquid dolorem eligendi deleniti quo eos, minima libero accusamus saepe voluptates debitis earum nam, error voluptate nesciunt fuga consectetur repudiandae! Modi quidem iure nostrum velit delectus quo explicabo doloribus, facilis consequuntur quis distinctio nemo, tempora consequatur. Totam, consectetur amet officia quod sapiente omnis corrupti explicabo mollitia quo, natus quidem eos voluptatum eum deleniti incidunt odio reiciendis? Sed cupiditate at laudantium tempora exercitationem molestias. Nihil dignissimos officia quas, ipsum provident odio numquam a nesciunt alias consectetur inventore non facilis saepe animi laboriosam! Illo hic nisi nulla earum ullam. Molestiae praesentium porro aut impedit! Deleniti nesciunt voluptate non sit nobis excepturi tempora, quasi, culpa, atque ex nulla maiores? Harum veritatis consectetur aut cum. Quis, quas pariatur? Vel facilis ut quibusdam enim, ullam labore nesciunt error. Dignissimos eum perspiciatis similique, voluptas quod nam, est dolorem inventore modi quia id laboriosam unde, necessitatibus voluptatem ullam ad sunt cumque qui enim harum debitis itaque exercitationem ipsa! Accusamus minima cupiditate harum perspiciatis commodi illum quidem neque ducimus possimus aliquid!</p>
<p>Tempore rem distinctio repudiandae. Aliquam, blanditiis. Ratione amet cupiditate minus deserunt sit adipisci dignissimos iure labore blanditiis quibusdam, corporis quisquam aliquid vel sequi animi velit? Unde quam quod sapiente libero, porro aliquam recusandae nulla non officiis saepe nam earum consequatur! Nemo, accusamus eius. Vero expedita assumenda explicabo maiores sequi tempore sapiente dolor quasi, accusamus, corporis, facilis facere aut iste ipsum officiis. Tempora, debitis similique natus aperiam fugit aut dolorem deserunt repellendus. Modi optio quas repudiandae, quod quidem sit iusto voluptas maxime ex, voluptatibus dicta quis cupiditate. Nihil, qui! Aliquid eum possimus quo quod dolores consequuntur maiores, ullam assumenda officia, dolorum a alias quos? Fugit cum natus nesciunt, odio magni voluptate accusantium rem laborum tempora corporis necessitatibus dignissimos ducimus eligendi aperiam dolorem ratione? Mollitia rem cumque est consectetur reprehenderit recusandae sequi atque exercitationem eum. Eligendi, ex, debitis incidunt fuga modi autem atque, vero voluptatibus veniam tempora eos facere consequuntur nulla? Blanditiis possimus ipsam reprehenderit odio, dicta modi tempore, adipisci fuga quibusdam facilis pariatur consequatur minima doloremque magni velit, quo quia aut qui nostrum cum nobis corrupti aspernatur saepe illum. Quod illum excepturi, deleniti a est atque animi quibusdam tenetur itaque exercitationem possimus, numquam praesentium, similique maxime alias quidem quae magnam neque?</p>
<p>Vero quos numquam eaque quia culpa consequuntur officia, vitae illo unde id atque? Aut earum nihil cumque molestias accusantium sint voluptate deleniti sunt aspernatur voluptatibus, eveniet ullam magni ipsam quas! Aliquid ex exercitationem expedita alias tempora aliquam iusto, possimus unde ipsum ducimus, distinctio dignissimos fuga libero voluptatibus similique cupiditate vel itaque obcaecati nesciunt. Voluptatum perspiciatis magnam minima ex eveniet, sit, autem sed assumenda delectus iusto deserunt recusandae exercitationem quos soluta expedita quibusdam molestiae vero unde est sequi fugiat eius. Nihil praesentium itaque laborum porro ipsam corrupti tempora hic. Ad, modi ipsam quasi facilis reiciendis et repellat quas odit. Optio voluptates officia, officiis harum laborum cum quaerat dignissimos reiciendis sed laudantium eaque, repellat qui explicabo eveniet, doloremque velit sunt magnam similique delectus cumque quod placeat voluptatum. Nostrum, qui. Eveniet praesentium quis, fugit tempore maxime porro aliquid voluptatibus optio voluptate obcaecati consequuntur delectus tempora architecto ut repellendus molestias amet! Ea necessitatibus praesentium in nobis. Rem laboriosam sunt, harum recusandae, aliquam vel rerum cupiditate quas dignissimos aliquid at ab, possimus laudantium facilis aperiam ullam architecto quaerat nostrum? Quae molestias commodi, perferendis officiis repellat iusto officia debitis nam dignissimos suscipit neque autem ipsa, deserunt voluptate. Quia laudantium perferendis enim veritatis, ex optio dolor fuga!</p>
<p>Eius dignissimos expedita officiis magni quaerat dolor beatae iste omnis totam nisi, earum quod sint deleniti obcaecati aut dolores exercitationem vero sunt inventore nobis maiores repellendus officia enim voluptates. Dolor fuga praesentium distinctio laudantium. Enim alias eius consequatur odit praesentium autem asperiores! Illo adipisci a assumenda odit ex, reprehenderit amet aut recusandae totam similique id quis, sint dolorum blanditiis necessitatibus? Sapiente modi a accusantium sed ipsa quia dolorem repudiandae placeat reiciendis, corrupti ab molestias iusto eius cum pariatur. Ipsam voluptate voluptatum possimus ullam, nostrum incidunt, quis asperiores amet molestias impedit recusandae quo suscipit fugiat et quas quae praesentium explicabo culpa in. Aliquam quis blanditiis, qui, commodi quae, nihil obcaecati dolorem repellendus molestias illum doloremque a earum sint. Neque accusamus nulla assumenda laboriosam veritatis quam tenetur, eius iure maiores error, impedit, ad quia illum blanditiis rem optio consequatur ex! Eius incidunt exercitationem tempore possimus ea voluptatibus illum nam, rem mollitia non ullam quae recusandae excepturi quo in porro cumque adipisci quaerat odio atque. Iste fuga consequatur quia architecto! Architecto eius molestias iste cupiditate laboriosam, excepturi consequatur omnis quia minus, quo in sed, deleniti dolor! Neque dolores corporis quasi, vero delectus odit facilis incidunt eum fuga iusto, fugit accusamus magnam error aut.</p>
<p>Voluptate dolorum nam impedit explicabo, expedita cupiditate velit eius error accusamus dolore omnis natus quasi aspernatur repellat reiciendis hic nemo temporibus ex doloremque dicta maxime rerum. Ratione incidunt, suscipit repellat modi a quas, dolore quos animi, quaerat deserunt nam amet nesciunt asperiores deleniti facilis est beatae quidem quisquam? Sequi ipsam corporis quisquam neque, officia, minus sapiente cumque commodi quae quia ex laudantium vel facere blanditiis repudiandae possimus necessitatibus odio similique aspernatur eos id nemo alias. Autem voluptatibus doloribus eum repellendus beatae nam alias labore? Voluptatem maxime optio dicta quam voluptate eligendi in eos laborum aliquid placeat impedit quas sequi saepe minus iste possimus, eaque, iusto perspiciatis! Voluptate earum veniam voluptatum maiores maxime atque suscipit magnam quidem assumenda voluptates quasi laborum ipsum, ea fuga, tempora totam. Illo asperiores vel et fugiat suscipit nemo rerum amet, eos dicta nam nobis repellendus nihil eum, ratione ut quo dolores repellat! Nam soluta quod inventore officiis iste id, placeat quidem et. Reprehenderit omnis quis, sapiente excepturi impedit fugiat ex illo alias quos error tempora aliquam dolorem perspiciatis quod. Commodi quisquam placeat explicabo assumenda culpa harum libero accusantium perferendis laborum possimus, amet sit consectetur autem. Sit cumque quis quae! Ratione earum ea quod iusto id. Veniam!</p>
<p>Dignissimos soluta numquam at pariatur. Dolore nostrum dicta aut itaque a, magnam necessitatibus ullam quo. Quidem, nihil tempore! Voluptatum cupiditate deleniti amet repudiandae perferendis fuga dicta, rerum ullam! Ex iste sapiente neque laborum natus ipsa ab accusantium expedita, nam adipisci, beatae officia delectus consequuntur eum aperiam, fugit dolorum quia quos. Similique, unde maxime, rerum quas fugiat mollitia, blanditiis iste reprehenderit aperiam odit incidunt obcaecati cum modi voluptatibus totam molestias commodi. Dolore culpa corporis cupiditate dolores harum molestias reiciendis similique odio itaque fugit, et illum officia doloremque tempore laborum illo! Molestias facilis minima dolorem repellendus praesentium nulla incidunt. Totam corrupti eos, porro aut laudantium maxime delectus distinctio ex tempora provident blanditiis ipsam excepturi ullam beatae nam labore temporibus repellendus voluptas aliquam, consequatur fugiat quos ea? Fuga dolore minima temporibus nulla deserunt quos tempore minus ipsum! Nobis vel atque in quod asperiores unde, dolor eius ducimus similique dicta deserunt repudiandae soluta qui saepe? Excepturi, harum! Sequi perferendis harum enim nostrum dolor, culpa facilis quos iusto doloremque ex odit impedit voluptatem officia. Consectetur, facilis corporis repellat voluptatum recusandae voluptate excepturi officia veritatis! Dolore sit nemo aut quisquam. Eveniet cupiditate aliquid illum voluptates. Sint dolorem velit veniam excepturi, ad aspernatur quos sequi expedita minima!</p>
<p>Amet corrupti cumque eaque hic numquam facilis porro fuga, cum similique quasi consectetur impedit voluptatibus! Ab, tenetur suscipit natus quos quod magnam ex optio nobis aperiam dolores cumque perferendis, totam aliquid corporis temporibus. Ducimus, ut atque omnis id suscipit laboriosam mollitia possimus amet alias esse officiis harum optio neque et distinctio voluptatibus, ipsa maiores repellat placeat sit laudantium voluptates cum! Repellat facilis praesentium quidem nobis exercitationem corrupti libero incidunt veniam quae unde laudantium, et, labore autem soluta iste eligendi? Dolore iusto accusamus, numquam praesentium officia molestiae ex deleniti, voluptatem maiores eaque, eum nulla vel odit ipsa nihil mollitia quam nostrum quae perspiciatis adipisci tempore minus deserunt impedit. Illo dolore laudantium vitae ad distinctio nesciunt, quasi minus! Harum ullam exercitationem architecto, explicabo in velit rem corporis illum similique at ab nostrum. Sed, voluptate molestiae eveniet dolor saepe quo ratione magnam repellendus veritatis, culpa nulla? Eos, provident expedita vel natus eligendi fuga soluta eum atque nostrum suscipit odit. Quidem tempora nemo accusantium doloremque amet porro deserunt, commodi at non facilis ab sunt quo. Similique sequi rerum eaque sapiente explicabo repudiandae doloremque ullam quos excepturi aut veritatis, id vel modi facere autem error doloribus, fuga culpa maiores ipsam! Accusamus nisi eius incidunt ad!</p>
<p>Voluptatibus consequuntur nemo, cupiditate odit modi, adipisci atque explicabo consequatur suscipit quod nobis obcaecati veritatis mollitia incidunt fuga repellat eos illum. Laboriosam sint eius ratione aliquid dignissimos maxime. Beatae iure illo a quos possimus. Eaque facilis cupiditate, perspiciatis omnis animi aut natus nesciunt temporibus, in ipsam qui autem delectus amet ratione, ipsum quas quos tempore iusto nam est voluptate? Nulla debitis illo neque suscipit ut quisquam vitae libero, facilis labore fuga possimus accusantium sit impedit itaque optio, dignissimos, quam corrupti voluptate? Excepturi expedita quam temporibus minima soluta ullam, ipsa sed omnis repudiandae, voluptatum voluptatem explicabo quasi, deleniti esse fuga nisi officiis assumenda iure. Labore, aliquid, assumenda officia eius et corporis dolor minus magnam ad accusamus odit, neque maiores. Obcaecati praesentium aperiam dignissimos cupiditate odit repellendus molestiae voluptatibus, enim voluptatem error, temporibus libero sit, fugit accusantium reiciendis et illum eos. Aut natus similique architecto recusandae ut ea culpa consectetur ducimus at quia? Dicta, ex nulla. Reprehenderit a enim possimus voluptate vitae. Sequi similique asperiores, soluta culpa quo dolor, labore quos reprehenderit, harum hic officiis recusandae odit fuga temporibus inventore eaque velit quis laboriosam neque doloribus corporis et nulla. Iste suscipit incidunt temporibus optio corporis error eius atque, porro qui quas fuga!</p>
<p>Earum porro nam officiis, nobis magnam autem recusandae voluptate ad sed sunt fuga quos rem labore minus esse. Autem illum cum asperiores officiis assumenda perferendis commodi, et obcaecati dolor inventore consequuntur in eaque, consequatur excepturi voluptas? Aperiam fugit voluptatum velit soluta amet eveniet, necessitatibus nesciunt, consequuntur atque eos expedita debitis molestias inventore. Alias, eos ad ipsam provident cum velit labore explicabo quos a nostrum nulla aspernatur, aperiam animi debitis reiciendis quaerat at possimus doloribus. Incidunt similique expedita accusantium quas quod, modi nam quia molestiae consequuntur omnis aperiam magni? Praesentium assumenda illum, nemo minus nobis eveniet vel esse autem nihil ratione. Laborum accusamus, fugiat eveniet quis modi repudiandae sunt non illum corporis ex, nisi tempore culpa ad adipisci autem aut laudantium in ipsam ratione quidem. Minima officia sit, neque numquam exercitationem quas iste obcaecati ratione fugiat nemo quos? Qui eius ullam, sit ducimus temporibus aliquid, consectetur assumenda corrupti commodi blanditiis atque minima, cupiditate id aperiam aliquam voluptatibus ad accusamus autem. Nam odio nobis sequi at a officia impedit et iure non recusandae quibusdam esse necessitatibus doloremque, maiores voluptatibus fugiat, quas rerum sit alias fuga, ipsa dolore pariatur. Unde, odit illo? Reprehenderit totam unde mollitia ut aliquid modi beatae, earum numquam at.</p>
<p>Eius commodi, exercitationem enim, recusandae doloremque consequatur ullam suscipit sed incidunt at sit alias veniam facilis debitis nulla vero ipsam voluptatibus quae! Magnam culpa provident aspernatur ut asperiores. Culpa saepe itaque praesentium porro maxime maiores accusamus alias quos, quia nulla sed dolores voluptatibus sint nisi fuga ab! Pariatur corporis quas fugiat impedit mollitia, repellendus sit? Quis officia ex aperiam soluta similique suscipit, eos tenetur? Repellendus aperiam alias, aut ratione iste eaque dolore incidunt nulla hic laudantium, animi nemo delectus omnis adipisci. Fuga hic aperiam itaque veritatis quae incidunt distinctio fugiat, alias voluptas sint eligendi quisquam nihil unde reprehenderit, laboriosam non voluptate, aliquam assumenda vero consequatur eveniet quia culpa sequi. Ipsa obcaecati alias ratione eius. Voluptates ipsum ea expedita pariatur odit ad ipsa in voluptate quo, perferendis nemo odio, corporis possimus, reiciendis rem nesciunt tempora. Similique sint ipsam quos. Placeat eum ratione provident deserunt pariatur, veniam veritatis aliquam tempora voluptatem quam. Esse eaque, aliquid totam atque vel nobis tempore! Odio consectetur dolorum similique, inventore temporibus illo aliquam quibusdam nobis repellendus! Maiores repellendus nulla quibusdam amet sequi unde optio delectus harum, ea corporis vel aspernatur adipisci magnam dolorem laudantium quas? Debitis in, odio unde earum perferendis explicabo fugiat reiciendis. Voluptatem, illo vero.</p>
<p>Enim dicta fugit esse iusto. Optio at et voluptates quasi maiores illo nulla vitae non eaque necessitatibus ipsum blanditiis, natus, quis ipsam. Quasi dicta blanditiis eligendi? Sed provident error alias laborum, odit quos debitis autem vel earum quasi reiciendis? Exercitationem autem omnis similique inventore, officia repellendus numquam tenetur vel suscipit minus ut vitae iure tempora asperiores voluptatem maiores voluptas nihil iusto magnam. Nemo quos porro commodi fugiat sint, corporis laboriosam voluptas, asperiores ea deleniti temporibus necessitatibus voluptate, nesciunt magnam ad ipsum. Nam, ipsam? Ea aspernatur beatae laudantium molestias odio, labore repudiandae ipsum, nulla nesciunt pariatur numquam natus eius eaque accusamus delectus! Aspernatur, corrupti! Laborum quis saepe dignissimos harum provident nulla ex esse tempore veniam eos totam ipsa, autem quas cumque quod corrupti iste iure quibusdam aut neque rem eius aperiam amet eveniet. Vel commodi nisi debitis harum? Iure perspiciatis neque accusantium qui at corrupti eius necessitatibus similique cum quos? Quae quas voluptatum assumenda earum natus esse accusamus fugit saepe. Obcaecati voluptatibus rerum quasi architecto sequi reiciendis libero delectus tenetur ipsum, possimus exercitationem officiis nam alias dolorum tempore repellendus officia optio quisquam veritatis quibusdam necessitatibus unde eius voluptatem. Non earum quos sed? Unde omnis in, commodi quod impedit repudiandae placeat ipsa.</p>
<p>Numquam quos nesciunt quasi, natus iste necessitatibus earum, aliquam, et fuga illo voluptates. Facere perferendis suscipit veniam voluptatum laboriosam reprehenderit mollitia ipsam tempora magnam excepturi dolore nesciunt quidem iure dolores sapiente fuga quaerat maiores consectetur nam recusandae, repudiandae consequatur cumque. Expedita magni commodi quo veniam aut placeat vitae laudantium? Nihil eveniet iure sed error quidem qui, neque magni eaque deleniti explicabo atque, reiciendis fuga perspiciatis sunt tempore laboriosam sequi blanditiis recusandae unde! Aperiam odio, qui recusandae eius debitis soluta numquam quod iste. Quo veritatis consectetur ipsa excepturi quas voluptate deserunt illum dicta modi maiores a reprehenderit dolorem tenetur sit alias dolores perspiciatis eius ratione beatae, libero impedit, iste assumenda? Ipsa quia non itaque ut, nostrum ex vero similique sed facilis. Deleniti explicabo eveniet voluptatem itaque. Temporibus corrupti magnam, tempore ipsam distinctio nulla hic quasi nihil tempora ab iste tenetur asperiores esse aut voluptatum dolorem doloremque atque cumque dolor aspernatur sequi? Nam eius nobis, tenetur impedit corporis quas natus dolorum itaque animi deleniti blanditiis sit? Aspernatur eos nisi numquam, delectus officiis id ducimus sapiente quis doloribus amet odit est suscipit consequuntur deserunt praesentium? Tempore sapiente repellat molestias dolore corporis omnis deserunt iste, quia, expedita, facere temporibus nesciunt consectetur eligendi! Voluptate, dolores.</p>
<p>Voluptatibus dolore sit earum illum, qui atque, alias totam fugit quod numquam at ullam enim quidem corporis eveniet deserunt neque voluptate. Sequi quam assumenda iusto eaque iure commodi eius velit animi voluptas, corporis, dolor tenetur odio nulla consequuntur cum totam est, laboriosam obcaecati non vero labore nisi cumque exercitationem deleniti. Placeat impedit eius amet, inventore commodi rem dolorum magni quisquam itaque iste dolorem consectetur doloremque suscipit odit. Unde est iure saepe, quam perferendis totam autem sit temporibus modi consectetur vel. Nobis suscipit sunt autem magnam vel ut sapiente unde quos odit vitae ullam dicta iure placeat pariatur numquam ea necessitatibus architecto, repellendus aliquam ratione quidem temporibus, sed eius. Vitae, nemo! Labore earum veritatis tempore magnam culpa quod explicabo, dolore eos neque aliquam placeat, ea dolor est perspiciatis ipsa facere odit sed numquam voluptatibus alias illo! Hic amet ipsum unde rem fuga modi iure omnis explicabo qui nam quod laudantium, quas cupiditate quia, deserunt blanditiis molestiae odit quos in impedit, soluta praesentium assumenda voluptate quasi. Necessitatibus voluptas tempore sed vel suscipit itaque officia, veritatis porro aliquid culpa. Doloribus veniam facilis modi numquam culpa facere dolores id vitae voluptatum rerum commodi ducimus consectetur fuga consequuntur aliquid a dicta amet, ipsum enim quo!</p>
<p>Dolores laborum, praesentium incidunt recusandae accusamus facilis debitis unde porro libero dolore ipsam, ratione eligendi modi reprehenderit beatae. Libero animi molestiae earum at corporis cumque iure. Autem tempore modi expedita omnis optio animi voluptatem qui accusamus quaerat velit vitae repudiandae nemo nobis culpa, ipsum distinctio temporibus, sunt facere! Aliquam sit dolores obcaecati quod autem praesentium, earum reprehenderit eligendi quia atque necessitatibus temporibus sint mollitia et eum quo qui animi fugiat ab nesciunt similique dolorum aperiam. Dolorum odio laborum dolores suscipit iste, harum debitis doloremque quisquam explicabo et pariatur veritatis in soluta, officiis dolore cupiditate tempore dolorem voluptates temporibus nostrum. Ut doloremque voluptatum ipsa voluptates adipisci dignissimos dolor beatae nemo porro ipsam illum itaque ipsum omnis, repellendus voluptas mollitia aut odit ea assumenda veniam aliquid eum quas eius. Magnam aperiam ad aspernatur neque soluta eligendi, distinctio provident aut ut accusamus sunt ullam ab in ipsa voluptatum temporibus explicabo. Ea omnis accusamus adipisci tempora eaque vitae nulla at dolore quisquam dolorem error tenetur laborum cum distinctio officiis vero quos inventore numquam amet in corporis, ad et. Et, possimus. Incidunt nostrum aliquam illo minima in nemo similique numquam magnam omnis adipisci consectetur quas, non perspiciatis quae harum commodi reiciendis, culpa provident exercitationem quisquam.</p>
<p>Labore, consequatur? Voluptate similique ut, voluptates ullam mollitia impedit sed labore natus dignissimos distinctio recusandae praesentium quae nam incidunt rerum corporis, expedita ex rem necessitatibus eveniet corrupti modi quia animi magnam. Maxime voluptatem est saepe qui magni optio obcaecati aspernatur illo incidunt? Maiores corrupti impedit quam quas blanditiis dicta numquam! Aut possimus nesciunt, quas quam ut eius. Ipsam blanditiis consectetur nam odit. Sit possimus ut vero fugiat harum natus nostrum repellat delectus quidem autem, aliquam soluta? Enim esse architecto, deleniti dignissimos sed beatae quidem facilis voluptate, eius neque nihil perspiciatis voluptates a ipsum ea? Soluta, pariatur nulla suscipit eos repellendus sapiente et iusto? Nisi, dignissimos! Sequi consequatur maxime laudantium quaerat laborum fugiat, odit fugit aperiam. Quos autem facere repudiandae. Vero, quasi assumenda. Qui aperiam, aliquam dolorem commodi ipsam sint magni veritatis, consequuntur repellendus nisi mollitia temporibus nemo ut cumque tenetur cum praesentium pariatur quia facilis aspernatur nulla velit? Rerum itaque perferendis tenetur culpa repellendus quisquam expedita placeat, laborum dolor veritatis officia iure quasi, ab, aspernatur velit fugiat labore consectetur dolorum repudiandae fugit! Facere quis iusto impedit, laborum earum soluta dolores incidunt fugit dicta voluptas quae id porro aut eius ipsam obcaecati harum nobis quidem tempora consectetur nulla deserunt nisi aperiam!</p>
<p>Veritatis nesciunt aliquam consequuntur maxime atque voluptatum asperiores labore facilis voluptatem doloribus quam autem molestiae dicta dolore soluta mollitia enim laboriosam, aspernatur unde. Eligendi velit provident sunt! Tempora dolorem consequuntur magnam, placeat excepturi mollitia possimus distinctio, fugit laborum ratione cum aperiam rem iste corporis fugiat? Totam, nobis ipsam? Nulla pariatur repellendus, commodi ratione numquam corporis minus nemo ullam enim. Magni, rerum. Doloribus, debitis earum quisquam asperiores tenetur vel eveniet? Nisi rem architecto maxime quas quibusdam repellat eveniet, facere praesentium a unde dolores voluptas error enim quis doloribus vero assumenda illo, vitae autem. Suscipit id mollitia pariatur, repellendus explicabo harum assumenda maiores placeat eaque neque? Explicabo consequatur nostrum itaque beatae officia officiis quam, id accusantium, velit possimus cumque dolorem asperiores, corporis reiciendis nobis atque. Aliquam labore reiciendis deleniti impedit sint nulla, sapiente voluptatem corrupti laborum accusantium dicta iusto repellat ratione. Aspernatur, nobis. Modi voluptas ducimus sit unde iusto, officia laborum non veritatis animi iste cupiditate sint expedita sequi maxime accusamus nemo et doloribus nostrum! Numquam ratione saepe magni deleniti architecto libero voluptatem earum distinctio, harum velit nisi porro nemo, at incidunt aliquam. Dolor maiores quas perferendis provident animi molestiae eos ullam facilis quam nulla saepe, expedita iusto. Excepturi minus dicta iusto.</p>
<p>Placeat natus maxime accusamus autem doloremque error nemo neque qui soluta aliquam nisi, dicta, voluptatum quibusdam doloribus incidunt? Inventore cupiditate reprehenderit quisquam tempora harum totam accusantium repellendus minus? Dicta voluptatem quas rerum quia atque quis adipisci. Itaque eveniet architecto cumque culpa laboriosam. Neque ullam culpa perspiciatis veniam labore debitis impedit! Dolorem provident ad doloremque nemo excepturi autem tempore rerum. Odit veritatis ex facilis nisi saepe, esse modi soluta officiis tenetur nam nihil nobis minus accusamus error perferendis totam eveniet aspernatur dolorum illum vitae? Deserunt libero explicabo mollitia alias quisquam eos, illum ab accusantium sed voluptas accusamus in, excepturi sapiente id praesentium error doloremque dignissimos sequi autem sit quas? Fugiat excepturi totam veritatis id delectus reprehenderit exercitationem, commodi quod placeat repellendus aspernatur voluptatibus velit quisquam culpa aut sapiente similique corporis! Voluptatum laboriosam quidem veniam neque cumque? Doloremque aut enim modi maxime itaque dicta! Aut alias nam magni aliquid? Nesciunt tempora impedit exercitationem tenetur dolor quisquam, quas ut explicabo deleniti nemo cupiditate officiis error, consectetur sapiente? Nisi laboriosam neque consequatur possimus eum ab ad soluta modi non voluptas atque vel quos ipsa maxime dignissimos earum aut autem facilis quibusdam voluptatibus magni, suscipit temporibus accusantium et. Rerum, repudiandae iure! Nam accusantium architecto culpa!</p>
<p>Nemo eligendi eaque deserunt nostrum, eius officiis adipisci, recusandae amet voluptates consectetur, eum deleniti doloremque ipsa ad culpa rem! Eligendi, assumenda dolorum nobis totam illum possimus expedita quas veritatis provident maiores doloribus similique voluptate ea ratione! Dolorum perspiciatis quae magni voluptas aliquid nulla voluptate aliquam, perferendis distinctio facilis dolor reiciendis totam accusantium rem esse laborum nobis accusamus quas labore possimus temporibus autem laboriosam. Architecto iure dolor explicabo quia, exercitationem rerum optio deleniti perferendis veniam, commodi illum quidem? Corporis eum numquam, dolore nam a, rerum perspiciatis reiciendis neque doloremque, earum debitis amet iusto quibusdam molestias hic. Ratione exercitationem vero repellendus quaerat maiores accusantium modi officia, possimus enim doloremque eius voluptate a maxime nam voluptatibus sapiente fuga commodi quia reiciendis earum. Iusto tenetur dolore earum est adipisci fuga doloremque vel officiis aut deleniti et, ipsam, quasi blanditiis corrupti fugit consequatur necessitatibus ex veniam eius architecto! Dolorem veniam, quos consequatur mollitia quidem officia alias, necessitatibus distinctio deserunt fugiat doloremque quis ab aut natus porro, tempore qui hic? Earum, voluptates maiores repellat ipsa minima in eveniet quam sed delectus eaque quidem adipisci sit alias, magnam unde cum facere dolorem voluptatibus numquam blanditiis. Autem aut voluptas temporibus minima voluptates labore porro similique quam soluta odio.</p>
            
          
!
            
              const scrollRT = (function () {
  const scroll2 = (function () {
    let myReq;

    const e = 0.0000001;
    function epsilon(x) {
      return Math.max(x, e);
    }

    return function (xB, yB, duration=0) {
      return new Promise(function (resolve) {
        if (myReq) {
          console.log('cancel raf');
          cancelAnimationFrame(myReq); // cancel any previous raf
        }

        const xA = window.scrollX;
        const yA = window.scrollY;

        //
        // limit x and y (see: https://stackoverflow.com/a/17690149/133327)
        //

        xB = Math.max(xB, 0);
        xB = Math.min(xB, document.body.offsetWidth - window.innerWidth);

        yB = Math.max(yB, 0);
        yB = Math.min(yB, document.body.offsetHeight - window.innerHeight);

        // avoid division by 0
        duration = epsilon(duration);

        // start timestamp
        const start = window.performance.now();

        function step(timestamp) {
          var t = timestamp - start;
          const progress = t/duration;

          // draw
          window.scrollTo(
            xA+(xB-xA)*progress,
            yA+(yB-yA)*progress
          );

          if (t < duration) {
            myReq = requestAnimationFrame(step); // next frame
          } else {
            // STOP
            myReq = undefined;
            resolve();
          }
        }

        myReq = requestAnimationFrame(step);
      });

    }
  }).call(this);

  return function (duration=0, cb=function () {}) {
    return new Promise(async function (resolve) {
      console.log('down');
      await scroll2(0, 1e9, duration/2);

      console.log('up');
      await scroll2(0, 0, duration/2);

      cb && cb();
      resolve();
    });
  }
})();

scrollRT(3000, function () {alert('finito pepito')});


            
          
!
999px
🕑 One or more of the npm packages you are using needs to be built. You're the first person to ever need it! We're building it right now and your preview will start updating again when it's ready.

Console