diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a8cbe9d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+
+node_modules
+package-lock.json
+experiments
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 0de8c9e..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 thednp
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/README.md b/README.md
deleted file mode 100644
index afec5ec..0000000
--- a/README.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# kute.js
-A minimal Native Javascript tweening engine forked from tween.js. Since most of web developers don't actually use yoyo, repeat, play/pause/resume/timeline/whatever or tweening array values (processed with array interpolation functions), I've removed them. kute.js is like a merge of my own jQueryTween with tween.js, but generally it's a much more smarter build. You link the script at your ending <body> tag and write one line to do just about any animation you can think of.
-
-# CDN
-Thanks to jsdelivr, we have CDN link here.
-
-# Basic Usage
-At a glance, you can write one line and you're done.
-
-//vanilla js
-new KUTE.Animate(el,options);
-
-//with jQuery plugin
-$('selector').Kute(options);
-
-
-
-# Advanced Usage
-Quite easily, you can write 'bit more lines and you're making the earth go round.
-
-//vanilla js
-new KUTE.Animate(el, {
- //options
- from : {},
- to : {},
- duration: 500,
- delay : 0,
- easing : 'exponentialInOut',
- start : functionOne, // run function when tween starts
- finish : functionTwo, // run function when tween finishes
- special : functionThree // run function while tween runing
- }
-);
-
-//with jQuery plugin
-$('selector'). Kute({
- //options
- from : {},
- to : {},
- duration: 500,
- delay : 0,
- easing : 'exponentialInOut',
- start : functionOne, // run function when tween starts
- finish : functionTwo, // run function when tween finishes
- special : functionThree // run function while tween runing
- }
-);
-
-
-# Full distribution (12Kb min)
-It does most of the animation work you need.
-* size: width and height
-* colors: text color and background-color (values )
-* transform: translate3D, scale, rotateX, rotateY, rotateZ
-* position: top, left (ideal for IE9- translate3D(left,top,0) fallback)
-* zoom: for scale on IE8 fallback
-* backgroundPosition
-* window scroll
-
-# Base Distribution (9Kb min)
-This distribution is much lighter and more suitable for most projects:
-* size: width and height
-* transform: translate3D, scale, rotateX, rotateY, rotateZ
-* position: top, left (ideal for IE9- translate3D(left,top,0) fallback)
-* zoom: for scale on IE8 fallback
-* window scroll
-
-#jQuery Plugin
-That's right, there you have it, just a few bits of code to bridge the awesome kute.js to your jQuery projects.
-
-# What else it does
-* computes option values properly according to their measurement unit (px,%,deg,etc)
-* properly handles IE10+ 3D transforms when elements have a perspective
-* it converts RGBA & HEX colors to RGB and tweens the inner values, then ALWAYS updates color via HEX
-* properly replaces top, centered or any other background position with proper value to be able to tween
-* for most supported properties it reads the current element style property value as initial value (via currentStyle || getComputedStyle)
-* allows you to add 3 different callbacks: start, update, finish, and they can be set as tween options (so no more nested functions needed)
-* since translate3D is best for performance, kute.js will always uses it
-* accepts "nice & easy string" easing functions, like 'linear' or 'exponentialOut' (removes the use of the evil eval, making development easier and closer to fast development standards :)
-* uses 31 easing functions, all Robert Penner's easing equations
-* like mentioned above, for IE8 zoom is used for transform: scale(0.5), it's not perfect as the object moves from it's floating point to the middle, and some left & top adjustments can be done, but to keep it simple and performance driven, I leave it as is, it's better than nothing.
-
-# Browser Support
-Since most modern browsers can handle pretty much everything, legacy browsers need some help, so give them polyfills.io. Also kute.js needs to know when doing stuff for IE9- like my other scripts here, I highy recommend Paul Irish's conditional stylesheets guides to add ie ie[version] to your site's HTML tag.
-
-# Demo
-coming soon..
-
-# License
-MIT License
diff --git a/assets/css/kute.css b/assets/css/kute.css
new file mode 100644
index 0000000..25b4ca5
--- /dev/null
+++ b/assets/css/kute.css
@@ -0,0 +1,1223 @@
+/*!
+ * KUTE.js | https://github.com/thednp/kute.js/
+ * Licensed under MIT (https://github.com/thednp/kute.js/blob/master/LICENSE)
+ */
+
+/* GLOBAL STYLES
+-------------------------------------------------- */
+body {
+ color: #ccc;
+ background-color: #08263d;
+ position: relative
+}
+
+.condensed {
+ font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal !important
+}
+
+/* smooth scroll */
+html {
+ scroll-behavior: smooth;
+}
+
+/* WRAPPER STYLES
+-------------------------------------------------- */
+.content-wrap { max-width: 80%; position: relative; margin: 0 auto; clear: both; }
+
+@media (min-width: 1020px){
+ .content-wrap { max-width: 100%; width: 980px; }
+}
+
+/* check div consistency
+div { background-color: rgba(0,0,0,0.2) }*/
+
+/* TYPO STYLES
+-------------------------------------------------- */
+p, ul, ol { margin: 0 0 12px }
+h1, h2, h3, h4, strong {color: #fff}
+h1, h2, h3, h4, h5 { margin: 24px 0; font-weight: bold; }
+h1 { font-size: 54px; letter-spacing:-2px; line-height: 48px; }
+h2 { font-size: 46px; letter-spacing:-1px; line-height: 48px; }
+h3 { font-size: 32px; letter-spacing:-1px; line-height: 36px; }
+h4 { font-size: 24px; letter-spacing: 0px; }
+/* h1, h3, [class*="col"] > h4 {margin: 0 0 20px} */
+
+h1.border,
+h2.border,
+h3.border,
+.lead.border {
+ padding-bottom: 24px;
+ margin-bottom: 24px;
+ border-bottom: 1px solid rgba(150,150,150,0.5)
+}
+
+.text-right { text-align: right }
+.text-center { text-align: center }
+.text-left { text-align: left }
+
+.float-left {float:left}
+.float-right {float:right}
+
+.margin-bottom { margin-bottom: 24px !important; }
+
+.lead { font-size: 18px; color: #fff }
+
+.nomargin { margin: 0px !important }
+@media (min-width: 768px){
+ .nomarginlarge { margin: 0 !important }
+}
+
+b,strong {font-weight: 600;color:white}
+
+footer {
+ clear: both; overflow: hidden; margin-top: 60px
+}
+
+footer .content-wrap {
+ padding-top: 5px;
+ border-top: 1px solid rgb(120,120,120);
+ border-top: 1px solid rgba(255,255,255,0.2);
+}
+
+footer p {margin: 0 0 10px}
+
+/* site-wrapper */
+.site-wrapper { position: relative; overflow: hidden; }
+
+.head-title { margin-top: 60px }
+
+/* navbar */
+.navbar {
+ display: flex;
+ /* justify-content: space-evenly; */
+ flex-direction: column;
+}
+
+@media (min-width:768px) {
+ .navbar {
+ align-items: center;
+ flex-direction: row;
+ }
+}
+
+.nav-wrapper {
+ flex-basis: 100%
+}
+.navbar-wrapper { position: relative; clear: both; background: rgba(0,0,0,0.7); padding-bottom: 20px; }
+.navbar-wrapper .content-wrap { padding: 20px 0 0; }
+
+.navbar-wrapper h1 {
+ color: #fff;
+ font-size: 32px; line-height: 24px; letter-spacing: 0px;
+ float: left; padding-right: 24px; margin-right: 24px; margin-top:0; margin-bottom: 0;
+ border-right: 1px solid rgba(255,255,255,0.2)
+}
+.navbar-wrapper h1 span { font-size: 24px; color: #555; letter-spacing: -1px; }
+.navbar-wrapper h1.active span { color: #ffd626 }
+.navbar-wrapper .nav { padding: 0; margin: 0; display: flex; flex-direction: row; }
+.nav > li { display: block; line-height: 25px; list-style: none }
+.nav > li:not(:last-child) { margin-right: 12px }
+.nav li.active > a { color: #ffd626 }
+.nav li a { color: #ccc }
+.nav li a:hover, .nav li a:focus { text-decoration: none }
+
+/* share */
+#share { display: flex; flex-direction: row; margin: 0; padding: 0 }
+#share li { list-style: none }
+#share a { text-decoration: none; }
+#share .icon {width:26px; height:26px; vertical-align: middle;}
+#share path { fill: none; stroke: currentColor; stroke-width: 50; }
+#share li:not(:last-child) { margin-right: 10px; }
+#share li:hover path { fill: currentColor; }
+#share li:hover a.facebook-link { color: #3578E5}
+#share li:hover a.twitter-link { color: #1da1f2 }
+
+
+@media (max-width: 768px){
+ .navbar-wrapper h1 {border: 0}
+ .navbar-wrapper .nav,
+ .navbar-wrapper h1 { float: none; }
+}
+
+
+
+/* featurettes */
+.featurettes {
+ background: #fff;
+ padding: 60px 0;
+ width: 100%;
+ clear: both;
+ margin: 60px 0;
+ float: left;
+ color: #777;
+}
+/*.featurettes.dark {background: #222}*/
+.featurettes h1,
+.featurettes h2,
+.featurettes h3,
+.featurettes h4,
+.featurettes b,
+.featurettes .lead,
+.featurettes strong {color: #222;}
+.featurettes a {color: #2196F3}
+
+.content-wrap .featurettes { margin: 0 0 20px; padding: 20px 0 0 20px; display: inline-block; border-radius: 10px; position: relative }
+
+/* example box */
+.example-box {
+ font-size: 40px; line-height: 150px; text-align:center; font-weight: bold;
+ float: left; position:relative;
+ width: 150px; height: 150px;
+ border-radius: 5px; margin: 0 20px 20px 0;
+ color: white
+}
+/*.example-box-model {
+ font-size: 40px; text-align:center; font-weight: bold;
+ float: left; position:relative;
+ border-radius: 5px; margin: 0 20px 20px 0;
+}
+
+svg.example-box { width: auto; height: auto; }*/
+
+.easing-example {float: none; font-size: 24px; width: 320px}
+.example-buttons {position: absolute; top: 18px; right:0}
+.example-buttons + .example-buttons { top: auto; bottom: 18px}
+
+/* text properties example */
+h1.example-item {
+ font-size: 50px;
+ line-height:50px;
+ color: #333;
+ /* opacity: 0; */
+}
+
+h1.example-item span {
+ line-height: inherit;
+ display: inline;
+ vertical-align: top;
+}
+
+
+
+/* UTILITY STYLES
+-------------------------------------------------- */
+.clearfix:before,
+.clearfix:after {
+ content: " ";
+ display: table;
+}
+.clearfix:after {
+ clear: both;
+}
+.center-block {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+.pull-right {
+ float: right !important;
+}
+.pull-left {
+ float: left !important;
+}
+.hide {
+ display: none !important;
+}
+.show {
+ display: block !important;
+}
+.invisible {
+ visibility: hidden;
+}
+.text-hide {
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+}
+.text-olive { color: #9C27B0;}
+.text-indigo { color: #673AB7;}
+.text-green { color: #4CAF50;}
+.text-red { color: #e91b1f;}
+.text-yellow { color: #ffd626;}
+.text-blue { color: #2196F3;}
+.text-pink { color: #E91E63;}
+.text-orange { color: #FF5722;}
+.text-lime { color: #CDDC39;}
+.text-teal { color: #009688;}
+.text-strong { font-weight: bold }
+
+.hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+
+.hiddenoverflow { overflow: hidden }
+
+.media {float: left; margin: 5px 20px 0 0; height: auto; font-size: 64px; line-height: 64px; width: 64px; text-align: center}
+
+/* COLUMN STYLES
+-------------------------------------------------- */
+.columns { position: relative; width: 100%; margin: 0 -20px; display:flex; flex-wrap: wrap; }
+.columns > [class*="col"] { padding: 0 20px; position: relative }
+.columns.welcome {min-height:330px}
+
+@media (min-width: 768px){
+ .columns { flex-direction: row; flex-wrap: wrap }
+ .columns.welcome {min-height:none}
+
+
+ .col2 { max-width: 50%; flex: 0 0 50% }
+ .col3 { max-width: 33.33%; flex: 0 0 33.33% }
+ .col4 { max-width: 25%; flex: 0 0 25% }
+ .col8 { max-width: 75%; flex: 0 0 75% }
+ .col9 { max-width: 66.65%; flex: 0 0 66.65% }
+}
+
+.table { display: table; height: 480px }
+.cell { display: table-cell; vertical-align: middle }
+
+@media (max-width: 479px){
+ .table { height: 320px }
+}
+@media (min-width: 480px) {
+ [class*="col"].border:not(:first-child) {
+ border-left: 1px solid rgba(150,150,150,0.5);
+ }
+}
+
+
+/* STYLING CONTENT
+-------------------------------------------------- */
+/* images */
+img { max-width: 100% }
+img.circle { border-radius: 50% }
+
+/* links */
+a {
+ color: #ffd626;
+ text-decoration: none;
+}
+a:hover,
+a:focus {
+ color: #4CAF50;
+ text-decoration: underline;
+}
+a:focus {
+ outline: none;
+}
+
+hr {
+ border: 1px solid #444;
+ margin: 10px 0;
+}
+
+/* buttons */
+.btns {
+ display: inline-flex;
+ flex: 1 1 auto;
+ justify-content: center;
+ text-align: center;
+}
+.btns .btn { display:inline; line-height: 1; margin: 0 3px 3px 0;}
+.btn { padding: 12px 15px; color:#fff; border:0; background-color: #999; line-height: 44px; }
+.bg-gray { color:#fff; background-color: #555; fill: #555 }
+.btn.active { background-color: #2196F3 }
+.featurettes .btn, .featurettes .btn:hover, .featurettes .btn:active, .featurettes .btn:focus,
+.btn:hover, .btn:active, .btn:focus { color: #fff; }
+.btn:hover, .btn:active, .btn:focus { text-decoration: none; background-color: #777}
+.btn-olive, .bg-olive {background-color: #9C27B0; color: #fff; fill: #9C27B0} .btn-olive:hover, .btn-olive:active, .btn-olive:focus { background-color: #FF5722 }
+.btn-indigo, .bg-indigo { background-color: #673AB7; color: #fff; fill: #673AB7} .btn-indigo:hover, .btn-indigo:active, .btn-indigo:focus { background-color: #ffd626; color:#000 }
+.btn-green, .bg-green { background-color: #4CAF50; color: #fff; fill: #4CAF50} .btn-green:hover, .btn-green:active, .btn-green:focus { background-color: #9C27B0 }
+.btn-red, .bg-red { background-color: #e91b1f; color: #fff; fill: #e91b1f} .btn-red:hover, .btn-red:active, .btn-red:focus { background-color: #4CAF50 }
+.btn-yellow, .bg-yellow { background-color: #ffd626; color:#000 !important; fill: #ffd626} .btn-yellow:hover, .btn-yellow:active, .btn-yellow:focus { background-color: #4CAF50; color: #fff !important }
+.btn-blue, .bg-blue { background-color: #2196F3; color: #fff; fill: #2196F3} .btn-blue:hover, .btn-blue:active, .btn-blue:focus { background-color: #e91b1f }
+.btn-pink, .bg-pink { background-color: #E91E63; color: #fff; fill: #E91E63} .btn-pink:hover, .btn-pink:active, .btn-pink:focus { background-color: #2196F3 }
+.btn-orange, .bg-orange { background-color: #FF5722; color: #fff; fill: #FF5722} .btn-orange:hover, .btn-orange:active, .btn-orange:focus { background-color: #4CAF50 }
+.btn-lime, .bg-lime { background-color: #CDDC39; color: #000; fill: #CDDC39} .btn-lime:hover, .btn-lime:active, .btn-lime:focus { background-color: #e91b1f }
+.btn-teal, .bg-teal { background-color: #009688; color: #fff; fill: #009688} .btn-teal:hover, .btn-teal:active, .btn-teal:focus { background-color: #9C27B0 }
+
+.bg-light {background-color: #fff; color: #777; fill: #fff}
+
+.icon-large { font-size: 78px; line-height: 0.64; text-shadow: 2px 2px 0 #FFF,3px 3px 0px #ccc;}
+.icon-large.fa-cogs:before { color: #4CAF50 }
+.icon-large.fa-rocket:before { color: #673AB7 }
+.icon-large.fa-code-fork:before { color: #9C27B0 }
+
+.btn span {
+ font-size: 150%;
+ vertical-align: middle;
+}
+
+.btn span.right { margin: 0 0 0 10px }
+.btn span.left { margin: 0 10px 0 0 }
+
+.btn-group { position: relative; display: inline-block }
+.btn-group ul {
+ background: #555; width: 200px; color: #ccc;
+ position: absolute; bottom: -9999em; left: 0; list-style: none;
+ overflow: auto; padding: 0; z-index: 5
+}
+.btn-group ul li { padding: 5px 15px; cursor: pointer; display: block }
+.btn-group ul.subnav li { padding: 0; }
+.btn-group ul.subnav li > a { padding: 5px 15px; display: block }
+.btn-group ul li.titlef { font-weight: bold; }
+.btn-group ul li:hover {
+ background: #333;
+}
+
+.btn-group.open ul {
+ bottom: 26px;
+}
+.nav .btn-group ul {bottom: auto; top: -999em}
+.nav .btn-group.open ul {
+ top: 36px;
+}
+@media (max-width: 768px){
+ .nav .btn-group.open ul {
+ top: 30px;
+ }
+ #easings {left: auto; right: 0}
+}
+
+/* Style the scrolBar for modern browsers */
+.btn-group ul::-webkit-scrollbar {
+ width: 7px;
+}
+.btn-group ul::-webkit-scrollbar-thumb {
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: rgba(92,92,92,0.8);
+ box-shadow: inset 0 0 0 1px rgba(255,255,255,0.5);
+}
+.btn-group ul::-webkit-scrollbar-thumb:window-inactive {
+ background: rgba(255,255,255,0.4);
+}
+
+/* caret */
+.caret {
+ display: inline-block;
+ width: 0;
+ height: 0;
+ margin-left: 2px;
+ vertical-align: middle;
+ border-top: 4px dashed;
+ border-top: 4px solid\9;
+ border-right: 4px solid transparent;
+ border-left: 4px solid transparent;
+}
+
+/* STYLE CODE WRAPPING
+-------------------------------------------------- */
+code, kbd, pre {
+ font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
+}
+pre {
+ display: block;
+ padding: 10px 15px !important;
+ margin: 0 0 20px !important;
+ line-height: 2.08;
+ color: #999;
+ word-break: break-all;
+ background-color: rgb(33,33,33);
+ background-color: rgba(11,11,11,0.5);
+ /*border: 1px solid rgb(22,22,22);
+ border: 1px solid rgba(11,11,11,0.8);*/
+ border-radius: 4px;
+ text-align: left;
+ position: relative;
+ font-size: 15px;
+}
+pre.language-javascript:after,
+pre.language-clike:after,
+pre.language-markup:after {
+ position: absolute; top:0; right:0; padding: 2px 5px;
+ background: #000;
+ border-radius: 0px 0px 0px 5px;
+ font-family: Helvetica, Arial, sans-serif;
+ font-size: 12px; color: #999;
+}
+
+pre.language-javascript:after {content: 'JavaScript';}
+pre.language-clike:after {content: 'node';}
+pre.language-markup:after {content: 'HTML';}
+pre code {background: none;padding: 0; font-weight: normal; font-size: 100%;}
+code {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #999;
+ background-color: #111;
+ border-radius: 4px;
+ white-space: pre;
+ font-weight: bold
+}
+
+kbd {
+ padding: 2px 4px;
+ font-size: 90%;
+ color: #333;
+ background-color: #eee;
+ border-radius: 3px;
+ font-weight: bold
+}
+
+#rectangle {transform-origin: 50% 50%;}
+
+.w-20{
+ width:20% !important
+}
+.w-25{
+ width:25% !important
+}
+.w-33{
+ width:33.33% !important
+}
+.w-50{
+ width:50% !important
+}
+.w-66{
+ width:66.67% !important
+}
+.w-75{
+ width:75% !important
+}
+.w-80{
+ width:80% !important
+}
+.w-100{
+ width:100% !important
+}
+.w-auto{
+ width:auto !important
+}
+.h-20vh{
+ height:20vh !important
+}
+.h-25vh{
+ height:25vh !important
+}
+.h-33vh{
+ height:33.33vh !important
+}
+.h-50vh{
+ height:50vh !important
+}
+.h-66vh{
+ height:66.67vh !important
+}
+.h-75vh{
+ height:75vh !important
+}
+.h-80vh{
+ height:80vh !important
+}
+.h-100{
+ height:100% !important
+}
+.h-auto{
+ height:auto !important
+}
+@media(min-width: 768px){
+ .w-md-20{
+ width:20% !important
+ }
+ .w-md-25{
+ width:25% !important
+ }
+ .w-md-33{
+ width:33.33% !important
+ }
+ .w-md-50{
+ width:50% !important
+ }
+ .w-md-66{
+ width:66.67% !important
+ }
+ .w-md-75{
+ width:75% !important
+ }
+ .w-md-80{
+ width:80% !important
+ }
+ .w-md-100{
+ width:100% !important
+ }
+ .w-md-auto{
+ width:auto !important
+ }
+ .h-md-20vh{
+ height:20vh !important
+ }
+ .h-md-25vh{
+ height:25vh !important
+ }
+ .h-md-33vh{
+ height:33.33vh !important
+ }
+ .h-md-50vh{
+ height:50vh !important
+ }
+ .h-md-66vh{
+ height:66.67vh !important
+ }
+ .h-md-75vh{
+ height:75vh !important
+ }
+ .h-md-80vh{
+ height:80vh !important
+ }
+ .h-md-100{
+ height:100% !important
+ }
+ .h-md-auto{
+ height:auto !important
+ }
+}
+.d-none{
+ display:none
+}
+.d-inline{
+ display:inline
+}
+.d-flex{
+ display:flex
+}
+.d-block{
+ display:block
+}
+@media(min-width: 768px){
+ .d-md-none{
+ display:none
+ }
+ .d-md-inline{
+ display:inline
+ }
+ .d-md-flex{
+ display:flex
+ }
+ .d-md-block{
+ display:block
+ }
+}
+.flex-row{
+ flex-direction:row
+}
+.flex-row-reverse{
+ flex-direction:row-reverse
+}
+.flex-column{
+ flex-direction:column
+}
+.flex-column-reverse{
+ flex-direction:column-reverse
+}
+.align-items-start{
+ align-items:flex-start
+}
+.align-items-end{
+ align-items:flex-end
+}
+.align-items-center{
+ align-items:center
+}
+.align-items-baseline{
+ align-items:baseline
+}
+.align-items-stretch{
+ align-items:stretch
+}
+.align-self-start{
+ align-self:flex-start
+}
+.align-self-end{
+ align-self:flex-end
+}
+.align-self-center{
+ align-self:center
+}
+.align-self-baseline{
+ align-self:baseline
+}
+.align-self-stretch{
+ align-self:stretch
+}
+.justify-content-start{
+ justify-content:flex-start
+}
+.justify-content-end{
+ justify-content:flex-end
+}
+.justify-content-center{
+ justify-content:center
+}
+.justify-content-between{
+ justify-content:space-between
+}
+.justify-content-around{
+ justify-content:space-around
+}
+.align-content-start{
+ align-content:flex-start
+}
+.align-content-end{
+ align-content:flex-end
+}
+.align-content-center{
+ align-content:center
+}
+.align-content-around{
+ align-content:space-around
+}
+.align-content-stretch{
+ align-content:stretch
+}
+.flex-fill{
+ flex:1 1 auto !important
+}
+.flex-grow-1{
+ flex-grow:1
+}
+.flex-grow-0{
+ flex-grow:0
+}
+.flex-shrink-1{
+ flex-shrink:1
+}
+.flex-shrink-0{
+ flex-shrink:0
+}
+.flex-nowrap{
+ flex-wrap:nowrap
+}
+.flex-wrap{
+ flex-wrap:wrap
+}
+.flex-wrap-reverse{
+ flex-wrap:wrap-reverse
+}
+@media(min-width: 768px){
+ .flex-md-row{
+ flex-direction:row
+ }
+ .flex-md-row-reverse{
+ flex-direction:row-reverse
+ }
+ .flex-md-column{
+ flex-direction:column
+ }
+ .flex-md-column-reverse{
+ flex-direction:column-reverse
+ }
+ .align-items-md-start{
+ align-items:flex-start
+ }
+ .align-items-md-end{
+ align-items:flex-end
+ }
+ .align-items-md-center{
+ align-items:center
+ }
+ .align-items-md-baseline{
+ align-items:baseline
+ }
+ .align-items-md-stretch{
+ align-items:stretch
+ }
+ .align-self-md-start{
+ align-self:flex-start
+ }
+ .align-self-md-end{
+ align-self:flex-end
+ }
+ .align-self-md-center{
+ align-self:center
+ }
+ .align-self-md-baseline{
+ align-self:baseline
+ }
+ .align-self-md-stretch{
+ align-self:stretch
+ }
+ .justify-content-md-start{
+ justify-content:flex-start
+ }
+ .justify-content-md-end{
+ justify-content:flex-end
+ }
+ .justify-content-md-center{
+ justify-content:center
+ }
+ .justify-content-md-between{
+ justify-content:space-between
+ }
+ .justify-content-md-around{
+ justify-content:space-around
+ }
+ .flex-md-fill{
+ flex:1 1 auto !important
+ }
+ .flex-md-grow-1{
+ flex-grow:1
+ }
+ .flex-md-grow-0{
+ flex-grow:0
+ }
+ .flex-md-shrink-1{
+ flex-shrink:1
+ }
+ .flex-md-shrink-0{
+ flex-shrink:0
+ }
+ .flex-md-nowrap{
+ flex-wrap:nowrap
+ }
+ .flex-md-wrap{
+ flex-wrap:wrap
+ }
+ .flex-md-wrap-reverse{
+ flex-wrap:wrap-reverse
+ }
+}
+
+.overflow-visible{
+ overflow:visible
+}
+.overflow-hidden{
+ overflow:hidden
+}
+.perspective{
+ perspective:500px;
+ backface-visibility:hidden
+}
+.perspective-1000{
+ perspective:1000px;
+ backface-visibility:hidden
+}
+.perspective-1500{
+ perspective:1500px;
+ backface-visibility:hidden
+}
+.m-0{
+ margin:0 !important
+}
+.m-1{
+ margin:.25rem !important
+}
+.m-2{
+ margin:.5rem !important
+}
+.m-3{
+ margin:1rem !important
+}
+.m-4{
+ margin:1.5rem !important
+}
+.m-5{
+ margin:3rem !important
+}
+.m-auto{
+ margin:auto !important
+}
+.mx-0{
+ margin-right:0 !important;
+ margin-left:0 !important
+}
+.mx-1{
+ margin-right:.25rem !important;
+ margin-left:.25rem !important
+}
+.mx-2{
+ margin-right:.5rem !important;
+ margin-left:.5rem !important
+}
+.mx-3{
+ margin-right:1rem !important;
+ margin-left:1rem !important
+}
+.mx-4{
+ margin-right:1.5rem !important;
+ margin-left:1.5rem !important
+}
+.mx-5{
+ margin-right:3rem !important;
+ margin-left:3rem !important
+}
+.mx-auto{
+ margin-right:auto !important;
+ margin-left:auto !important
+}
+.my-0{
+ margin-top:0 !important;
+ margin-bottom:0 !important
+}
+.my-1{
+ margin-top:.25rem !important;
+ margin-bottom:.25rem !important
+}
+.my-2{
+ margin-top:.5rem !important;
+ margin-bottom:.5rem !important
+}
+.my-3{
+ margin-top:1rem !important;
+ margin-bottom:1rem !important
+}
+.my-4{
+ margin-top:1.5rem !important;
+ margin-bottom:1.5rem !important
+}
+.my-5{
+ margin-top:3rem !important;
+ margin-bottom:3rem !important
+}
+.my-auto{
+ margin-top:auto !important;
+ margin-bottom:auto !important
+}
+.mt-0{
+ margin-top:0 !important
+}
+.mt-1{
+ margin-top:.25rem !important
+}
+.mt-2{
+ margin-top:.5rem !important
+}
+.mt-3{
+ margin-top:1rem !important
+}
+.mt-4{
+ margin-top:1.5rem !important
+}
+.mt-5{
+ margin-top:3rem !important
+}
+.mt-auto{
+ margin-top:auto !important
+}
+.mr-0{
+ margin-right:0 !important
+}
+.mr-1{
+ margin-right:.25rem !important
+}
+.mr-2{
+ margin-right:.5rem !important
+}
+.mr-3{
+ margin-right:1rem !important
+}
+.mr-4{
+ margin-right:1.5rem !important
+}
+.mr-5{
+ margin-right:3rem !important
+}
+.mr-auto{
+ margin-right:auto !important
+}
+.mb-0{
+ margin-bottom:0 !important
+}
+.mb-1{
+ margin-bottom:.25rem !important
+}
+.mb-2{
+ margin-bottom:.5rem !important
+}
+.mb-3{
+ margin-bottom:1rem !important
+}
+.mb-4{
+ margin-bottom:1.5rem !important
+}
+.mb-5{
+ margin-bottom:3rem !important
+}
+.mb-auto{
+ margin-bottom:auto !important
+}
+.ml-0{
+ margin-left:0 !important
+}
+.ml-1{
+ margin-left:.25rem !important
+}
+.ml-2{
+ margin-left:.5rem !important
+}
+.ml-3{
+ margin-left:1rem !important
+}
+.ml-4{
+ margin-left:1.5rem !important
+}
+.ml-5{
+ margin-left:3rem !important
+}
+.ml-auto{
+ margin-left:auto !important
+}
+.p-0{
+ padding:0 !important
+}
+.p-1{
+ padding:.25rem !important
+}
+.p-2{
+ padding:.5rem !important
+}
+.p-3{
+ padding:1rem !important
+}
+.p-4{
+ padding:1.5rem !important
+}
+.p-5{
+ padding:3rem !important
+}
+.px-0{
+ padding-right:0 !important;
+ padding-left:0 !important
+}
+.px-1{
+ padding-right:.25rem !important;
+ padding-left:.25rem !important
+}
+.px-2{
+ padding-right:.5rem !important;
+ padding-left:.5rem !important
+}
+.px-3{
+ padding-right:1rem !important;
+ padding-left:1rem !important
+}
+.px-4{
+ padding-right:1.5rem !important;
+ padding-left:1.5rem !important
+}
+.px-5{
+ padding-right:3rem !important;
+ padding-left:3rem !important
+}
+.py-0{
+ padding-top:0 !important;
+ padding-bottom:0 !important
+}
+.py-1{
+ padding-top:.25rem !important;
+ padding-bottom:.25rem !important
+}
+.py-2{
+ padding-top:.5rem !important;
+ padding-bottom:.5rem !important
+}
+.py-3{
+ padding-top:1rem !important;
+ padding-bottom:1rem !important
+}
+.py-4{
+ padding-top:1.5rem !important;
+ padding-bottom:1.5rem !important
+}
+.py-5{
+ padding-top:3rem !important;
+ padding-bottom:3rem !important
+}
+.pt-0{
+ padding-top:0 !important
+}
+.pt-1{
+ padding-top:.25rem !important
+}
+.pt-2{
+ padding-top:.5rem !important
+}
+.pt-3{
+ padding-top:1rem !important
+}
+.pt-4{
+ padding-top:1.5rem !important
+}
+.pt-5{
+ padding-top:3rem !important
+}
+.pr-0{
+ padding-right:0 !important
+}
+.pr-1{
+ padding-right:.25rem !important
+}
+.pr-2{
+ padding-right:.5rem !important
+}
+.pr-3{
+ padding-right:1rem !important
+}
+.pr-4{
+ padding-right:1.5rem !important
+}
+.pr-5{
+ padding-right:3rem !important
+}
+.pb-0{
+ padding-bottom:0 !important
+}
+.pb-1{
+ padding-bottom:.25rem !important
+}
+.pb-2{
+ padding-bottom:.5rem !important
+}
+.pb-3{
+ padding-bottom:1rem !important
+}
+.pb-4{
+ padding-bottom:1.5rem !important
+}
+.pb-5{
+ padding-bottom:3rem !important
+}
+.pl-0{
+ padding-left:0 !important
+}
+.pl-1{
+ padding-left:.25rem !important
+}
+.pl-2{
+ padding-left:.5rem !important
+}
+.pl-3{
+ padding-left:1rem !important
+}
+.pl-4{
+ padding-left:1.5rem !important
+}
+.pl-5{
+ padding-left:3rem !important
+}
+.vertical-align-top{
+ vertical-align:top
+}
+.vertical-align-middle{
+ vertical-align:middle
+}
+.vertical-align-bottom{
+ vertical-align:bottom
+}
+.vertical-align-baseline{
+ vertical-align:baseline
+}
+.vertical-align-text-top{
+ vertical-align:text-top
+}
+.vertical-align-text-bottom{
+ vertical-align:text-bottom
+}
+@media(min-width: 768px){
+ .vertical-align-md-top{
+ vertical-align:top
+ }
+ .vertical-align-md-middle{
+ vertical-align:middle
+ }
+ .vertical-align-md-bottom{
+ vertical-align:bottom
+ }
+ .vertical-align-md-baseline{
+ vertical-align:baseline
+ }
+ .vertical-align-md-text-top{
+ vertical-align:text-top
+ }
+ .vertical-align-md-text-bottom{
+ vertical-align:text-bottom
+ }
+}
+.b-position-center-top{
+ background-position:center top !important
+}
+.b-position-center{
+ background-position:center center !important
+}
+.b-position-center-bottom{
+ background-position:center bottom !important
+}
+.b-position-left-top{
+ background-position:left top !important
+}
+.b-position-left-center{
+ background-position:left center !important
+}
+.b-position-left-bottom{
+ background-position:left bottom !important
+}
+.b-position-right-top{
+ background-position:right top !important
+}
+.b-position-right-center{
+ background-position:right center !important
+}
+.b-position-right-bottom{
+ background-position:right bottom !important
+}
+@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){
+ .h-20vh{
+ height:216px !important
+ }
+ .h-25vh{
+ height:270px !important
+ }
+ .h-33vh{
+ height:359.964px !important
+ }
+ .h-50vh{
+ height:540px !important
+ }
+ .h-66vh{
+ height:720.036px !important
+ }
+ .h-75vh{
+ height:810px !important
+ }
+ .h-80vh{
+ height:864px !important
+ }
+ .h-100{
+ height:100% !important
+ }
+ .h-auto{
+ height:auto !important
+ }
+}
+@media screen and (-ms-high-contrast: active)and (min-width: 768px),(-ms-high-contrast: none)and (min-width: 768px){
+ .h-md-20vh{
+ height:216px !important
+ }
+ .h-md-25vh{
+ height:270px !important
+ }
+ .h-md-33vh{
+ height:359.964px !important
+ }
+ .h-md-50vh{
+ height:540px !important
+ }
+ .h-md-66vh{
+ height:720.036px !important
+ }
+ .h-md-75vh{
+ height:810px !important
+ }
+ .h-md-80vh{
+ height:864px !important
+ }
+ .h-md-100{
+ height:100% !important
+ }
+ .h-md-auto{
+ height:auto !important
+ }
+}
diff --git a/assets/css/prism.css b/assets/css/prism.css
new file mode 100644
index 0000000..b6092ab
--- /dev/null
+++ b/assets/css/prism.css
@@ -0,0 +1,226 @@
+/* PrismJS 1.20.0
+https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+scss&plugins=line-highlight+line-numbers */
+/**
+ * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
+ * Based on https://github.com/chriskempson/tomorrow-theme
+ * @author Rose Pritchard
+ */
+
+code[class*="language-"],
+pre[class*="language-"] {
+ color: #ccc;
+ background: none;
+ font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+ font-size: 1em;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ word-wrap: normal;
+ line-height: 1.5;
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+ padding: 1em;
+ margin: .5em 0;
+ overflow: auto;
+}
+
+:not(pre) > code[class*="language-"],
+pre[class*="language-"] {
+ background: #051725;
+}
+
+/* Inline code */
+:not(pre) > code[class*="language-"] {
+ padding: .1em;
+ border-radius: .3em;
+ white-space: normal;
+}
+
+.token.comment,
+.token.block-comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: #999;
+}
+
+.token.punctuation {
+ color: #ccc;
+}
+
+.token.tag,
+.token.attr-name,
+.token.namespace,
+.token.deleted {
+ color: #e2777a;
+}
+
+.token.function-name {
+ color: #6196cc;
+}
+
+.token.boolean,
+.token.number,
+.token.function {
+ color: #f08d49;
+}
+
+.token.property,
+.token.class-name,
+.token.constant,
+.token.symbol {
+ color: #f8c555;
+}
+
+.token.selector,
+.token.important,
+.token.atrule,
+.token.keyword,
+.token.builtin {
+ color: #cc99cd;
+}
+
+.token.string,
+.token.char,
+.token.attr-value,
+.token.regex,
+.token.variable {
+ color: #7ec699;
+}
+
+.token.operator,
+.token.entity,
+.token.url {
+ color: #67cdcc;
+}
+
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+
+.token.entity {
+ cursor: help;
+}
+
+.token.inserted {
+ color: green;
+}
+
+pre[data-line] {
+ position: relative;
+ padding: 1em 0 1em 3em;
+}
+
+.line-highlight {
+ position: absolute;
+ left: 0;
+ right: 0;
+ padding: inherit 0;
+ margin-top: 1em; /* Same as .prism’s padding-top */
+
+ background: hsla(24, 20%, 50%,.08);
+ background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
+
+ pointer-events: none;
+
+ line-height: inherit;
+ white-space: pre;
+}
+
+ .line-highlight:before,
+ .line-highlight[data-end]:after {
+ content: attr(data-start);
+ position: absolute;
+ top: .4em;
+ left: .6em;
+ min-width: 1em;
+ padding: 0 .5em;
+ background-color: hsla(24, 20%, 50%,.4);
+ color: hsl(24, 20%, 95%);
+ font: bold 65%/1.5 sans-serif;
+ text-align: center;
+ vertical-align: .3em;
+ border-radius: 999px;
+ text-shadow: none;
+ box-shadow: 0 1px white;
+ }
+
+ .line-highlight[data-end]:after {
+ content: attr(data-end);
+ top: auto;
+ bottom: .4em;
+ }
+
+.line-numbers .line-highlight:before,
+.line-numbers .line-highlight:after {
+ content: none;
+}
+
+pre[id].linkable-line-numbers span.line-numbers-rows {
+ pointer-events: all;
+}
+pre[id].linkable-line-numbers span.line-numbers-rows > span:before {
+ cursor: pointer;
+}
+pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {
+ background-color: rgba(128, 128, 128, .2);
+}
+
+pre[class*="language-"].line-numbers {
+ position: relative;
+ padding-left: 3.8em;
+ counter-reset: linenumber;
+}
+
+pre[class*="language-"].line-numbers > code {
+ position: relative;
+ white-space: inherit;
+}
+
+.line-numbers .line-numbers-rows {
+ position: absolute;
+ pointer-events: none;
+ top: 0;
+ font-size: 100%;
+ left: -3.8em;
+ width: 3em; /* works for line-numbers below 1000 lines */
+ letter-spacing: -1px;
+ border-right: 1px solid #999;
+
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+
+}
+
+ .line-numbers-rows > span {
+ display: block;
+ counter-increment: linenumber;
+ }
+
+ .line-numbers-rows > span:before {
+ content: counter(linenumber);
+ color: #999;
+ display: block;
+ padding-right: 0.8em;
+ text-align: right;
+ }
+
diff --git a/assets/css/reset.css b/assets/css/reset.css
new file mode 100644
index 0000000..789f37e
--- /dev/null
+++ b/assets/css/reset.css
@@ -0,0 +1,305 @@
+*,*::before,*::after{
+ box-sizing:border-box
+}
+body{
+ margin:0;
+ font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
+ font-size:1rem;
+ font-weight:400;
+ line-height:1.5;
+ color:#212529;
+ background-color:#fff;
+ -webkit-text-size-adjust:100%;
+ -webkit-tap-highlight-color:rgba(0,0,0,0)
+}
+[tabindex="-1"]:focus:not(:focus-visible){
+ outline:0 !important
+}
+hr{
+ margin:1rem 0;
+ color:inherit;
+ background-color:currentColor;
+ border:0;
+ opacity:.25
+}
+hr:not([size]){
+ height:1px
+}
+h1,h2,h3,h4,h5,h6{
+ margin-top:0;
+ font-weight:500;
+ line-height:1.2
+}
+h1{
+ font-size:calc(1.375rem + 1.5vw)
+}
+@media(min-width: 1200px){
+ h1{
+ font-size:2.5rem
+ }
+}
+h2{
+ font-size:calc(1.325rem + 0.9vw)
+}
+@media(min-width: 1200px){
+ h2{
+ font-size:2rem
+ }
+}
+h3{
+ font-size:calc(1.3rem + 0.6vw)
+}
+@media(min-width: 1200px){
+ h3{
+ font-size:1.75rem
+ }
+}
+h4{
+ font-size:calc(1.275rem + 0.3vw)
+}
+@media(min-width: 1200px){
+ h4{
+ font-size:1.5rem
+ }
+}
+h5{
+ font-size:1.25rem
+}
+h6{
+ font-size:1rem
+}
+p{
+ margin-top:0;
+ margin-bottom:1rem
+}
+abbr[title],abbr[data-original-title]{
+ text-decoration:underline;
+ -webkit-text-decoration:underline dotted;
+ text-decoration:underline dotted;
+ cursor:help;
+ -webkit-text-decoration-skip-ink:none;
+ text-decoration-skip-ink:none
+}
+address{
+ margin-bottom:1rem;
+ font-style:normal;
+ line-height:inherit
+}
+ol,ul{
+ padding-left:2rem
+}
+ol,ul,dl{
+ margin-top:0;
+ margin-bottom:1rem
+}
+ol ol,ul ul,ol ul,ul ol{
+ margin-bottom:0
+}
+dt{
+ font-weight:700
+}
+dd{
+ margin-bottom:.5rem;
+ margin-left:0
+}
+blockquote{
+ margin:0 0 1rem
+}
+b,strong{
+ font-weight:bolder
+}
+small{
+ font-size:.875em
+}
+mark{
+ padding:.2em;
+ background-color:#fcf8e3
+}
+sub,sup{
+ position:relative;
+ font-size:.75em;
+ line-height:0;
+ vertical-align:baseline
+}
+sub{
+ bottom:-0.25em
+}
+sup{
+ top:-0.5em
+}
+a{
+ color:#0d6efd;
+ text-decoration:underline
+}
+a:hover{
+ color:#024dbc
+}
+a:not([href]):not([class]),a:not([href]):not([class]):hover{
+ color:inherit;
+ text-decoration:none
+}
+pre,code,kbd,samp{
+ font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
+ font-size:1em
+}
+pre{
+ display:block;
+ margin-top:0;
+ margin-bottom:1rem;
+ overflow:auto;
+ font-size:.875em;
+ -ms-overflow-style:scrollbar
+}
+pre code{
+ font-size:inherit;
+ color:inherit;
+ word-break:normal
+}
+code{
+ font-size:.875em;
+ color:#d63384;
+ word-wrap:break-word
+}
+a>code{
+ color:inherit
+}
+kbd{
+ padding:.2rem .4rem;
+ font-size:.875em;
+ color:#fff;
+ background-color:#212529;
+ border-radius:.2rem
+}
+kbd kbd{
+ padding:0;
+ font-size:1em;
+ font-weight:700
+}
+figure{
+ margin:0 0 1rem
+}
+img,svg{
+ vertical-align:middle
+}
+table{
+ caption-side:bottom;
+ border-collapse:collapse
+}
+caption{
+ padding-top:.5rem;
+ padding-bottom:.5rem;
+ color:#6c757d;
+ text-align:left
+}
+th{
+ text-align:inherit;
+ text-align:-webkit-match-parent
+}
+thead,tbody,tfoot,tr,td,th{
+ border-color:inherit;
+ border-style:solid;
+ border-width:0
+}
+label{
+ display:inline-block
+}
+button{
+ border-radius:0
+}
+button:focus{
+ outline:1px dotted;
+ outline:5px auto -webkit-focus-ring-color
+}
+input,button,select,optgroup,textarea{
+ margin:0;
+ font-family:inherit;
+ font-size:inherit;
+ line-height:inherit
+}
+button,input{
+ overflow:visible
+}
+button,select{
+ text-transform:none
+}
+[role=button]{
+ cursor:pointer
+}
+select{
+ word-wrap:normal
+}
+[list]::-webkit-calendar-picker-indicator{
+ display:none
+}
+button,[type=button],[type=reset],[type=submit]{
+ -webkit-appearance:button
+}
+button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){
+ cursor:pointer
+}
+::-moz-focus-inner{
+ padding:0;
+ border-style:none
+}
+textarea{
+ resize:vertical
+}
+fieldset{
+ min-width:0;
+ padding:0;
+ margin:0;
+ border:0
+}
+legend{
+ float:left;
+ width:100%;
+ padding:0;
+ margin-bottom:.5rem;
+ font-size:calc(1.275rem + 0.3vw);
+ line-height:inherit;
+ white-space:normal
+}
+@media(min-width: 1200px){
+ legend{
+ font-size:1.5rem
+ }
+}
+legend+*{
+ clear:left
+}
+::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{
+ padding:0
+}
+::-webkit-inner-spin-button{
+ height:auto
+}
+[type=search]{
+ outline-offset:-2px;
+ -webkit-appearance:textfield
+}
+::-webkit-search-decoration{
+ -webkit-appearance:none
+}
+::-webkit-color-swatch-wrapper{
+ padding:0
+}
+::-webkit-file-upload-button{
+ font:inherit;
+ -webkit-appearance:button
+}
+output{
+ display:inline-block
+}
+iframe{
+ border:0
+}
+summary{
+ display:list-item;
+ cursor:pointer
+}
+progress{
+ vertical-align:baseline
+}
+[hidden]{
+ display:none !important
+}
\ No newline at end of file
diff --git a/assets/css/spicr-theme.css b/assets/css/spicr-theme.css
new file mode 100644
index 0000000..a92055f
--- /dev/null
+++ b/assets/css/spicr-theme.css
@@ -0,0 +1,172 @@
+/* Spicr theme | thednp © 2020 | MIT-License */
+
+.text-left{
+ text-align:left
+}
+.text-center{
+ text-align:center
+}
+.text-right{
+ text-align:right
+}
+@media(min-width: 768px){
+ .text-md-left{
+ text-align:left
+ }
+ .text-md-center{
+ text-align:center
+ }
+ .text-md-right{
+ text-align:right
+ }
+}
+.center-block{
+ display:block;
+ margin-left:auto;
+ margin-right:auto
+}
+.float-right{
+ float:right !important
+}
+.float-left{
+ float:left !important
+}
+.float-none{
+ float:none !important
+}
+.font-weight-normal{
+ font-weight:normal
+}
+.font-weight-bold{
+ font-weight:bold
+}
+
+#SpicrDemo{
+height:600px
+}
+.spicr .lead{
+ margin:0;
+ font-weight:bold;
+ text-transform:uppercase;
+ color:#fff
+}
+.overlay{
+ background:rgba(0,0,0,.45);
+ position:absolute;
+ top:0;
+ right:0;
+ width:100%;
+ height:100%
+}
+.spicr-carousel-navigation>*{
+ vertical-align:text-bottom
+}
+@media(min-width: 479px){
+ .spicr-control.long-shadows{
+ transition:opacity .3s ease-in
+ }
+ .spicr-control.long-shadows .arrow-prev{
+ margin-left:-280px;
+ padding:0px 5px 0px 250px;
+ transform:translate(-100%)
+ }
+ .spicr-control.long-shadows .arrow-next{
+ margin-right:-280px;
+ padding:0px 250px 0px 5px;
+ transform:translate(100%)
+ }
+ .spicr-control.long-shadows .arrow-prev,.spicr-control.long-shadows .arrow-next{
+ transition:all 1s ease-in
+ }
+ .spicr:hover .spicr-control.long-shadows .arrow-prev,.spicr:hover .spicr-control.long-shadows .arrow-next{
+ transition-duration:.3s;
+ transition-timing-function:ease-out
+ }
+ .spicr-control.long-shadows:focus .arrow-prev,.spicr-control.long-shadows:focus .arrow-next{
+ transform:translate(0%)
+ }
+ .spicr:hover .spicr-control.long-shadows .arrow-prev{
+ transform:translate(0%)
+ }
+ .spicr:hover .spicr-control.long-shadows .arrow-next{
+ transform:translate(0%)
+ }
+ .spicr-control.long-shadows .spicr-icon{
+ width:40px;
+ height:40px
+ }
+ .spicr-control.long-shadows .arrow-next,.spicr-control.long-shadows .arrow-prev{
+ border-radius:40px;
+ margin-top:-20px
+ }
+ .spicr-control.long-shadows:focus .arrow-prev{
+ transform:translate(0%)
+ }
+ .spicr-control.long-shadows:focus .arrow-next{
+ transform:translate(0%)
+ }
+ .spicr-control.long-shadows .arrow-prev,.spicr-control.long-shadows .arrow-next{
+ display:block;
+ width:auto;
+ height:auto;
+ background-color:#000;
+ background-color:rgba(0,0,0,.3)
+ }
+}
+.spicr-carousel h4{
+ margin-top:0
+}
+.spicr-slider{
+ font-size:calc(0.5rem + 1.5vw);
+ line-height:calc(0.6rem + 1.5vw)
+}
+.spicr-slider h1{
+ font-size:calc(1.375rem + 1.5vw);
+ letter-spacing:-1px;
+ margin:0
+}
+.spicr-slider h2{
+ font-size:calc(1.375rem + 0.9vw);
+ letter-spacing:0;
+ margin:0
+}
+.features-carousel .spicr-pages{
+ top:.5rem
+}
+.features-carousel .spicr-pages li{
+ line-height:1.5rem;
+ padding:.5rem 1rem
+}
+@media(min-width: 768px){
+ .featurette-heading span{
+ font-size:24px;
+ line-height:1;
+ letter-spacing:-1px
+ }
+ .spicr-slider{
+ font-size:1rem;
+ line-height:1.8rem
+ }
+ .spicr-slider h1{
+ font-size:42px;
+ line-height:1;
+ letter-spacing:-2px;
+ margin:0 0 1.5rem
+ }
+ .spicr-slider h2{
+ font-size:36px;
+ line-height:1;
+ letter-spacing:-1px;
+ margin:0 0 1.5rem
+ }
+}
+
+.background-top-left { background-position: top left !important}
+.background-top-center { background-position: top center !important}
+.background-top-right { background-position: top center !important}
+.background-center-left { background-position: center left !important}
+.background-center-center { background-position: center center !important}
+.background-center-right { background-position: center right !important}
+.background-bottom-left { background-position: bottom left !important}
+.background-bottom-center { background-position: bottom center !important}
+.background-bottom-right { background-position: bottom right !important}
\ No newline at end of file
diff --git a/assets/img/apple-touch-icon.png b/assets/img/apple-touch-icon.png
new file mode 100644
index 0000000..ed1ba7e
Binary files /dev/null and b/assets/img/apple-touch-icon.png differ
diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico
new file mode 100644
index 0000000..c7f98a7
Binary files /dev/null and b/assets/img/favicon.ico differ
diff --git a/assets/img/home.svg b/assets/img/home.svg
new file mode 100644
index 0000000..dfe389b
--- /dev/null
+++ b/assets/img/home.svg
@@ -0,0 +1,56 @@
+
+
+
diff --git a/assets/img/img-blank.gif b/assets/img/img-blank.gif
new file mode 100644
index 0000000..5891de4
Binary files /dev/null and b/assets/img/img-blank.gif differ
diff --git a/assets/img/loader.gif b/assets/img/loader.gif
new file mode 100644
index 0000000..335e00c
Binary files /dev/null and b/assets/img/loader.gif differ
diff --git a/assets/img/ms.svg b/assets/img/ms.svg
new file mode 100644
index 0000000..88df967
--- /dev/null
+++ b/assets/img/ms.svg
@@ -0,0 +1,27 @@
+
+
diff --git a/assets/img/rectangle.svg b/assets/img/rectangle.svg
new file mode 100644
index 0000000..9efd23e
--- /dev/null
+++ b/assets/img/rectangle.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/assets/img/social.svg b/assets/img/social.svg
new file mode 100644
index 0000000..b9b079b
--- /dev/null
+++ b/assets/img/social.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/assets/js/backgroundPosition.js b/assets/js/backgroundPosition.js
new file mode 100644
index 0000000..ff08225
--- /dev/null
+++ b/assets/js/backgroundPosition.js
@@ -0,0 +1,11 @@
+/* BACKGROUND POSITION EXAMPLE */
+var bgPos = document.getElementById('bgPos'),
+ bgBox = bgPos.querySelector('.example-box'),
+ bgb = bgPos.querySelector('.btn'),
+ bpTween = KUTE.to(bgBox, {backgroundPosition: ['0%','50%']}, { yoyo: true, repeat: 1, duration: 1500, easing: 'easingCubicOut'});
+
+bgb.addEventListener('click', function(e){
+ e.preventDefault();
+ !bpTween.playing && bpTween.start();
+},false);
+/* BACKGROUND POSITION EXAMPLE */
diff --git a/assets/js/borderRadius.js b/assets/js/borderRadius.js
new file mode 100644
index 0000000..6aa183e
--- /dev/null
+++ b/assets/js/borderRadius.js
@@ -0,0 +1,12 @@
+
+/* RADIUS EXAMPLES */
+var radiusBtn = document.getElementById('radiusBtn');
+var allRadius = KUTE.to('#allRadius',{borderRadius:80},{duration: 1500, easing:'easingCubicOut', repeat: 1, yoyo: true});
+var tlRadius = KUTE.to('#tlRadius',{borderTopLeftRadius:150},{duration: 1500, easing:'easingCubicOut', repeat: 1, yoyo: true});
+var trRadius = KUTE.to('#trRadius',{borderTopRightRadius:150},{duration: 1500, easing:'easingCubicOut', repeat: 1, yoyo: true});
+var blRadius = KUTE.to('#blRadius',{borderBottomLeftRadius:150},{duration: 1500, easing:'easingCubicOut', repeat: 1, yoyo: true});
+var brRadius = KUTE.to('#brRadius',{borderBottomRightRadius:150},{duration: 1500, easing:'easingCubicOut', repeat: 1, yoyo: true});
+radiusBtn.addEventListener('click',function(){
+ if (!allRadius.playing) { allRadius.start(); tlRadius.start(); trRadius.start(); blRadius.start(); brRadius.start(); }
+}, false);
+/* RADIUS EXAMPLES */
\ No newline at end of file
diff --git a/assets/js/boxModel.js b/assets/js/boxModel.js
new file mode 100644
index 0000000..bf705d6
--- /dev/null
+++ b/assets/js/boxModel.js
@@ -0,0 +1,49 @@
+/* BOX MODEL EXAMPLE */
+var boxModel = document.getElementById('boxModel'),
+ btb = boxModel.querySelector('.btn'),
+ box = boxModel.querySelector('.example-box-model');
+
+// built the tween objects
+var bm1 = KUTE.to(box,{width:250},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onWidth});
+var bm2 = KUTE.to(box,{height:250},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onHeight});
+var bm3 = KUTE.to(box,{left:250},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onLeft});
+var bm4 = KUTE.to(box,{top:-250},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onTop, onComplete: onComplete});
+
+var bm5 = KUTE.to(box,{marginTop:50},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onMarginTop});
+var bm6 = KUTE.to(box,{marginBottom:50},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onMarginBottom});
+var bm7 = KUTE.to(box,{paddingTop:15},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onPadding});
+var bm8 = KUTE.to(box,{marginTop:50,marginLeft:50,marginBottom:70},{ yoyo: true, repeat: 1, duration: 1500, onUpdate: onMargin, onComplete: onComplete});
+
+// chain the bms
+try{
+ bm1.chain(bm2);
+ bm2.chain(bm3);
+ bm3.chain(bm4);
+ bm4.chain(bm5);
+ bm5.chain(bm6);
+ bm6.chain(bm7);
+ bm7.chain(bm8);
+}catch(e){
+ console.error(e+". TweenBase doesn\'t support chain method")
+}
+
+//callback functions
+function onWidth() { box.innerHTML = 'WIDTHThis web page is only for high-end desktop computers.
'; + warning +='We do not take any responsibility and we are not liable for any damage caused through use of this website, be it indirect, special, incidental or consequential damages to your devices.
'; + warning +=''+explain+'
'; + warning +='This web page is only for high-end desktop computers.
'; + warning +='We do not take any responsibility and we are not liable for any damage caused through use of this website, be it indirect, special, incidental or consequential damages to your devices.
'; + warning +=''+explain+'
'; + warning +='The component that animates the CSS property controling the background-position property of a target element.
+Animate the position of the background image, simple and effective.
+The KUTE.js Background Position component enables animation for the CSS backgroundPosition property on most browsers.
+It can handle an entire set of input values [x,y], '0% 50%' and even 'left center'. The component always updates the values of the position + property via % suffix for simplicity reasons and even if px or any other unit is supported.
+While we might not have much use for this kind of animation, some older browsers will love to show you something if that is the case.
+Here a couple of possible tween objects:
+ +// provide the exact values for interpolation
+let bgPosTween = KUTE.to('selector1',{backgroundPosition:[0,50]}).start();
+
+// provide the coordinates
+let bgPosTween = KUTE.to('selector1',{backgroundPosition:"0% 50%"}).start();
+
+// or provide the position names
+let bgPosTween = KUTE.to('selector1',{backgroundPosition:"left center"}).start();
+
+
+ % suffix is used.