element', () => {
- // https://on.cypress.io/select
-
- // at first, no option should be selected
- cy.get('.action-select')
- .should('have.value', '--Select a fruit--')
-
- // Select option(s) with matching text content
- cy.get('.action-select').select('apples')
- // confirm the apples were selected
- // note that each value starts with "fr-" in our HTML
- cy.get('.action-select').should('have.value', 'fr-apples')
-
- cy.get('.action-select-multiple')
- .select(['apples', 'oranges', 'bananas'])
- // when getting multiple values, invoke "val" method first
- .invoke('val')
- .should('deep.equal', ['fr-apples', 'fr-oranges', 'fr-bananas'])
-
- // Select option(s) with matching value
- cy.get('.action-select').select('fr-bananas')
- // can attach an assertion right away to the element
- .should('have.value', 'fr-bananas')
-
- cy.get('.action-select-multiple')
- .select(['fr-apples', 'fr-oranges', 'fr-bananas'])
- .invoke('val')
- .should('deep.equal', ['fr-apples', 'fr-oranges', 'fr-bananas'])
-
- // assert the selected values include oranges
- cy.get('.action-select-multiple')
- .invoke('val').should('include', 'fr-oranges')
- })
-
- it('.scrollIntoView() - scroll an element into view', () => {
- // https://on.cypress.io/scrollintoview
-
- // normally all of these buttons are hidden,
- // because they're not within
- // the viewable area of their parent
- // (we need to scroll to see them)
- cy.get('#scroll-horizontal button')
- .should('not.be.visible')
-
- // scroll the button into view, as if the user had scrolled
- cy.get('#scroll-horizontal button').scrollIntoView()
- .should('be.visible')
-
- cy.get('#scroll-vertical button')
- .should('not.be.visible')
-
- // Cypress handles the scroll direction needed
- cy.get('#scroll-vertical button').scrollIntoView()
- .should('be.visible')
-
- cy.get('#scroll-both button')
- .should('not.be.visible')
-
- // Cypress knows to scroll to the right and down
- cy.get('#scroll-both button').scrollIntoView()
- .should('be.visible')
- })
-
- it('.trigger() - trigger an event on a DOM element', () => {
- // https://on.cypress.io/trigger
-
- // To interact with a range input (slider)
- // we need to set its value & trigger the
- // event to signal it changed
-
- // Here, we invoke jQuery's val() method to set
- // the value and trigger the 'change' event
- cy.get('.trigger-input-range')
- .invoke('val', 25)
- .trigger('change')
- .get('input[type=range]').siblings('p')
- .should('have.text', '25')
- })
-
- it('cy.scrollTo() - scroll the window or element to a position', () => {
- // https://on.cypress.io/scrollto
-
- // You can scroll to 9 specific positions of an element:
- // -----------------------------------
- // | topLeft top topRight |
- // | |
- // | |
- // | |
- // | left center right |
- // | |
- // | |
- // | |
- // | bottomLeft bottom bottomRight |
- // -----------------------------------
-
- // if you chain .scrollTo() off of cy, we will
- // scroll the entire window
- cy.scrollTo('bottom')
-
- cy.get('#scrollable-horizontal').scrollTo('right')
-
- // or you can scroll to a specific coordinate:
- // (x axis, y axis) in pixels
- cy.get('#scrollable-vertical').scrollTo(250, 250)
-
- // or you can scroll to a specific percentage
- // of the (width, height) of the element
- cy.get('#scrollable-both').scrollTo('75%', '25%')
-
- // control the easing of the scroll (default is 'swing')
- cy.get('#scrollable-vertical').scrollTo('center', { easing: 'linear' })
-
- // control the duration of the scroll (in ms)
- cy.get('#scrollable-both').scrollTo('center', { duration: 2000 })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/aliasing.cy.js b/cypress/e2e/2-advanced-examples/aliasing.cy.js
deleted file mode 100644
index a02fb2bb9..000000000
--- a/cypress/e2e/2-advanced-examples/aliasing.cy.js
+++ /dev/null
@@ -1,39 +0,0 @@
-///
-
-context('Aliasing', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/aliasing')
- })
-
- it('.as() - alias a DOM element for later use', () => {
- // https://on.cypress.io/as
-
- // Alias a DOM element for use later
- // We don't have to traverse to the element
- // later in our code, we reference it with @
-
- cy.get('.as-table').find('tbody>tr')
- .first().find('td').first()
- .find('button').as('firstBtn')
-
- // when we reference the alias, we place an
- // @ in front of its name
- cy.get('@firstBtn').click()
-
- cy.get('@firstBtn')
- .should('have.class', 'btn-success')
- .and('contain', 'Changed')
- })
-
- it('.as() - alias a route for later use', () => {
- // Alias the route to wait for its response
- cy.intercept('GET', '**/comments/*').as('getComment')
-
- // we have code that gets a comment when
- // the button is clicked in scripts.js
- cy.get('.network-btn').click()
-
- // https://on.cypress.io/wait
- cy.wait('@getComment').its('response.statusCode').should('eq', 200)
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/assertions.cy.js b/cypress/e2e/2-advanced-examples/assertions.cy.js
deleted file mode 100644
index 79e3d0e91..000000000
--- a/cypress/e2e/2-advanced-examples/assertions.cy.js
+++ /dev/null
@@ -1,176 +0,0 @@
-///
-
-context('Assertions', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/assertions')
- })
-
- describe('Implicit Assertions', () => {
- it('.should() - make an assertion about the current subject', () => {
- // https://on.cypress.io/should
- cy.get('.assertion-table')
- .find('tbody tr:last')
- .should('have.class', 'success')
- .find('td')
- .first()
- // checking the text of the element in various ways
- .should('have.text', 'Column content')
- .should('contain', 'Column content')
- .should('have.html', 'Column content')
- // chai-jquery uses "is()" to check if element matches selector
- .should('match', 'td')
- // to match text content against a regular expression
- // first need to invoke jQuery method text()
- // and then match using regular expression
- .invoke('text')
- .should('match', /column content/i)
-
- // a better way to check element's text content against a regular expression
- // is to use "cy.contains"
- // https://on.cypress.io/contains
- cy.get('.assertion-table')
- .find('tbody tr:last')
- // finds first element with text content matching regular expression
- .contains('td', /column content/i)
- .should('be.visible')
-
- // for more information about asserting element's text
- // see https://on.cypress.io/using-cypress-faq#How-do-I-get-an-element’s-text-contents
- })
-
- it('.and() - chain multiple assertions together', () => {
- // https://on.cypress.io/and
- cy.get('.assertions-link')
- .should('have.class', 'active')
- .and('have.attr', 'href')
- .and('include', 'cypress.io')
- })
- })
-
- describe('Explicit Assertions', () => {
- // https://on.cypress.io/assertions
- it('expect - make an assertion about a specified subject', () => {
- // We can use Chai's BDD style assertions
- expect(true).to.be.true
- const o = { foo: 'bar' }
-
- expect(o).to.equal(o)
- expect(o).to.deep.equal({ foo: 'bar' })
- // matching text using regular expression
- expect('FooBar').to.match(/bar$/i)
- })
-
- it('pass your own callback function to should()', () => {
- // Pass a function to should that can have any number
- // of explicit assertions within it.
- // The ".should(cb)" function will be retried
- // automatically until it passes all your explicit assertions or times out.
- cy.get('.assertions-p')
- .find('p')
- .should(($p) => {
- // https://on.cypress.io/$
- // return an array of texts from all of the p's
- const texts = $p.map((i, el) => Cypress.$(el).text())
-
- // jquery map returns jquery object
- // and .get() convert this to simple array
- const paragraphs = texts.get()
-
- // array should have length of 3
- expect(paragraphs, 'has 3 paragraphs').to.have.length(3)
-
- // use second argument to expect(...) to provide clear
- // message with each assertion
- expect(paragraphs, 'has expected text in each paragraph').to.deep.eq([
- 'Some text from first p',
- 'More text from second p',
- 'And even more text from third p',
- ])
- })
- })
-
- it('finds element by class name regex', () => {
- cy.get('.docs-header')
- .find('div')
- // .should(cb) callback function will be retried
- .should(($div) => {
- expect($div).to.have.length(1)
-
- const className = $div[0].className
-
- expect(className).to.match(/heading-/)
- })
- // .then(cb) callback is not retried,
- // it either passes or fails
- .then(($div) => {
- expect($div, 'text content').to.have.text('Introduction')
- })
- })
-
- it('can throw any error', () => {
- cy.get('.docs-header')
- .find('div')
- .should(($div) => {
- if ($div.length !== 1) {
- // you can throw your own errors
- throw new Error('Did not find 1 element')
- }
-
- const className = $div[0].className
-
- if (!className.match(/heading-/)) {
- throw new Error(`Could not find class "heading-" in ${className}`)
- }
- })
- })
-
- it('matches unknown text between two elements', () => {
- /**
- * Text from the first element.
- * @type {string}
- */
- let text
-
- /**
- * Normalizes passed text,
- * useful before comparing text with spaces and different capitalization.
- * @param {string} s Text to normalize
- */
- const normalizeText = (s) => s.replace(/\s/g, '').toLowerCase()
-
- cy.get('.two-elements')
- .find('.first')
- .then(($first) => {
- // save text from the first element
- text = normalizeText($first.text())
- })
-
- cy.get('.two-elements')
- .find('.second')
- .should(($div) => {
- // we can massage text before comparing
- const secondText = normalizeText($div.text())
-
- expect(secondText, 'second text').to.equal(text)
- })
- })
-
- it('assert - assert shape of an object', () => {
- const person = {
- name: 'Joe',
- age: 20,
- }
-
- assert.isObject(person, 'value is object')
- })
-
- it('retries the should callback until assertions pass', () => {
- cy.get('#random-number')
- .should(($div) => {
- const n = parseFloat($div.text())
-
- expect(n).to.be.gte(1).and.be.lte(10)
- })
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/connectors.cy.js b/cypress/e2e/2-advanced-examples/connectors.cy.js
deleted file mode 100644
index ae8799181..000000000
--- a/cypress/e2e/2-advanced-examples/connectors.cy.js
+++ /dev/null
@@ -1,97 +0,0 @@
-///
-
-context('Connectors', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/connectors')
- })
-
- it('.each() - iterate over an array of elements', () => {
- // https://on.cypress.io/each
- cy.get('.connectors-each-ul>li')
- .each(($el, index, $list) => {
- console.log($el, index, $list)
- })
- })
-
- it('.its() - get properties on the current subject', () => {
- // https://on.cypress.io/its
- cy.get('.connectors-its-ul>li')
- // calls the 'length' property yielding that value
- .its('length')
- .should('be.gt', 2)
- })
-
- it('.invoke() - invoke a function on the current subject', () => {
- // our div is hidden in our script.js
- // $('.connectors-div').hide()
-
- // https://on.cypress.io/invoke
- cy.get('.connectors-div').should('be.hidden')
- // call the jquery method 'show' on the 'div.container'
- .invoke('show')
- .should('be.visible')
- })
-
- it('.spread() - spread an array as individual args to callback function', () => {
- // https://on.cypress.io/spread
- const arr = ['foo', 'bar', 'baz']
-
- cy.wrap(arr).spread((foo, bar, baz) => {
- expect(foo).to.eq('foo')
- expect(bar).to.eq('bar')
- expect(baz).to.eq('baz')
- })
- })
-
- describe('.then()', () => {
- it('invokes a callback function with the current subject', () => {
- // https://on.cypress.io/then
- cy.get('.connectors-list > li')
- .then(($lis) => {
- expect($lis, '3 items').to.have.length(3)
- expect($lis.eq(0), 'first item').to.contain('Walk the dog')
- expect($lis.eq(1), 'second item').to.contain('Feed the cat')
- expect($lis.eq(2), 'third item').to.contain('Write JavaScript')
- })
- })
-
- it('yields the returned value to the next command', () => {
- cy.wrap(1)
- .then((num) => {
- expect(num).to.equal(1)
-
- return 2
- })
- .then((num) => {
- expect(num).to.equal(2)
- })
- })
-
- it('yields the original subject without return', () => {
- cy.wrap(1)
- .then((num) => {
- expect(num).to.equal(1)
- // note that nothing is returned from this callback
- })
- .then((num) => {
- // this callback receives the original unchanged value 1
- expect(num).to.equal(1)
- })
- })
-
- it('yields the value yielded by the last Cypress command inside', () => {
- cy.wrap(1)
- .then((num) => {
- expect(num).to.equal(1)
- // note how we run a Cypress command
- // the result yielded by this Cypress command
- // will be passed to the second ".then"
- cy.wrap(2)
- })
- .then((num) => {
- // this callback receives the value yielded by "cy.wrap(2)"
- expect(num).to.equal(2)
- })
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/cookies.cy.js b/cypress/e2e/2-advanced-examples/cookies.cy.js
deleted file mode 100644
index 31587ff90..000000000
--- a/cypress/e2e/2-advanced-examples/cookies.cy.js
+++ /dev/null
@@ -1,77 +0,0 @@
-///
-
-context('Cookies', () => {
- beforeEach(() => {
- Cypress.Cookies.debug(true)
-
- cy.visit('https://example.cypress.io/commands/cookies')
-
- // clear cookies again after visiting to remove
- // any 3rd party cookies picked up such as cloudflare
- cy.clearCookies()
- })
-
- it('cy.getCookie() - get a browser cookie', () => {
- // https://on.cypress.io/getcookie
- cy.get('#getCookie .set-a-cookie').click()
-
- // cy.getCookie() yields a cookie object
- cy.getCookie('token').should('have.property', 'value', '123ABC')
- })
-
- it('cy.getCookies() - get browser cookies', () => {
- // https://on.cypress.io/getcookies
- cy.getCookies().should('be.empty')
-
- cy.get('#getCookies .set-a-cookie').click()
-
- // cy.getCookies() yields an array of cookies
- cy.getCookies().should('have.length', 1).should((cookies) => {
- // each cookie has these properties
- expect(cookies[0]).to.have.property('name', 'token')
- expect(cookies[0]).to.have.property('value', '123ABC')
- expect(cookies[0]).to.have.property('httpOnly', false)
- expect(cookies[0]).to.have.property('secure', false)
- expect(cookies[0]).to.have.property('domain')
- expect(cookies[0]).to.have.property('path')
- })
- })
-
- it('cy.setCookie() - set a browser cookie', () => {
- // https://on.cypress.io/setcookie
- cy.getCookies().should('be.empty')
-
- cy.setCookie('foo', 'bar')
-
- // cy.getCookie() yields a cookie object
- cy.getCookie('foo').should('have.property', 'value', 'bar')
- })
-
- it('cy.clearCookie() - clear a browser cookie', () => {
- // https://on.cypress.io/clearcookie
- cy.getCookie('token').should('be.null')
-
- cy.get('#clearCookie .set-a-cookie').click()
-
- cy.getCookie('token').should('have.property', 'value', '123ABC')
-
- // cy.clearCookies() yields null
- cy.clearCookie('token').should('be.null')
-
- cy.getCookie('token').should('be.null')
- })
-
- it('cy.clearCookies() - clear browser cookies', () => {
- // https://on.cypress.io/clearcookies
- cy.getCookies().should('be.empty')
-
- cy.get('#clearCookies .set-a-cookie').click()
-
- cy.getCookies().should('have.length', 1)
-
- // cy.clearCookies() yields null
- cy.clearCookies()
-
- cy.getCookies().should('be.empty')
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/cypress_api.cy.js b/cypress/e2e/2-advanced-examples/cypress_api.cy.js
deleted file mode 100644
index 777f32cfc..000000000
--- a/cypress/e2e/2-advanced-examples/cypress_api.cy.js
+++ /dev/null
@@ -1,200 +0,0 @@
-///
-
-context('Cypress.Commands', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- // https://on.cypress.io/custom-commands
-
- it('.add() - create a custom command', () => {
- Cypress.Commands.add('console', {
- prevSubject: true,
- }, (subject, method) => {
- // the previous subject is automatically received
- // and the commands arguments are shifted
-
- // allow us to change the console method used
- method = method || 'log'
-
- // log the subject to the console
- console[method]('The subject is', subject)
-
- // whatever we return becomes the new subject
- // we don't want to change the subject so
- // we return whatever was passed in
- return subject
- })
-
- cy.get('button').console('info').then(($button) => {
- // subject is still $button
- })
- })
-})
-
-context('Cypress.Cookies', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- // https://on.cypress.io/cookies
- it('.debug() - enable or disable debugging', () => {
- Cypress.Cookies.debug(true)
-
- // Cypress will now log in the console when
- // cookies are set or cleared
- cy.setCookie('fakeCookie', '123ABC')
- cy.clearCookie('fakeCookie')
- cy.setCookie('fakeCookie', '123ABC')
- cy.clearCookie('fakeCookie')
- cy.setCookie('fakeCookie', '123ABC')
- })
-
- it('.preserveOnce() - preserve cookies by key', () => {
- // normally cookies are reset after each test
- cy.getCookie('fakeCookie').should('not.be.ok')
-
- // preserving a cookie will not clear it when
- // the next test starts
- cy.setCookie('lastCookie', '789XYZ')
- Cypress.Cookies.preserveOnce('lastCookie')
- })
-
- it('.defaults() - set defaults for all cookies', () => {
- // now any cookie with the name 'session_id' will
- // not be cleared before each new test runs
- Cypress.Cookies.defaults({
- preserve: 'session_id',
- })
- })
-})
-
-context('Cypress.arch', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- it('Get CPU architecture name of underlying OS', () => {
- // https://on.cypress.io/arch
- expect(Cypress.arch).to.exist
- })
-})
-
-context('Cypress.config()', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- it('Get and set configuration options', () => {
- // https://on.cypress.io/config
- let myConfig = Cypress.config()
-
- expect(myConfig).to.have.property('animationDistanceThreshold', 5)
- expect(myConfig).to.have.property('baseUrl', null)
- expect(myConfig).to.have.property('defaultCommandTimeout', 4000)
- expect(myConfig).to.have.property('requestTimeout', 5000)
- expect(myConfig).to.have.property('responseTimeout', 30000)
- expect(myConfig).to.have.property('viewportHeight', 660)
- expect(myConfig).to.have.property('viewportWidth', 1000)
- expect(myConfig).to.have.property('pageLoadTimeout', 60000)
- expect(myConfig).to.have.property('waitForAnimations', true)
-
- expect(Cypress.config('pageLoadTimeout')).to.eq(60000)
-
- // this will change the config for the rest of your tests!
- Cypress.config('pageLoadTimeout', 20000)
-
- expect(Cypress.config('pageLoadTimeout')).to.eq(20000)
-
- Cypress.config('pageLoadTimeout', 60000)
- })
-})
-
-context('Cypress.dom', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- // https://on.cypress.io/dom
- it('.isHidden() - determine if a DOM element is hidden', () => {
- let hiddenP = Cypress.$('.dom-p p.hidden').get(0)
- let visibleP = Cypress.$('.dom-p p.visible').get(0)
-
- // our first paragraph has css class 'hidden'
- expect(Cypress.dom.isHidden(hiddenP)).to.be.true
- expect(Cypress.dom.isHidden(visibleP)).to.be.false
- })
-})
-
-context('Cypress.env()', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- // We can set environment variables for highly dynamic values
-
- // https://on.cypress.io/environment-variables
- it('Get environment variables', () => {
- // https://on.cypress.io/env
- // set multiple environment variables
- Cypress.env({
- host: 'veronica.dev.local',
- api_server: 'http://localhost:8888/v1/',
- })
-
- // get environment variable
- expect(Cypress.env('host')).to.eq('veronica.dev.local')
-
- // set environment variable
- Cypress.env('api_server', 'http://localhost:8888/v2/')
- expect(Cypress.env('api_server')).to.eq('http://localhost:8888/v2/')
-
- // get all environment variable
- expect(Cypress.env()).to.have.property('host', 'veronica.dev.local')
- expect(Cypress.env()).to.have.property('api_server', 'http://localhost:8888/v2/')
- })
-})
-
-context('Cypress.log', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- it('Control what is printed to the Command Log', () => {
- // https://on.cypress.io/cypress-log
- })
-})
-
-context('Cypress.platform', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- it('Get underlying OS name', () => {
- // https://on.cypress.io/platform
- expect(Cypress.platform).to.be.exist
- })
-})
-
-context('Cypress.version', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- it('Get current version of Cypress being run', () => {
- // https://on.cypress.io/version
- expect(Cypress.version).to.be.exist
- })
-})
-
-context('Cypress.spec', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/cypress-api')
- })
-
- it('Get current spec information', () => {
- // https://on.cypress.io/spec
- // wrap the object so we can inspect it easily by clicking in the command log
- cy.wrap(Cypress.spec).should('include.keys', ['name', 'relative', 'absolute'])
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/files.cy.js b/cypress/e2e/2-advanced-examples/files.cy.js
deleted file mode 100644
index d449c7566..000000000
--- a/cypress/e2e/2-advanced-examples/files.cy.js
+++ /dev/null
@@ -1,87 +0,0 @@
-///
-
-/// JSON fixture file can be loaded directly using
-// the built-in JavaScript bundler
-const requiredExample = require('../../fixtures/example')
-
-context('Files', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/files')
- })
-
- beforeEach(() => {
- // load example.json fixture file and store
- // in the test context object
- cy.fixture('example.json').as('example')
- })
-
- it('cy.fixture() - load a fixture', () => {
- // https://on.cypress.io/fixture
-
- // Instead of writing a response inline you can
- // use a fixture file's content.
-
- // when application makes an Ajax request matching "GET **/comments/*"
- // Cypress will intercept it and reply with the object in `example.json` fixture
- cy.intercept('GET', '**/comments/*', { fixture: 'example.json' }).as('getComment')
-
- // we have code that gets a comment when
- // the button is clicked in scripts.js
- cy.get('.fixture-btn').click()
-
- cy.wait('@getComment').its('response.body')
- .should('have.property', 'name')
- .and('include', 'Using fixtures to represent data')
- })
-
- it('cy.fixture() or require - load a fixture', function () {
- // we are inside the "function () { ... }"
- // callback and can use test context object "this"
- // "this.example" was loaded in "beforeEach" function callback
- expect(this.example, 'fixture in the test context')
- .to.deep.equal(requiredExample)
-
- // or use "cy.wrap" and "should('deep.equal', ...)" assertion
- cy.wrap(this.example)
- .should('deep.equal', requiredExample)
- })
-
- it('cy.readFile() - read file contents', () => {
- // https://on.cypress.io/readfile
-
- // You can read a file and yield its contents
- // The filePath is relative to your project's root.
- cy.readFile(Cypress.config('configFile')).then((config) => {
- expect(config).to.be.an('string')
- })
- })
-
- it('cy.writeFile() - write to a file', () => {
- // https://on.cypress.io/writefile
-
- // You can write to a file
-
- // Use a response from a request to automatically
- // generate a fixture file for use later
- cy.request('https://jsonplaceholder.cypress.io/users')
- .then((response) => {
- cy.writeFile('cypress/fixtures/users.json', response.body)
- })
-
- cy.fixture('users').should((users) => {
- expect(users[0].name).to.exist
- })
-
- // JavaScript arrays and objects are stringified
- // and formatted into text.
- cy.writeFile('cypress/fixtures/profile.json', {
- id: 8739,
- name: 'Jane',
- email: 'jane@example.com',
- })
-
- cy.fixture('profile').should((profile) => {
- expect(profile.name).to.eq('Jane')
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/local_storage.cy.js b/cypress/e2e/2-advanced-examples/local_storage.cy.js
deleted file mode 100644
index 534d8bd9d..000000000
--- a/cypress/e2e/2-advanced-examples/local_storage.cy.js
+++ /dev/null
@@ -1,52 +0,0 @@
-///
-
-context('Local Storage', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/local-storage')
- })
- // Although local storage is automatically cleared
- // in between tests to maintain a clean state
- // sometimes we need to clear the local storage manually
-
- it('cy.clearLocalStorage() - clear all data in local storage', () => {
- // https://on.cypress.io/clearlocalstorage
- cy.get('.ls-btn').click().should(() => {
- expect(localStorage.getItem('prop1')).to.eq('red')
- expect(localStorage.getItem('prop2')).to.eq('blue')
- expect(localStorage.getItem('prop3')).to.eq('magenta')
- })
-
- // clearLocalStorage() yields the localStorage object
- cy.clearLocalStorage().should((ls) => {
- expect(ls.getItem('prop1')).to.be.null
- expect(ls.getItem('prop2')).to.be.null
- expect(ls.getItem('prop3')).to.be.null
- })
-
- cy.get('.ls-btn').click().should(() => {
- expect(localStorage.getItem('prop1')).to.eq('red')
- expect(localStorage.getItem('prop2')).to.eq('blue')
- expect(localStorage.getItem('prop3')).to.eq('magenta')
- })
-
- // Clear key matching string in Local Storage
- cy.clearLocalStorage('prop1').should((ls) => {
- expect(ls.getItem('prop1')).to.be.null
- expect(ls.getItem('prop2')).to.eq('blue')
- expect(ls.getItem('prop3')).to.eq('magenta')
- })
-
- cy.get('.ls-btn').click().should(() => {
- expect(localStorage.getItem('prop1')).to.eq('red')
- expect(localStorage.getItem('prop2')).to.eq('blue')
- expect(localStorage.getItem('prop3')).to.eq('magenta')
- })
-
- // Clear keys matching regex in Local Storage
- cy.clearLocalStorage(/prop1|2/).should((ls) => {
- expect(ls.getItem('prop1')).to.be.null
- expect(ls.getItem('prop2')).to.be.null
- expect(ls.getItem('prop3')).to.eq('magenta')
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/location.cy.js b/cypress/e2e/2-advanced-examples/location.cy.js
deleted file mode 100644
index 299867da0..000000000
--- a/cypress/e2e/2-advanced-examples/location.cy.js
+++ /dev/null
@@ -1,32 +0,0 @@
-///
-
-context('Location', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/location')
- })
-
- it('cy.hash() - get the current URL hash', () => {
- // https://on.cypress.io/hash
- cy.hash().should('be.empty')
- })
-
- it('cy.location() - get window.location', () => {
- // https://on.cypress.io/location
- cy.location().should((location) => {
- expect(location.hash).to.be.empty
- expect(location.href).to.eq('https://example.cypress.io/commands/location')
- expect(location.host).to.eq('example.cypress.io')
- expect(location.hostname).to.eq('example.cypress.io')
- expect(location.origin).to.eq('https://example.cypress.io')
- expect(location.pathname).to.eq('/commands/location')
- expect(location.port).to.eq('')
- expect(location.protocol).to.eq('https:')
- expect(location.search).to.be.empty
- })
- })
-
- it('cy.url() - get the current URL', () => {
- // https://on.cypress.io/url
- cy.url().should('eq', 'https://example.cypress.io/commands/location')
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/misc.cy.js b/cypress/e2e/2-advanced-examples/misc.cy.js
deleted file mode 100644
index 087d33c0a..000000000
--- a/cypress/e2e/2-advanced-examples/misc.cy.js
+++ /dev/null
@@ -1,104 +0,0 @@
-///
-
-context('Misc', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/misc')
- })
-
- it('.end() - end the command chain', () => {
- // https://on.cypress.io/end
-
- // cy.end is useful when you want to end a chain of commands
- // and force Cypress to re-query from the root element
- cy.get('.misc-table').within(() => {
- // ends the current chain and yields null
- cy.contains('Cheryl').click().end()
-
- // queries the entire table again
- cy.contains('Charles').click()
- })
- })
-
- it('cy.exec() - execute a system command', () => {
- // execute a system command.
- // so you can take actions necessary for
- // your test outside the scope of Cypress.
- // https://on.cypress.io/exec
-
- // we can use Cypress.platform string to
- // select appropriate command
- // https://on.cypress/io/platform
- cy.log(`Platform ${Cypress.platform} architecture ${Cypress.arch}`)
-
- // on CircleCI Windows build machines we have a failure to run bash shell
- // https://github.com/cypress-io/cypress/issues/5169
- // so skip some of the tests by passing flag "--env circle=true"
- const isCircleOnWindows = Cypress.platform === 'win32' && Cypress.env('circle')
-
- if (isCircleOnWindows) {
- cy.log('Skipping test on CircleCI')
-
- return
- }
-
- // cy.exec problem on Shippable CI
- // https://github.com/cypress-io/cypress/issues/6718
- const isShippable = Cypress.platform === 'linux' && Cypress.env('shippable')
-
- if (isShippable) {
- cy.log('Skipping test on ShippableCI')
-
- return
- }
-
- cy.exec('echo Jane Lane')
- .its('stdout').should('contain', 'Jane Lane')
-
- if (Cypress.platform === 'win32') {
- cy.exec(`print ${Cypress.config('configFile')}`)
- .its('stderr').should('be.empty')
- } else {
- cy.exec(`cat ${Cypress.config('configFile')}`)
- .its('stderr').should('be.empty')
-
- cy.exec('pwd')
- .its('code').should('eq', 0)
- }
- })
-
- it('cy.focused() - get the DOM element that has focus', () => {
- // https://on.cypress.io/focused
- cy.get('.misc-form').find('#name').click()
- cy.focused().should('have.id', 'name')
-
- cy.get('.misc-form').find('#description').click()
- cy.focused().should('have.id', 'description')
- })
-
- context('Cypress.Screenshot', function () {
- it('cy.screenshot() - take a screenshot', () => {
- // https://on.cypress.io/screenshot
- cy.screenshot('my-image')
- })
-
- it('Cypress.Screenshot.defaults() - change default config of screenshots', function () {
- Cypress.Screenshot.defaults({
- blackout: ['.foo'],
- capture: 'viewport',
- clip: { x: 0, y: 0, width: 200, height: 200 },
- scale: false,
- disableTimersAndAnimations: true,
- screenshotOnRunFailure: true,
- onBeforeScreenshot () { },
- onAfterScreenshot () { },
- })
- })
- })
-
- it('cy.wrap() - wrap an object', () => {
- // https://on.cypress.io/wrap
- cy.wrap({ foo: 'bar' })
- .should('have.property', 'foo')
- .and('include', 'bar')
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/navigation.cy.js b/cypress/e2e/2-advanced-examples/navigation.cy.js
deleted file mode 100644
index b85a46890..000000000
--- a/cypress/e2e/2-advanced-examples/navigation.cy.js
+++ /dev/null
@@ -1,56 +0,0 @@
-///
-
-context('Navigation', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io')
- cy.get('.navbar-nav').contains('Commands').click()
- cy.get('.dropdown-menu').contains('Navigation').click()
- })
-
- it('cy.go() - go back or forward in the browser\'s history', () => {
- // https://on.cypress.io/go
-
- cy.location('pathname').should('include', 'navigation')
-
- cy.go('back')
- cy.location('pathname').should('not.include', 'navigation')
-
- cy.go('forward')
- cy.location('pathname').should('include', 'navigation')
-
- // clicking back
- cy.go(-1)
- cy.location('pathname').should('not.include', 'navigation')
-
- // clicking forward
- cy.go(1)
- cy.location('pathname').should('include', 'navigation')
- })
-
- it('cy.reload() - reload the page', () => {
- // https://on.cypress.io/reload
- cy.reload()
-
- // reload the page without using the cache
- cy.reload(true)
- })
-
- it('cy.visit() - visit a remote url', () => {
- // https://on.cypress.io/visit
-
- // Visit any sub-domain of your current domain
-
- // Pass options to the visit
- cy.visit('https://example.cypress.io/commands/navigation', {
- timeout: 50000, // increase total time for the visit to resolve
- onBeforeLoad (contentWindow) {
- // contentWindow is the remote page's window object
- expect(typeof contentWindow === 'object').to.be.true
- },
- onLoad (contentWindow) {
- // contentWindow is the remote page's window object
- expect(typeof contentWindow === 'object').to.be.true
- },
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/network_requests.cy.js b/cypress/e2e/2-advanced-examples/network_requests.cy.js
deleted file mode 100644
index 11213a0e8..000000000
--- a/cypress/e2e/2-advanced-examples/network_requests.cy.js
+++ /dev/null
@@ -1,163 +0,0 @@
-///
-
-context('Network Requests', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/network-requests')
- })
-
- // Manage HTTP requests in your app
-
- it('cy.request() - make an XHR request', () => {
- // https://on.cypress.io/request
- cy.request('https://jsonplaceholder.cypress.io/comments')
- .should((response) => {
- expect(response.status).to.eq(200)
- // the server sometimes gets an extra comment posted from another machine
- // which gets returned as 1 extra object
- expect(response.body).to.have.property('length').and.be.oneOf([500, 501])
- expect(response).to.have.property('headers')
- expect(response).to.have.property('duration')
- })
- })
-
- it('cy.request() - verify response using BDD syntax', () => {
- cy.request('https://jsonplaceholder.cypress.io/comments')
- .then((response) => {
- // https://on.cypress.io/assertions
- expect(response).property('status').to.equal(200)
- expect(response).property('body').to.have.property('length').and.be.oneOf([500, 501])
- expect(response).to.include.keys('headers', 'duration')
- })
- })
-
- it('cy.request() with query parameters', () => {
- // will execute request
- // https://jsonplaceholder.cypress.io/comments?postId=1&id=3
- cy.request({
- url: 'https://jsonplaceholder.cypress.io/comments',
- qs: {
- postId: 1,
- id: 3,
- },
- })
- .its('body')
- .should('be.an', 'array')
- .and('have.length', 1)
- .its('0') // yields first element of the array
- .should('contain', {
- postId: 1,
- id: 3,
- })
- })
-
- it('cy.request() - pass result to the second request', () => {
- // first, let's find out the userId of the first user we have
- cy.request('https://jsonplaceholder.cypress.io/users?_limit=1')
- .its('body') // yields the response object
- .its('0') // yields the first element of the returned list
- // the above two commands its('body').its('0')
- // can be written as its('body.0')
- // if you do not care about TypeScript checks
- .then((user) => {
- expect(user).property('id').to.be.a('number')
- // make a new post on behalf of the user
- cy.request('POST', 'https://jsonplaceholder.cypress.io/posts', {
- userId: user.id,
- title: 'Cypress Test Runner',
- body: 'Fast, easy and reliable testing for anything that runs in a browser.',
- })
- })
- // note that the value here is the returned value of the 2nd request
- // which is the new post object
- .then((response) => {
- expect(response).property('status').to.equal(201) // new entity created
- expect(response).property('body').to.contain({
- title: 'Cypress Test Runner',
- })
-
- // we don't know the exact post id - only that it will be > 100
- // since JSONPlaceholder has built-in 100 posts
- expect(response.body).property('id').to.be.a('number')
- .and.to.be.gt(100)
-
- // we don't know the user id here - since it was in above closure
- // so in this test just confirm that the property is there
- expect(response.body).property('userId').to.be.a('number')
- })
- })
-
- it('cy.request() - save response in the shared test context', () => {
- // https://on.cypress.io/variables-and-aliases
- cy.request('https://jsonplaceholder.cypress.io/users?_limit=1')
- .its('body').its('0') // yields the first element of the returned list
- .as('user') // saves the object in the test context
- .then(function () {
- // NOTE 👀
- // By the time this callback runs the "as('user')" command
- // has saved the user object in the test context.
- // To access the test context we need to use
- // the "function () { ... }" callback form,
- // otherwise "this" points at a wrong or undefined object!
- cy.request('POST', 'https://jsonplaceholder.cypress.io/posts', {
- userId: this.user.id,
- title: 'Cypress Test Runner',
- body: 'Fast, easy and reliable testing for anything that runs in a browser.',
- })
- .its('body').as('post') // save the new post from the response
- })
- .then(function () {
- // When this callback runs, both "cy.request" API commands have finished
- // and the test context has "user" and "post" objects set.
- // Let's verify them.
- expect(this.post, 'post has the right user id').property('userId').to.equal(this.user.id)
- })
- })
-
- it('cy.intercept() - route responses to matching requests', () => {
- // https://on.cypress.io/intercept
-
- let message = 'whoa, this comment does not exist'
-
- // Listen to GET to comments/1
- cy.intercept('GET', '**/comments/*').as('getComment')
-
- // we have code that gets a comment when
- // the button is clicked in scripts.js
- cy.get('.network-btn').click()
-
- // https://on.cypress.io/wait
- cy.wait('@getComment').its('response.statusCode').should('be.oneOf', [200, 304])
-
- // Listen to POST to comments
- cy.intercept('POST', '**/comments').as('postComment')
-
- // we have code that posts a comment when
- // the button is clicked in scripts.js
- cy.get('.network-post').click()
- cy.wait('@postComment').should(({ request, response }) => {
- expect(request.body).to.include('email')
- expect(request.headers).to.have.property('content-type')
- expect(response && response.body).to.have.property('name', 'Using POST in cy.intercept()')
- })
-
- // Stub a response to PUT comments/ ****
- cy.intercept({
- method: 'PUT',
- url: '**/comments/*',
- }, {
- statusCode: 404,
- body: { error: message },
- headers: { 'access-control-allow-origin': '*' },
- delayMs: 500,
- }).as('putComment')
-
- // we have code that puts a comment when
- // the button is clicked in scripts.js
- cy.get('.network-put').click()
-
- cy.wait('@putComment')
-
- // our 404 statusCode logic in scripts.js executed
- cy.get('.network-put-comment').should('contain', message)
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/querying.cy.js b/cypress/e2e/2-advanced-examples/querying.cy.js
deleted file mode 100644
index 00970480f..000000000
--- a/cypress/e2e/2-advanced-examples/querying.cy.js
+++ /dev/null
@@ -1,114 +0,0 @@
-///
-
-context('Querying', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/querying')
- })
-
- // The most commonly used query is 'cy.get()', you can
- // think of this like the '$' in jQuery
-
- it('cy.get() - query DOM elements', () => {
- // https://on.cypress.io/get
-
- cy.get('#query-btn').should('contain', 'Button')
-
- cy.get('.query-btn').should('contain', 'Button')
-
- cy.get('#querying .well>button:first').should('contain', 'Button')
- // ↲
- // Use CSS selectors just like jQuery
-
- cy.get('[data-test-id="test-example"]').should('have.class', 'example')
-
- // 'cy.get()' yields jQuery object, you can get its attribute
- // by invoking `.attr()` method
- cy.get('[data-test-id="test-example"]')
- .invoke('attr', 'data-test-id')
- .should('equal', 'test-example')
-
- // or you can get element's CSS property
- cy.get('[data-test-id="test-example"]')
- .invoke('css', 'position')
- .should('equal', 'static')
-
- // or use assertions directly during 'cy.get()'
- // https://on.cypress.io/assertions
- cy.get('[data-test-id="test-example"]')
- .should('have.attr', 'data-test-id', 'test-example')
- .and('have.css', 'position', 'static')
- })
-
- it('cy.contains() - query DOM elements with matching content', () => {
- // https://on.cypress.io/contains
- cy.get('.query-list')
- .contains('bananas')
- .should('have.class', 'third')
-
- // we can pass a regexp to `.contains()`
- cy.get('.query-list')
- .contains(/^b\w+/)
- .should('have.class', 'third')
-
- cy.get('.query-list')
- .contains('apples')
- .should('have.class', 'first')
-
- // passing a selector to contains will
- // yield the selector containing the text
- cy.get('#querying')
- .contains('ul', 'oranges')
- .should('have.class', 'query-list')
-
- cy.get('.query-button')
- .contains('Save Form')
- .should('have.class', 'btn')
- })
-
- it('.within() - query DOM elements within a specific element', () => {
- // https://on.cypress.io/within
- cy.get('.query-form').within(() => {
- cy.get('input:first').should('have.attr', 'placeholder', 'Email')
- cy.get('input:last').should('have.attr', 'placeholder', 'Password')
- })
- })
-
- it('cy.root() - query the root DOM element', () => {
- // https://on.cypress.io/root
-
- // By default, root is the document
- cy.root().should('match', 'html')
-
- cy.get('.query-ul').within(() => {
- // In this within, the root is now the ul DOM element
- cy.root().should('have.class', 'query-ul')
- })
- })
-
- it('best practices - selecting elements', () => {
- // https://on.cypress.io/best-practices#Selecting-Elements
- cy.get('[data-cy=best-practices-selecting-elements]').within(() => {
- // Worst - too generic, no context
- cy.get('button').click()
-
- // Bad. Coupled to styling. Highly subject to change.
- cy.get('.btn.btn-large').click()
-
- // Average. Coupled to the `name` attribute which has HTML semantics.
- cy.get('[name=submission]').click()
-
- // Better. But still coupled to styling or JS event listeners.
- cy.get('#main').click()
-
- // Slightly better. Uses an ID but also ensures the element
- // has an ARIA role attribute
- cy.get('#main[role=button]').click()
-
- // Much better. But still coupled to text content that may change.
- cy.contains('Submit').click()
-
- // Best. Insulated from all changes.
- cy.get('[data-cy=submit]').click()
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/spies_stubs_clocks.cy.js b/cypress/e2e/2-advanced-examples/spies_stubs_clocks.cy.js
deleted file mode 100644
index 72d8a213d..000000000
--- a/cypress/e2e/2-advanced-examples/spies_stubs_clocks.cy.js
+++ /dev/null
@@ -1,203 +0,0 @@
-///
-// remove no check once Cypress.sinon is typed
-// https://github.com/cypress-io/cypress/issues/6720
-
-context('Spies, Stubs, and Clock', () => {
- it('cy.spy() - wrap a method in a spy', () => {
- // https://on.cypress.io/spy
- cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
-
- const obj = {
- foo () {},
- }
-
- const spy = cy.spy(obj, 'foo').as('anyArgs')
-
- obj.foo()
-
- expect(spy).to.be.called
- })
-
- it('cy.spy() retries until assertions pass', () => {
- cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
-
- const obj = {
- /**
- * Prints the argument passed
- * @param x {any}
- */
- foo (x) {
- console.log('obj.foo called with', x)
- },
- }
-
- cy.spy(obj, 'foo').as('foo')
-
- setTimeout(() => {
- obj.foo('first')
- }, 500)
-
- setTimeout(() => {
- obj.foo('second')
- }, 2500)
-
- cy.get('@foo').should('have.been.calledTwice')
- })
-
- it('cy.stub() - create a stub and/or replace a function with stub', () => {
- // https://on.cypress.io/stub
- cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
-
- const obj = {
- /**
- * prints both arguments to the console
- * @param a {string}
- * @param b {string}
- */
- foo (a, b) {
- console.log('a', a, 'b', b)
- },
- }
-
- const stub = cy.stub(obj, 'foo').as('foo')
-
- obj.foo('foo', 'bar')
-
- expect(stub).to.be.called
- })
-
- it('cy.clock() - control time in the browser', () => {
- // https://on.cypress.io/clock
-
- // create the date in UTC so its always the same
- // no matter what local timezone the browser is running in
- const now = new Date(Date.UTC(2017, 2, 14)).getTime()
-
- cy.clock(now)
- cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
- cy.get('#clock-div').click()
- .should('have.text', '1489449600')
- })
-
- it('cy.tick() - move time in the browser', () => {
- // https://on.cypress.io/tick
-
- // create the date in UTC so its always the same
- // no matter what local timezone the browser is running in
- const now = new Date(Date.UTC(2017, 2, 14)).getTime()
-
- cy.clock(now)
- cy.visit('https://example.cypress.io/commands/spies-stubs-clocks')
- cy.get('#tick-div').click()
- .should('have.text', '1489449600')
-
- cy.tick(10000) // 10 seconds passed
- cy.get('#tick-div').click()
- .should('have.text', '1489449610')
- })
-
- it('cy.stub() matches depending on arguments', () => {
- // see all possible matchers at
- // https://sinonjs.org/releases/latest/matchers/
- const greeter = {
- /**
- * Greets a person
- * @param {string} name
- */
- greet (name) {
- return `Hello, ${name}!`
- },
- }
-
- cy.stub(greeter, 'greet')
- .callThrough() // if you want non-matched calls to call the real method
- .withArgs(Cypress.sinon.match.string).returns('Hi')
- .withArgs(Cypress.sinon.match.number).throws(new Error('Invalid name'))
-
- expect(greeter.greet('World')).to.equal('Hi')
- expect(() => greeter.greet(42)).to.throw('Invalid name')
- expect(greeter.greet).to.have.been.calledTwice
-
- // non-matched calls goes the actual method
- expect(greeter.greet()).to.equal('Hello, undefined!')
- })
-
- it('matches call arguments using Sinon matchers', () => {
- // see all possible matchers at
- // https://sinonjs.org/releases/latest/matchers/
- const calculator = {
- /**
- * returns the sum of two arguments
- * @param a {number}
- * @param b {number}
- */
- add (a, b) {
- return a + b
- },
- }
-
- const spy = cy.spy(calculator, 'add').as('add')
-
- expect(calculator.add(2, 3)).to.equal(5)
-
- // if we want to assert the exact values used during the call
- expect(spy).to.be.calledWith(2, 3)
-
- // let's confirm "add" method was called with two numbers
- expect(spy).to.be.calledWith(Cypress.sinon.match.number, Cypress.sinon.match.number)
-
- // alternatively, provide the value to match
- expect(spy).to.be.calledWith(Cypress.sinon.match(2), Cypress.sinon.match(3))
-
- // match any value
- expect(spy).to.be.calledWith(Cypress.sinon.match.any, 3)
-
- // match any value from a list
- expect(spy).to.be.calledWith(Cypress.sinon.match.in([1, 2, 3]), 3)
-
- /**
- * Returns true if the given number is even
- * @param {number} x
- */
- const isEven = (x) => x % 2 === 0
-
- // expect the value to pass a custom predicate function
- // the second argument to "sinon.match(predicate, message)" is
- // shown if the predicate does not pass and assertion fails
- expect(spy).to.be.calledWith(Cypress.sinon.match(isEven, 'isEven'), 3)
-
- /**
- * Returns a function that checks if a given number is larger than the limit
- * @param {number} limit
- * @returns {(x: number) => boolean}
- */
- const isGreaterThan = (limit) => (x) => x > limit
-
- /**
- * Returns a function that checks if a given number is less than the limit
- * @param {number} limit
- * @returns {(x: number) => boolean}
- */
- const isLessThan = (limit) => (x) => x < limit
-
- // you can combine several matchers using "and", "or"
- expect(spy).to.be.calledWith(
- Cypress.sinon.match.number,
- Cypress.sinon.match(isGreaterThan(2), '> 2').and(Cypress.sinon.match(isLessThan(4), '< 4')),
- )
-
- expect(spy).to.be.calledWith(
- Cypress.sinon.match.number,
- Cypress.sinon.match(isGreaterThan(200), '> 200').or(Cypress.sinon.match(3)),
- )
-
- // matchers can be used from BDD assertions
- cy.get('@add').should('have.been.calledWith',
- Cypress.sinon.match.number, Cypress.sinon.match(3))
-
- // you can alias matchers for shorter test code
- const { match: M } = Cypress.sinon
-
- cy.get('@add').should('have.been.calledWith', M.number, M(3))
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/traversal.cy.js b/cypress/e2e/2-advanced-examples/traversal.cy.js
deleted file mode 100644
index 0a3b9d330..000000000
--- a/cypress/e2e/2-advanced-examples/traversal.cy.js
+++ /dev/null
@@ -1,121 +0,0 @@
-///
-
-context('Traversal', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/traversal')
- })
-
- it('.children() - get child DOM elements', () => {
- // https://on.cypress.io/children
- cy.get('.traversal-breadcrumb')
- .children('.active')
- .should('contain', 'Data')
- })
-
- it('.closest() - get closest ancestor DOM element', () => {
- // https://on.cypress.io/closest
- cy.get('.traversal-badge')
- .closest('ul')
- .should('have.class', 'list-group')
- })
-
- it('.eq() - get a DOM element at a specific index', () => {
- // https://on.cypress.io/eq
- cy.get('.traversal-list>li')
- .eq(1).should('contain', 'siamese')
- })
-
- it('.filter() - get DOM elements that match the selector', () => {
- // https://on.cypress.io/filter
- cy.get('.traversal-nav>li')
- .filter('.active').should('contain', 'About')
- })
-
- it('.find() - get descendant DOM elements of the selector', () => {
- // https://on.cypress.io/find
- cy.get('.traversal-pagination')
- .find('li').find('a')
- .should('have.length', 7)
- })
-
- it('.first() - get first DOM element', () => {
- // https://on.cypress.io/first
- cy.get('.traversal-table td')
- .first().should('contain', '1')
- })
-
- it('.last() - get last DOM element', () => {
- // https://on.cypress.io/last
- cy.get('.traversal-buttons .btn')
- .last().should('contain', 'Submit')
- })
-
- it('.next() - get next sibling DOM element', () => {
- // https://on.cypress.io/next
- cy.get('.traversal-ul')
- .contains('apples').next().should('contain', 'oranges')
- })
-
- it('.nextAll() - get all next sibling DOM elements', () => {
- // https://on.cypress.io/nextall
- cy.get('.traversal-next-all')
- .contains('oranges')
- .nextAll().should('have.length', 3)
- })
-
- it('.nextUntil() - get next sibling DOM elements until next el', () => {
- // https://on.cypress.io/nextuntil
- cy.get('#veggies')
- .nextUntil('#nuts').should('have.length', 3)
- })
-
- it('.not() - remove DOM elements from set of DOM elements', () => {
- // https://on.cypress.io/not
- cy.get('.traversal-disabled .btn')
- .not('[disabled]').should('not.contain', 'Disabled')
- })
-
- it('.parent() - get parent DOM element from DOM elements', () => {
- // https://on.cypress.io/parent
- cy.get('.traversal-mark')
- .parent().should('contain', 'Morbi leo risus')
- })
-
- it('.parents() - get parent DOM elements from DOM elements', () => {
- // https://on.cypress.io/parents
- cy.get('.traversal-cite')
- .parents().should('match', 'blockquote')
- })
-
- it('.parentsUntil() - get parent DOM elements from DOM elements until el', () => {
- // https://on.cypress.io/parentsuntil
- cy.get('.clothes-nav')
- .find('.active')
- .parentsUntil('.clothes-nav')
- .should('have.length', 2)
- })
-
- it('.prev() - get previous sibling DOM element', () => {
- // https://on.cypress.io/prev
- cy.get('.birds').find('.active')
- .prev().should('contain', 'Lorikeets')
- })
-
- it('.prevAll() - get all previous sibling DOM elements', () => {
- // https://on.cypress.io/prevall
- cy.get('.fruits-list').find('.third')
- .prevAll().should('have.length', 2)
- })
-
- it('.prevUntil() - get all previous sibling DOM elements until el', () => {
- // https://on.cypress.io/prevuntil
- cy.get('.foods-list').find('#nuts')
- .prevUntil('#veggies').should('have.length', 3)
- })
-
- it('.siblings() - get all sibling DOM elements', () => {
- // https://on.cypress.io/siblings
- cy.get('.traversal-pills .active')
- .siblings().should('have.length', 2)
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/utilities.cy.js b/cypress/e2e/2-advanced-examples/utilities.cy.js
deleted file mode 100644
index 14934c22e..000000000
--- a/cypress/e2e/2-advanced-examples/utilities.cy.js
+++ /dev/null
@@ -1,108 +0,0 @@
-///
-
-context('Utilities', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/utilities')
- })
-
- it('Cypress._ - call a lodash method', () => {
- // https://on.cypress.io/_
- cy.request('https://jsonplaceholder.cypress.io/users')
- .then((response) => {
- let ids = Cypress._.chain(response.body).map('id').take(3).value()
-
- expect(ids).to.deep.eq([1, 2, 3])
- })
- })
-
- it('Cypress.$ - call a jQuery method', () => {
- // https://on.cypress.io/$
- let $li = Cypress.$('.utility-jquery li:first')
-
- cy.wrap($li)
- .should('not.have.class', 'active')
- .click()
- .should('have.class', 'active')
- })
-
- it('Cypress.Blob - blob utilities and base64 string conversion', () => {
- // https://on.cypress.io/blob
- cy.get('.utility-blob').then(($div) => {
- // https://github.com/nolanlawson/blob-util#imgSrcToDataURL
- // get the dataUrl string for the javascript-logo
- return Cypress.Blob.imgSrcToDataURL('https://example.cypress.io/assets/img/javascript-logo.png', undefined, 'anonymous')
- .then((dataUrl) => {
- // create an element and set its src to the dataUrl
- let img = Cypress.$(' ', { src: dataUrl })
-
- // need to explicitly return cy here since we are initially returning
- // the Cypress.Blob.imgSrcToDataURL promise to our test
- // append the image
- $div.append(img)
-
- cy.get('.utility-blob img').click()
- .should('have.attr', 'src', dataUrl)
- })
- })
- })
-
- it('Cypress.minimatch - test out glob patterns against strings', () => {
- // https://on.cypress.io/minimatch
- let matching = Cypress.minimatch('/users/1/comments', '/users/*/comments', {
- matchBase: true,
- })
-
- expect(matching, 'matching wildcard').to.be.true
-
- matching = Cypress.minimatch('/users/1/comments/2', '/users/*/comments', {
- matchBase: true,
- })
-
- expect(matching, 'comments').to.be.false
-
- // ** matches against all downstream path segments
- matching = Cypress.minimatch('/foo/bar/baz/123/quux?a=b&c=2', '/foo/**', {
- matchBase: true,
- })
-
- expect(matching, 'comments').to.be.true
-
- // whereas * matches only the next path segment
-
- matching = Cypress.minimatch('/foo/bar/baz/123/quux?a=b&c=2', '/foo/*', {
- matchBase: false,
- })
-
- expect(matching, 'comments').to.be.false
- })
-
- it('Cypress.Promise - instantiate a bluebird promise', () => {
- // https://on.cypress.io/promise
- let waited = false
-
- /**
- * @return Bluebird
- */
- function waitOneSecond () {
- // return a promise that resolves after 1 second
- return new Cypress.Promise((resolve, reject) => {
- setTimeout(() => {
- // set waited to true
- waited = true
-
- // resolve with 'foo' string
- resolve('foo')
- }, 1000)
- })
- }
-
- cy.then(() => {
- // return a promise to cy.then() that
- // is awaited until it resolves
- return waitOneSecond().then((str) => {
- expect(str).to.eq('foo')
- expect(waited).to.be.true
- })
- })
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/viewport.cy.js b/cypress/e2e/2-advanced-examples/viewport.cy.js
deleted file mode 100644
index 95d3eb457..000000000
--- a/cypress/e2e/2-advanced-examples/viewport.cy.js
+++ /dev/null
@@ -1,59 +0,0 @@
-///
-
-context('Viewport', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/viewport')
- })
-
- it('cy.viewport() - set the viewport size and dimension', () => {
- // https://on.cypress.io/viewport
-
- cy.get('#navbar').should('be.visible')
- cy.viewport(320, 480)
-
- // the navbar should have collapse since our screen is smaller
- cy.get('#navbar').should('not.be.visible')
- cy.get('.navbar-toggle').should('be.visible').click()
- cy.get('.nav').find('a').should('be.visible')
-
- // lets see what our app looks like on a super large screen
- cy.viewport(2999, 2999)
-
- // cy.viewport() accepts a set of preset sizes
- // to easily set the screen to a device's width and height
-
- // We added a cy.wait() between each viewport change so you can see
- // the change otherwise it is a little too fast to see :)
-
- cy.viewport('macbook-15')
- cy.wait(200)
- cy.viewport('macbook-13')
- cy.wait(200)
- cy.viewport('macbook-11')
- cy.wait(200)
- cy.viewport('ipad-2')
- cy.wait(200)
- cy.viewport('ipad-mini')
- cy.wait(200)
- cy.viewport('iphone-6+')
- cy.wait(200)
- cy.viewport('iphone-6')
- cy.wait(200)
- cy.viewport('iphone-5')
- cy.wait(200)
- cy.viewport('iphone-4')
- cy.wait(200)
- cy.viewport('iphone-3')
- cy.wait(200)
-
- // cy.viewport() accepts an orientation for all presets
- // the default orientation is 'portrait'
- cy.viewport('ipad-2', 'portrait')
- cy.wait(200)
- cy.viewport('iphone-4', 'landscape')
- cy.wait(200)
-
- // The viewport will be reset back to the default dimensions
- // in between tests (the default can be set in cypress.config.{js|ts})
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/waiting.cy.js b/cypress/e2e/2-advanced-examples/waiting.cy.js
deleted file mode 100644
index c8f0d7c67..000000000
--- a/cypress/e2e/2-advanced-examples/waiting.cy.js
+++ /dev/null
@@ -1,31 +0,0 @@
-///
-
-context('Waiting', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/waiting')
- })
- // BE CAREFUL of adding unnecessary wait times.
- // https://on.cypress.io/best-practices#Unnecessary-Waiting
-
- // https://on.cypress.io/wait
- it('cy.wait() - wait for a specific amount of time', () => {
- cy.get('.wait-input1').type('Wait 1000ms after typing')
- cy.wait(1000)
- cy.get('.wait-input2').type('Wait 1000ms after typing')
- cy.wait(1000)
- cy.get('.wait-input3').type('Wait 1000ms after typing')
- cy.wait(1000)
- })
-
- it('cy.wait() - wait for a specific route', () => {
- // Listen to GET to comments/1
- cy.intercept('GET', '**/comments/*').as('getComment')
-
- // we have code that gets a comment when
- // the button is clicked in scripts.js
- cy.get('.network-btn').click()
-
- // wait for GET comments/1
- cy.wait('@getComment').its('response.statusCode').should('be.oneOf', [200, 304])
- })
-})
diff --git a/cypress/e2e/2-advanced-examples/window.cy.js b/cypress/e2e/2-advanced-examples/window.cy.js
deleted file mode 100644
index f94b64971..000000000
--- a/cypress/e2e/2-advanced-examples/window.cy.js
+++ /dev/null
@@ -1,22 +0,0 @@
-///
-
-context('Window', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/window')
- })
-
- it('cy.window() - get the global window object', () => {
- // https://on.cypress.io/window
- cy.window().should('have.property', 'top')
- })
-
- it('cy.document() - get the document object', () => {
- // https://on.cypress.io/document
- cy.document().should('have.property', 'charset').and('eq', 'UTF-8')
- })
-
- it('cy.title() - get the title', () => {
- // https://on.cypress.io/title
- cy.title().should('include', 'Kitchen Sink')
- })
-})
diff --git a/cypress/e2e/tests/menuPage.cy.js b/cypress/e2e/tests/menuPage.cy.js
deleted file mode 100644
index 3d8a0239d..000000000
--- a/cypress/e2e/tests/menuPage.cy.js
+++ /dev/null
@@ -1,8 +0,0 @@
-describe('Menu Page', () => {
- const pageTitle = 'Adapt Version 5';
-
- it(`should have the title ${pageTitle}`, () => {
- cy.visit('/');
- cy.get('.menu__title-inner').should('contain', pageTitle);
- });
-});
diff --git a/cypress/support/commands.js b/cypress/support/commands.js
deleted file mode 100644
index 66ea16ef0..000000000
--- a/cypress/support/commands.js
+++ /dev/null
@@ -1,25 +0,0 @@
-// ***********************************************
-// This example commands.js shows you how to
-// create various custom commands and overwrite
-// existing commands.
-//
-// For more comprehensive examples of custom
-// commands please read more here:
-// https://on.cypress.io/custom-commands
-// ***********************************************
-//
-//
-// -- This is a parent command --
-// Cypress.Commands.add('login', (email, password) => { ... })
-//
-//
-// -- This is a child command --
-// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
-//
-//
-// -- This is a dual command --
-// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
-//
-//
-// -- This will overwrite an existing command --
-// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
\ No newline at end of file
diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js
deleted file mode 100644
index 0e7290a13..000000000
--- a/cypress/support/e2e.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// ***********************************************************
-// This example support/e2e.js is processed and
-// loaded automatically before your test files.
-//
-// This is a great place to put global configuration and
-// behavior that modifies Cypress.
-//
-// You can change the location of this file or turn off
-// automatically serving support files with the
-// 'supportFile' configuration option.
-//
-// You can read more here:
-// https://on.cypress.io/configuration
-// ***********************************************************
-
-// Import commands.js using ES2015 syntax:
-import './commands'
-
-// Alternatively you can use CommonJS syntax:
-// require('./commands')
\ No newline at end of file
diff --git a/src/LP/Components/adapt-component-fillintheblanks b/src/LP/Components/adapt-component-fillintheblanks
deleted file mode 160000
index 27f645aa7..000000000
--- a/src/LP/Components/adapt-component-fillintheblanks
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 27f645aa73b69a6dc077247f591a5aafdc0dee5e
diff --git a/src/LP/Components/adapt-contrib-branching b/src/LP/Components/adapt-contrib-branching
deleted file mode 160000
index 71708d7fd..000000000
--- a/src/LP/Components/adapt-contrib-branching
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 71708d7fd60ae66e5415828b2fe58bd6251e5504
diff --git a/src/LP/Components/adapt-contrib-brightcoveplayer b/src/LP/Components/adapt-contrib-brightcoveplayer
deleted file mode 160000
index 10941a07b..000000000
--- a/src/LP/Components/adapt-contrib-brightcoveplayer
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 10941a07bbbe81f315656df4f408f5111ce5f995
diff --git a/src/LP/Components/adapt-contrib-chatbot b/src/LP/Components/adapt-contrib-chatbot
deleted file mode 160000
index ec6012707..000000000
--- a/src/LP/Components/adapt-contrib-chatbot
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ec60127072e5b75e691f9df5429710a09605f954
diff --git a/src/LP/Components/adapt-contrib-courseScore b/src/LP/Components/adapt-contrib-courseScore
deleted file mode 160000
index f4669fb25..000000000
--- a/src/LP/Components/adapt-contrib-courseScore
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4669fb25551166b46644572b6e2f3deafb8ae6e
diff --git a/src/LP/Components/adapt-contrib-exhibit b/src/LP/Components/adapt-contrib-exhibit
deleted file mode 160000
index 96e5447bb..000000000
--- a/src/LP/Components/adapt-contrib-exhibit
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 96e5447bbe804087e6de407a7f1a6c8158671813
diff --git a/src/LP/Components/adapt-contrib-flipcard b/src/LP/Components/adapt-contrib-flipcard
deleted file mode 160000
index a376dc9b7..000000000
--- a/src/LP/Components/adapt-contrib-flipcard
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a376dc9b704f80488edc7c062d0e6d7f291310f9
diff --git a/src/LP/Components/adapt-contrib-hiddenhotspots b/src/LP/Components/adapt-contrib-hiddenhotspots
deleted file mode 160000
index af7b043b1..000000000
--- a/src/LP/Components/adapt-contrib-hiddenhotspots
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit af7b043b1fa9d841e9186a80b5041cb5e67cafdb
diff --git a/src/LP/Components/adapt-contrib-hotgraphic b/src/LP/Components/adapt-contrib-hotgraphic
deleted file mode 160000
index 0ecd1f7ec..000000000
--- a/src/LP/Components/adapt-contrib-hotgraphic
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0ecd1f7eca87484f43c849cc2a9944e6a0ba1ed0
diff --git a/src/LP/Components/adapt-contrib-matching b/src/LP/Components/adapt-contrib-matching
deleted file mode 160000
index a737985cd..000000000
--- a/src/LP/Components/adapt-contrib-matching
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a737985cde57e42d8b1b27df28dd6664741b570a
diff --git a/src/LP/Components/adapt-contrib-mcqresults b/src/LP/Components/adapt-contrib-mcqresults
deleted file mode 160000
index ac2831b66..000000000
--- a/src/LP/Components/adapt-contrib-mcqresults
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ac2831b6614ad46dedb7263e7196761e713e4bf7
diff --git a/src/LP/Components/adapt-contrib-media b/src/LP/Components/adapt-contrib-media
deleted file mode 160000
index 1e7957f14..000000000
--- a/src/LP/Components/adapt-contrib-media
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1e7957f146b1e181b401d606259dfa0e0551f004
diff --git a/src/LP/Components/adapt-contrib-openTextInput b/src/LP/Components/adapt-contrib-openTextInput
deleted file mode 160000
index 8e34d679f..000000000
--- a/src/LP/Components/adapt-contrib-openTextInput
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8e34d679ff585ba8cb4bdbdc96df98caec2b6fa6
diff --git a/src/LP/Components/adapt-contrib-referenceslist b/src/LP/Components/adapt-contrib-referenceslist
deleted file mode 160000
index ceac1fb76..000000000
--- a/src/LP/Components/adapt-contrib-referenceslist
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ceac1fb766f8620643052264acfaf97c267aaae2
diff --git a/src/LP/Components/adapt-contrib-responsiveIframe b/src/LP/Components/adapt-contrib-responsiveIframe
deleted file mode 160000
index 22c694211..000000000
--- a/src/LP/Components/adapt-contrib-responsiveIframe
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 22c6942112f67d6980093ca86af054a0ec8d602d
diff --git a/src/LP/Components/adapt-contrib-reveal b/src/LP/Components/adapt-contrib-reveal
deleted file mode 160000
index c5cf4727d..000000000
--- a/src/LP/Components/adapt-contrib-reveal
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c5cf4727d9ba54cc4746cfaf5bcdb604c6005b8d
diff --git a/src/LP/Components/adapt-contrib-slider-LP b/src/LP/Components/adapt-contrib-slider-LP
deleted file mode 160000
index 7e6834293..000000000
--- a/src/LP/Components/adapt-contrib-slider-LP
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 7e68342931409f0acc57664cbf8f95294b7a4d28
diff --git a/src/LP/Components/adapt-contrib-stacker b/src/LP/Components/adapt-contrib-stacker
deleted file mode 160000
index 8db76da75..000000000
--- a/src/LP/Components/adapt-contrib-stacker
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8db76da753a4f91a54bbdd711e036130219879ad
diff --git a/src/LP/Components/adapt-contrib-suppressscore b/src/LP/Components/adapt-contrib-suppressscore
deleted file mode 160000
index bc4e72b6e..000000000
--- a/src/LP/Components/adapt-contrib-suppressscore
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit bc4e72b6e254ad87653ab090d8363513350e3af3
diff --git a/src/LP/Components/adapt-contrib-truefalse b/src/LP/Components/adapt-contrib-truefalse
deleted file mode 160000
index a676c9cd7..000000000
--- a/src/LP/Components/adapt-contrib-truefalse
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a676c9cd73cea368eaba54fcac1c6adab6653fca
diff --git a/src/LP/Components/adapt-imagegallery b/src/LP/Components/adapt-imagegallery
deleted file mode 160000
index 5836930df..000000000
--- a/src/LP/Components/adapt-imagegallery
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5836930dfe180cd8c72af5e472b88616fdb0024c
diff --git a/src/LP/Components/adapt-yesno b/src/LP/Components/adapt-yesno
deleted file mode 160000
index 58264a095..000000000
--- a/src/LP/Components/adapt-yesno
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 58264a095993ff83fc29a26233a7a2c155b43cc0
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq
deleted file mode 160000
index 25f0ed675..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 25f0ed67570d6eb336f72f962ba76f3eb7b32566
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/.gitignore b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/.gitignore
deleted file mode 100644
index b512c09d4..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
\ No newline at end of file
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/LICENSE b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/LICENSE
deleted file mode 100644
index a8f555c48..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. {http://fsf.org/}
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {one line to give the program's name and a brief idea of what it does.}
- Copyright (C) {year} {name of author}
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- adapt-hello-world Copyright (C) 2013 Chris Jones
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-{http://www.gnu.org/licenses/}.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-{http://www.gnu.org/philosophy/why-not-lgpl.html}.
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/README.md b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/README.md
deleted file mode 100644
index 4581218ea..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/README.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# adapt-contrib-gmcq
-
-**Graphical Multiple Choice Question (GMCQ)** is a *question component* bundled with the [Adapt framework](https://github.com/adaptlearning/adapt_framework).
-
-
-
-It presents possible answers in the form of graphics or images. **GMCQ** is a variation on [**MCQ**](https://github.com/adaptlearning/mcq/wiki). It can be configured with a single correct answer or multiple correct answers. Upon submission, feedback is provided via the [**Tutor** extension](https://github.com/adaptlearning/adapt-contrib-tutor), if installed. Feedback can be provided for correct, incorrect and partially correct answers. The number of attempts allowed may be configured.
-
-[Visit the **GMCQ** wiki](https://github.com/adaptlearning/adapt-contrib-gmcq/wiki) for more information about its functionality and for explanations of key properties.
-
-
-
-## Installation
-
-As one of Adapt's *[core components](https://github.com/adaptlearning/adapt_framework/wiki/Core-Plug-ins-in-the-Adapt-Learning-Framework#components),* **GMCQ** is included with the [installation of the Adapt framework](https://github.com/adaptlearning/adapt_framework/wiki/Manual-installation-of-the-Adapt-framework#installation) and the [installation of the Adapt authoring tool](https://github.com/adaptlearning/adapt_authoring/wiki/Installing-Adapt-Origin).
-
-* If **GMCQ** has been uninstalled from the Adapt framework, it may be reinstalled.
-With the [Adapt CLI](https://github.com/adaptlearning/adapt-cli) installed, run the following from the command line:
-`adapt install adapt-contrib-gmcq`
-
- Alternatively, this component can also be installed by adding the following line of code to the *adapt.json* file:
- `"adapt-contrib-gmcq": "*"`
- Then running the command:
- `adapt install`
- (This second method will reinstall all plug-ins listed in *adapt.json*.)
-
-* If **GMCQ** has been uninstalled from the Adapt authoring tool, it may be reinstalled using the [Plug-in Manager](https://github.com/adaptlearning/adapt_authoring/wiki/Plugin-Manager).
-
-## Settings Overview
-
-The attributes listed below are used in *components.json* to configure **GMCQ**, and are properly formatted as JSON in [*example.json*](https://github.com/adaptlearning/adapt-contrib-gmcq/blob/master/example.json). Visit the [**GMCQ** wiki](gmcq/wiki) for more information about how they appear in the [authoring tool](https://github.com/adaptlearning/adapt_authoring/wiki).
-
-
-
-### Attributes
-
-In addition to the attributes specifically listed below, [*question components*](https://github.com/adaptlearning/adapt_framework/wiki/Core-Plug-ins-in-the-Adapt-Learning-Framework#question-components) can implement the following sets of attributes:
-+ [**core model attributes**](https://github.com/adaptlearning/adapt_framework/wiki/Core-model-attributes): These are inherited by every Adapt component. They have no default values. Like the attributes below, their values are assigned in *components.json*.
-+ [**core buttons**](https://github.com/adaptlearning/adapt_framework/wiki/Core-Buttons): Default values are found in *course.json*, but may be overridden by **GMCQ's** model in *components.json*.
-
-**_component** (string): This value must be: `gmcq`.
-
-**_classes** (string): CSS class name to be applied to **GMCQ**’s containing `div`. The class must be predefined in one of the Less files. Separate multiple classes with a space.
-
-**_layout** (string): This defines the horizontal position of the component in the block. Acceptable values are `full`, `left` or `right`.
-
-**instruction** (string): This optional text appears above the component. It is frequently used to
-guide the learner’s interaction with the component.
-
-**_attempts** (integer): This specifies the number of times a learner is allowed to submit an answer. The default is `1`.
-
-**_shouldDisplayAttempts** (boolean): Determines whether or not the text set in **remainingAttemptText** and **remainingAttemptsText** will be displayed. These two attributes are part of the [core buttons](https://github.com/adaptlearning/adapt_framework/wiki/Core-Buttons) attribute group. The default is `false`.
-
-**_isRandom** (boolean): Setting this value to `true` will cause the **_items** to appear in a random order each time the component is loaded. The default is `false`.
-
-**_questionWeight** (number): A number which reflects the significance of the question in relation to the other questions in the course. This number is used in calculations of the final score reported to the LMS.
-
-**_selectable** (number): Defines the number of **_items**, or answers, that can be selected. If the value of **_selectable** is `1`, **_items** will be presented with HTML radio buttons. If the value is greater than `1`, they will be presented with HTML checkboxes. This number must match or exceed the number of **_items** whose **_shouldBeSelected** is set to `true`. The default is `1`.
-
-**_canShowModelAnswer** (boolean): Setting this to `false` prevents the [**_showCorrectAnswer** button](https://github.com/adaptlearning/adapt_framework/wiki/Core-Buttons) from being displayed. The default is `true`.
-
-**_canShowFeedback** (boolean): Setting this to `false` disables feedback, so it is not shown to the user. The default is `true`.
-
-**_canShowMarking** (boolean): Setting this to `false` prevents ticks and crosses being displayed on question completion. The default is `true`.
-
-**_recordInteraction** (boolean) Determines whether or not the learner's answers will be recorded to the LMS via cmi.interactions. Default is `true`. For further information, see the entry for `_shouldRecordInteractions` in the README for [adapt-contrib-spoor](https://github.com/adaptlearning/adapt-contrib-spoor).
-
-**_columns** (number): Defines the number of columns wide the **_items** are displayed in. If the value of **_numberOfColumns** is `2`, each **_items** will be 50% wide. Similarly, if the value of **_numberOfColumns** is `3`, each **_items** will be 33.3% wide. In mobile view, the width of each **_items** is 100%.
-
-**_items** (array): Each *item* represents one choice for the multiple choice question and contains values for **_graphic**, **text**, and **_shouldBeSelected**.
-
->**text** (string): Optional text that is displayed as part of the multiple choice option.
-
->**_shouldBeSelected** (boolean): Value can be `true` or `false`. Use `true` for items that must be selected for a correct answer. The value of **_selectable** must correspond to the number of **_items** where **_shouldBeSelected** is set to `true`.
-
->**feedback** (string): This attribute is used only when the value for **_selectable** is set to `1` (i.e., radio button style questions). This text will be shown if the learner selects this item, and it is an incorrect answer.
-
->**_graphic** (object): The image that appears as a possible answer. It contains values for **large**, **small**, **alt**, and **title**.
-
->>**large** (string): File name (including path) of the image used with large device width. Path should be relative to the *src* folder (e.g., *course/en/images/origami-menu-two.jpg*).
-
->>**small** (string): File name (including path) of the image used with small device width. Path should be relative to the *src* folder (e.g., *course/en/images/origami-menu-two.jpg*).
-
->>**alt** (string): This text becomes the image’s `alt` attribute.
-
->>**attribution** (string): Optional text to be displayed as an [attribution](https://wiki.creativecommons.org/Best_practices_for_attribution). By default it is displayed below the image. Adjust positioning by modifying CSS. Text can contain HTML tags, e.g., `Copyright © 2015 by Lukasz 'Severiaan' Grela `.
-
-**_feedback** (object): If the [**Tutor** extension](https://github.com/adaptlearning/adapt-contrib-tutor) is enabled, these various texts will be displayed depending on the submitted answer. **_feedback**
-contains values for three types of answers: **correct**, **_incorrect**, and **_partlyCorrect**. Some attributes are optional. If they are not supplied, the default that is noted below will be used.
-
->**correct** (string): Text that will be displayed when the submitted answer is correct.
-
->**_incorrect** (object): Texts that will be displayed when the submitted answer is incorrect. It contains values that are displayed under differing conditions: **final** and **notFinal**.
-
->>**final** (string): Text that will be displayed when the submitted answer is incorrect and no more attempts are permitted.
-
->>**notFinal** (string): Text that will be displayed when the submitted answer is incorrect while more attempts are permitted. This is optional—if you do not supply it, the **_incorrect.final** feedback will be shown instead.
-
->**_partlyCorrect** (object): Texts that will be displayed when the submitted answer is partially correct. It contains values that are displayed under differing conditions: **final** and **notFinal**.
-
->>**final** (string): Text that will be displayed when the submitted answer is partly correct and no more attempts are permitted. This is optional—if you do not supply it, the **_incorrect.final** feedback will be shown instead.
-
->>**notFinal** (string): Text that will be displayed when the submitted answer is partly correct while more attempts are permitted. This is optional—if you do not supply it, the **_incorrect.notFinal** feedback will be shown instead.
-
-### Accessibility
-**Graphical Multiple Choice Question** has been assigned a label using the [aria-label](https://github.com/adaptlearning/adapt_framework/wiki/Aria-Labels) attribute: **ariaRegion**. This
-label is not a visible element. It is utilized by assistive technology such as screen readers. Should the region's text need to be customised, it can be found within the **globals** object in [*properties.schema*](https://github.com/adaptlearning/adapt-contrib-gmcq/blob/master/properties.schema).
-
-
-## Limitations
-
-No known limitations.
-
-----------------------------
-**Version number:** 3.0.0
-**Framework versions:** 2.0.11+
-**Author / maintainer:** Adapt Core Team with [contributors](https://github.com/adaptlearning/adapt-contrib-gmcq/graphs/contributors)
-**Accessibility support:** WAI AA
-**RTL support:** yes
-**Cross-platform coverage:** Chrome, Chrome for Android, Firefox (ESR + latest version), Edge 12, IE 11, IE Mobile 11, Safari iOS 9+10, Safari OS X 9+10, Opera
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/bower.json b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/bower.json
deleted file mode 100644
index 2543d2934..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/bower.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "adapt-contrib-gmcq",
- "version": "3.0.1",
- "framework": ">=2.0.11",
- "homepage": "https://github.com/adaptlearning/adapt-contrib-gmcq",
- "issues": "https://github.com/adaptlearning/adapt_framework/issues/new?title=contrib-gmcq%3A%20please%20enter%20a%20brief%20summary%20of%20the%20issue%20here&body=please%20provide%20a%20full%20description%20of%20the%20problem,%20including%20steps%20on%20how%20to%20replicate,%20what%20browser(s)/device(s)%20the%20problem%20occurs%20on%20and,%20where%20helpful,%20screenshots.",
- "displayName" : "Graphical Multiple Choice Question",
- "component" : "gmcq",
- "description": "A multiple choice question component, with images",
- "main": "/js/adapt-contrib-gmcq.js",
- "keywords": [
- "adapt-plugin",
- "adapt-component"
- ],
- "license": "GPLv3"
-}
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/example.json b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/example.json
deleted file mode 100644
index 6efccf796..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/example.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "_id": "c-05",
- "_parentId": "b-05",
- "_type": "component",
- "_component": "gmcq",
- "_classes": "",
- "_layout": "full",
- "_attempts": 1,
- "_shouldDisplayAttempts": false,
- "_questionWeight": 1,
- "_isRandom": false,
- "_selectable": 1,
- "_canShowModelAnswer": true,
- "_canShowFeedback": true,
- "_canShowMarking": true,
- "_recordInteraction": true,
- "_columns": 3,
- "title": "GMCQ",
- "displayTitle": "GMCQ",
- "body": "Which of the following options would you consider to be correct?",
- "instruction": "",
- "_items": [
- {
- "text": "This is option 1.",
- "_shouldBeSelected":true,
- "_graphic": {
- "alt": "Alt text for option 1",
- "attribution": "Copyright © 2015",
- "large": "course/en/images/gqcq-1-large.gif",
- "small": "course/en/images/gqcq-1-small.gif"
- }
- },
- {
- "text": "This is option 2.",
- "_shouldBeSelected": false,
- "_graphic": {
- "alt": "Alt text for option 2",
- "attribution": "Copyright © 2015",
- "large": "course/en/images/gqcq-2-large.gif",
- "small": "course/en/images/gqcq-2-small.gif"
- }
- }
- ],
- "_feedback":{
- "correct": "Congratulations, this is the correct feedback.",
- "_incorrect": {
- "notFinal": "",
- "final": "Unfortunately this is the incorrect feedback."
- },
- "_partlyCorrect": {
- "notFinal": "",
- "final": "This is the partly correct feedback."
- }
- },
- "_comment": "You only need to include _buttons if you want to override the button labels that are set in course.json",
- "_buttons": {
- "_submit": {
- "buttonText": "Submit",
- "ariaLabel": "Select here to submit your answer."
- },
- "_reset": {
- "buttonText": "Reset",
- "ariaLabel": ""
- },
- "_showCorrectAnswer": {
- "buttonText": "Correct Answer",
- "ariaLabel": ""
- },
- "_hideCorrectAnswer": {
- "buttonText": "My Answer",
- "ariaLabel": ""
- },
- "_showFeedback": {
- "buttonText": "Show feedback",
- "ariaLabel": ""
- },
- "remainingAttemptsText": "attempts remaining",
- "remainingAttemptText": "final attempt"
- },
- "_pageLevelProgress": {
- "_isEnabled": true
- }
-}
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/js/adapt-contrib-gmcq.js b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/js/adapt-contrib-gmcq.js
deleted file mode 100644
index b2abfb750..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/js/adapt-contrib-gmcq.js
+++ /dev/null
@@ -1,84 +0,0 @@
-define([
- 'coreJS/adapt',
- 'components/adapt-contrib-mcq/js/adapt-contrib-mcq'
-], function(Adapt, Mcq) {
-
- var Gmcq = Mcq.view.extend({
-
- events: {
- 'focus .gmcq-item input': 'onItemFocus',
- 'blur .gmcq-item input': 'onItemBlur',
- 'change .gmcq-item input': 'onItemSelected',
- 'keyup .gmcq-item input': 'onKeyPress'
- },
-
- onItemSelected: function(event) {
-
- var selectedItemObject = this.model.get('_items')[$(event.currentTarget).parent('.gmcq-item').index()];
-
- if (this.model.get('_isEnabled') && !this.model.get('_isSubmitted')) {
- this.toggleItemSelected(selectedItemObject, event);
- }
-
- },
-
- setupQuestion: function() {
- Mcq.view.prototype.setupQuestion.call(this);
-
- this.listenTo(Adapt, {
- 'device:changed': this.resizeImage,
- 'device:resize': this.onDeviceResize
- });
-
- },
-
- onQuestionRendered: function() {
-
- this.resizeImage(Adapt.device.screenSize);
- this.setUpColumns();
-
- this.$('label').imageready(_.bind(function() {
- this.setReadyStatus();
- }, this));
-
- },
-
- onDeviceResize: function() {
- this.setUpColumns();
- },
-
- resizeImage: function(width) {
-
- var imageWidth = width === 'medium' ? 'small' : width;
-
- this.$('label').each(function(index) {
- var src = $(this).find('img').attr('data-' + imageWidth);
- $(this).find('img').attr('src', src);
- });
-
- },
-
- setUpColumns: function() {
- var columns = this.model.get('_columns');
-
- if (!columns) return;
-
- if (Adapt.device.screenSize === 'large') {
- this.$el.addClass('gmcq-column-layout');
- this.$('.gmcq-item').css('width', (100 / columns) + '%');
- } else {
- this.$el.removeClass('gmcq-column-layout');
- this.$('.gmcq-item').css('width', '');
- }
- }
-
- }, {
- template: 'gmcq'
- });
-
- return Adapt.register("gmcq", {
- view: Gmcq,
- model: Mcq.model.extend({})
- });
-
-});
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/less/gmcq.less b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/less/gmcq.less
deleted file mode 100644
index ff66f8a2f..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/less/gmcq.less
+++ /dev/null
@@ -1,261 +0,0 @@
-.gmcq-component {
- &.gmcq-column-layout {
- .gmcq-widget {
- // Font size set to 0 so there's no gap between items
- font-size: 0;
- text-align: center;
- }
-
- .gmcq-item {
- display: inline-block;
- float: none;
- vertical-align: top;
-
- .dir-rtl & {
- float: none;
- }
-
- &.even,
- &.odd {
- label {
- margin: 2.5%;
-
- .dir-rtl & {
- margin: 2.5%;
- }
- }
- }
- }
-
- .gmcq-item-inner {
- font-size: @body-text-font-size;
- text-align: left;
-
- .dir-rtl & {
- text-align: right;
- }
- }
- }
-
- .gmcq-item {
- position: relative;
- width: 50%;
- margin-bottom: @item-margin-bottom;
- float: left;
- .dir-rtl & {
- float: right;
- }
-
- &.even {
- label {
- margin-left: 5%;
- .dir-rtl & {
- margin-left: inherit;
- margin-right: 5%;
- }
- }
- }
-
- &.odd {
- label {
- margin-right: 5%;
- .dir-rtl & {
- margin-right: inherit;
- margin-left: 5%;
- }
- }
- }
-
- @media all and (max-width:760px) {
- width: 100%;
- &.even,
- &.odd {
- label {
- margin-left: 0%;
- margin-right: 0%;
- }
- }
- }
- }
-
- .gmcq-item label {
- color: @item-text-color;
- display: block;
- border: @item-border;
- margin-bottom: @item-margin-bottom;
- position: relative;
- z-index: 1;
- background-color: @item-color;
- overflow: hidden;
- cursor: pointer;
-
- img {
- vertical-align: bottom;
- }
-
- .gmcq-answer-icon {
- color: @item-text-color;
- &.radio {
- width: @icon-size + 2;
- height: @icon-size + 2;
- &:before {
- content: "\e65e";
- }
- }
- &.checkbox {
- border: 3px solid @item-text-color;
- width: 18px;
- height: 18px;
- font-size: 18px;
- font-weight: bold;
- border-radius: 2px;
- &:before {
- content: " ";
- }
- }
- }
-
- &.selected {
- color: @item-text-color-selected;
- background-color: @item-color-selected;
-
- .gmcq-answer-icon {
- &.radio {
- &:before {
- content: "\e65d";
- }
- }
- &.checkbox {
- border: @item-border;
- border-color: @item-text-color-selected;
- width: 18px;
- height: 18px;
- font-size: 18px;
- font-weight: bold;
- border-radius: 2px;
- &:before {
- content: "\e633";
- }
- }
- }
- }
- }
-
- .gmcq-item-inner {
- padding: @item-padding;
- padding-left: (@icon-size+(@item-padding-left*2));
- .dir-rtl & {
- margin-left: inherit;
- padding-right: (@icon-size+(@item-padding-left*2));
- }
- }
-
- .gmcq-item input {
- position: absolute;
- top: 25px;
- left: 25px;
- .dir-rtl & {
- left: inherit;
- right: 25px;
- }
- }
-
- .gmcq-item-checkbox {
- height: 60px;
- position: relative;
- }
-
- .gmcq-item-state {
- background: none;
- position: absolute;
- width: @icon-size;
- height: @icon-size;
- top: 50%;
- margin-top: -(@icon-size/2);
- left: 10px;
- z-index: 0;
- .dir-rtl & {
- left: inherit;
- right: 10px;
- }
- }
-
- .gmcq-correct-icon {
- color: @validation-success;
- display: none;
- }
-
- .gmcq-incorrect-icon {
- color: @validation-error;
- display: none;
- }
-
- .gmcq-widget {
- &.show-user-answer {
- .gmcq-item-icon {
- display: none;
- }
- .incorrect {
- .selected .gmcq-incorrect-icon {
- display: block;
- }
- }
- .correct {
- .selected .gmcq-correct-icon {
- display: block;
- }
- }
- }
-
- &.show-correct-answer {
- .gmcq-item-icon {
- display: none;
- }
- .incorrect .selected .gmcq-correct-icon,
- .correct .selected .gmcq-correct-icon {
- display: block;
- }
- }
-
- &.disabled {
- .gmcq-item label.selected.disabled {
- background-color: @item-color-selected;
- cursor: default;
- }
- .gmcq-item label.disabled {
- color: @item-text-color-disabled;
- background-color: @item-color-disabled;
- border-color: @item-border-color-disabled;
- cursor: default;
- }
-
- .gmcq-item.correct .selected .state {
- color: @validation-success;
- }
-
- .gmcq-item.incorrect .selected .state {
- color: @validation-error;
- }
- }
- }
- .graphic-attribution {
- font-size:0.75em;
- line-height: 1em;
- }
-}
-
-.no-touch {
- .gmcq-component {
- .gmcq-widget {
- &:not(.disabled) {
- .gmcq-item label:hover {
- color: @item-text-color-hover;
- background-color: @item-color-hover;
- .gmcq-item-icon {
- color: @item-text-color-hover;
- }
- }
- }
- }
- }
-}
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/properties.schema b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/properties.schema
deleted file mode 100644
index 0ee55b154..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/properties.schema
+++ /dev/null
@@ -1,427 +0,0 @@
-{
- "type": "object",
- "$schema": "http://json-schema.org/draft-04/schema",
- "id": "http://jsonschema.net",
- "$ref": "http://localhost/plugins/content/component/model.schema",
- "globals": {
- "ariaRegion": {
- "type": "string",
- "required": true,
- "default": "This is a graphical multiple choice question. Once you have selected an option, select the submit button below.",
- "inputType": "Text",
- "validators": [],
- "translatable": true
- }
- },
- "properties": {
- "_supportedLayout": {
- "type": "string",
- "required": true,
- "enum": ["full-width", "half-width", "both"],
- "default": "both",
- "editorOnly": true
- },
- "instruction": {
- "type": "string",
- "required": false,
- "default": "",
- "inputType": "Text",
- "validators": [],
- "help": "This is the instruction text",
- "translatable": true
- },
- "_items": {
- "type": "array",
- "required": true,
- "title": "Items",
- "items": {
- "type": "object",
- "required": true,
- "properties": {
- "_graphic": {
- "type": "object",
- "required": true,
- "title": "Graphic",
- "properties": {
- "large": {
- "type": "string",
- "required": true,
- "default": "",
- "inputType": "Asset:image",
- "validators": [],
- "help": "Large image for this item - used on desktop"
- },
- "small": {
- "type": "string",
- "required": true,
- "default": "",
- "inputType": "Asset:image",
- "validators": [],
- "help": "Small image for this item - used on mobiles"
- },
- "alt": {
- "type": "string",
- "required": false,
- "default": "",
- "inputType": "Text",
- "validators": [],
- "help": "Alternative text for the image",
- "translatable": true
- },
- "attribution": {
- "type": "string",
- "required": false,
- "default": "",
- "inputType": "Text",
- "validators": [],
- "help": "Text to be displayed as an attribution",
- "translatable": true
- }
- }
- },
- "text": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Item Text",
- "inputType": "Text",
- "validators": [],
- "help": "Text that will be displayed with the image",
- "translatable": true
- },
- "_shouldBeSelected": {
- "type": "boolean",
- "required": true,
- "default": false,
- "title": "Correct answer?",
- "inputType": "Checkbox",
- "validators": []
- },
- "feedback": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Answer-specific feedback",
- "inputType": "Text",
- "validators": [],
- "help": "When 'Selectable Items' is set to 1, this can be used to give the user feedback specific to the answer they selected",
- "translatable": true
- }
- }
- }
- },
- "_attempts": {
- "type": "number",
- "required": true,
- "default": 1,
- "title": "Attempts",
- "inputType": "Number",
- "validators": ["required", "number"],
- "help": "How many attempts the learner is allowed"
- },
- "_canShowModelAnswer": {
- "type": "boolean",
- "required": true,
- "default": true,
- "title": "Display Model Answer",
- "inputType": "Checkbox",
- "validators": [],
- "help": "Allow the user to view the 'model answer' if they answer the question incorrectly?"
- },
- "_canShowFeedback": {
- "type": "boolean",
- "required": true,
- "default": true,
- "title": "Display Feedback",
- "inputType": "Checkbox",
- "validators": []
- },
- "_canShowMarking": {
- "type": "boolean",
- "default": true,
- "title": "Display Marking",
- "inputType": "Checkbox",
- "validators": []
- },
- "_shouldDisplayAttempts": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Display Attempts",
- "inputType": "Checkbox",
- "validators": [],
- "help": "Display the number of attempts remaining?"
- },
- "_isRandom": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Randomise answers",
- "inputType": "Checkbox",
- "validators": []
- },
- "_questionWeight": {
- "type": "number",
- "required": false,
- "default": 1,
- "title": "Question Weight",
- "inputType": "Number",
- "validators": ["number"],
- "help": "How much this question is worth"
- },
- "_recordInteraction": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Record interaction",
- "inputType": "Checkbox",
- "validators": [],
- "help": "If disabled, recording the user's answer(s) to this question to cmi.interactions on the LMS will be disabled for this component only."
- },
- "_columns": {
- "type": "number",
- "required": false,
- "default": 0,
- "title": "Columns",
- "inputType": "Number",
- "validators": ["number"],
- "help": "Set the number of columns. If value is '0', component uses the default layout."
- },
- "_selectable": {
- "type": "number",
- "required": true,
- "default": 1,
- "title": "Selectable Items",
- "inputType": "Number",
- "validators": ["number", "required"],
- "help": "How many items are selectable"
- },
- "_feedback": {
- "type": "object",
- "required": false,
- "title": "Feedback",
- "properties": {
- "correct": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Correct",
- "inputType": "TextArea",
- "validators": [],
- "help": "Correct answer feedback for this question",
- "translatable": true
- },
- "_incorrect": {
- "type": "object",
- "required": false,
- "title": "Incorrect Feedback",
- "properties": {
- "final": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Incorrect Final",
- "inputType": "TextArea",
- "validators": [],
- "help": "Incorrect answer feedback for the final attempt",
- "translatable": true
- },
- "notFinal": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Incorrect Not Final",
- "inputType": "TextArea",
- "validators": [],
- "help": "Incorrect answer feedback for any attempt apart from the last attempt. If you leave this blank, the 'Incorrect Final' feedback will be used instead.",
- "translatable": true
- }
- }
- },
- "_partlyCorrect": {
- "type": "object",
- "required": false,
- "properties": {
- "final": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Partly Correct Final",
- "inputType": "TextArea",
- "validators": [],
- "help": "Partly correct answer feedback for the final attempt. If you leave this blank, the 'Incorrect Final' feedback will be used instead.",
- "translatable": true
- },
- "notFinal": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Partly Correct Not Final",
- "inputType": "TextArea",
- "validators": [],
- "help": "Partly correct answer feedback for any attempt apart from the last attempt. If you leave this blank, the 'Partly Correct Final' feedback will be used instead.",
- "translatable": true
- }
- }
- }
- }
- },
- "_buttons": {
- "type": "object",
- "title": "Buttons",
- "required": false,
- "properties": {
- "_submit": {
- "type": "object",
- "title": "Submit",
- "properties": {
- "buttonText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Button label text for the submit button",
- "translatable": true
- },
- "ariaLabel": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Aria label for the submit button",
- "translatable": true
- }
- }
- },
- "_reset": {
- "type": "object",
- "title": "Reset",
- "properties": {
- "buttonText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Button label text for the reset button",
- "translatable": true
- },
- "ariaLabel": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Aria label for the reset button",
- "translatable": true
- }
- }
- },
- "_showCorrectAnswer": {
- "type": "object",
- "title": "Show Correct Answer",
- "properties": {
- "buttonText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Button label text to show the model answer",
- "translatable": true
- },
- "ariaLabel": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Aria label for the show model answer button",
- "translatable": true
- }
- }
- },
- "_hideCorrectAnswer": {
- "type": "object",
- "title": "Hide Correct Answer",
- "properties": {
- "buttonText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Button label text to hide the model answer",
- "translatable": true
- },
- "ariaLabel": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Aria label for the hide model answer button",
- "translatable": true
- }
- }
- },
- "_showFeedback": {
- "type": "object",
- "title": "Show Feedback",
- "properties": {
- "buttonText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Button label text to show feedback",
- "translatable": true
- },
- "ariaLabel": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Aria label for the show feedback button",
- "translatable": true
- }
- }
- },
- "remainingAttemptsText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Attempts Remaining Text",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Shown when there are multiple attempts left",
- "translatable": true
- },
- "remainingAttemptText": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Final Attempt Text",
- "inputType": "QuestionButton",
- "validators": [],
- "help": "Shown when there is one attempt left",
- "translatable": true
- }
- }
- }
- }
-}
diff --git a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/templates/gmcq.hbs b/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/templates/gmcq.hbs
deleted file mode 100644
index 5b8ee8c00..000000000
--- a/src/LP/Extensions/3.0.0/adapt-contrib-gmcq-3.0.0/templates/gmcq.hbs
+++ /dev/null
@@ -1,30 +0,0 @@
-
- {{> component this}}
-
-
-
-
diff --git a/src/LP/Extensions/adapt-backgroundcolourcompletion b/src/LP/Extensions/adapt-backgroundcolourcompletion
deleted file mode 160000
index 9f886ebf0..000000000
--- a/src/LP/Extensions/adapt-backgroundcolourcompletion
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 9f886ebf02417dea48b67e8fb976444d4f510a5a
diff --git a/src/LP/Extensions/adapt-confirmexit b/src/LP/Extensions/adapt-confirmexit
deleted file mode 160000
index 4d7ac27fc..000000000
--- a/src/LP/Extensions/adapt-confirmexit
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4d7ac27fc0b732c352625245f1091d0592cc72e8
diff --git a/src/LP/Extensions/adapt-contrib-assessmentsinglesubmit b/src/LP/Extensions/adapt-contrib-assessmentsinglesubmit
deleted file mode 160000
index 508827f2c..000000000
--- a/src/LP/Extensions/adapt-contrib-assessmentsinglesubmit
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 508827f2cbd07f174b911d33094b0a9cd007a4a1
diff --git a/src/LP/Extensions/adapt-contrib-assistedlearning b/src/LP/Extensions/adapt-contrib-assistedlearning
deleted file mode 160000
index b5190ceb0..000000000
--- a/src/LP/Extensions/adapt-contrib-assistedlearning
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b5190ceb0788caa92fdb61bff3ecb2cfe48d2fbb
diff --git a/src/LP/Extensions/adapt-contrib-avatar b/src/LP/Extensions/adapt-contrib-avatar
deleted file mode 160000
index 2066735b3..000000000
--- a/src/LP/Extensions/adapt-contrib-avatar
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2066735b340e060915ed1dc0f3683d4fe743e389
diff --git a/src/LP/Extensions/adapt-contrib-avatar2 b/src/LP/Extensions/adapt-contrib-avatar2
deleted file mode 160000
index 472407194..000000000
--- a/src/LP/Extensions/adapt-contrib-avatar2
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4724071944f22b1789bd914b67c09d32ff4a386a
diff --git a/src/LP/Extensions/adapt-contrib-badges b/src/LP/Extensions/adapt-contrib-badges
deleted file mode 160000
index 968d35a41..000000000
--- a/src/LP/Extensions/adapt-contrib-badges
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 968d35a417cf71f12c78c13e103ff6d7a80d1f55
diff --git a/src/LP/Extensions/adapt-contrib-certificate b/src/LP/Extensions/adapt-contrib-certificate
deleted file mode 160000
index 33fdc8ed4..000000000
--- a/src/LP/Extensions/adapt-contrib-certificate
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 33fdc8ed4b55df8abec8212eab73c0809467392c
diff --git a/src/LP/Extensions/adapt-contrib-confidencebasedmarking b/src/LP/Extensions/adapt-contrib-confidencebasedmarking
deleted file mode 160000
index 76bbba56f..000000000
--- a/src/LP/Extensions/adapt-contrib-confidencebasedmarking
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 76bbba56fd6595a77e1579eb3ef79d86dea2aad4
diff --git a/src/LP/Extensions/adapt-contrib-dyslexia-helper b/src/LP/Extensions/adapt-contrib-dyslexia-helper
deleted file mode 160000
index 2e03a60e0..000000000
--- a/src/LP/Extensions/adapt-contrib-dyslexia-helper
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2e03a60e0f5965a4a38061feaee7fdeed19ffe6c
diff --git a/src/LP/Extensions/adapt-contrib-fontawesomeicons b/src/LP/Extensions/adapt-contrib-fontawesomeicons
deleted file mode 160000
index 1d44c593e..000000000
--- a/src/LP/Extensions/adapt-contrib-fontawesomeicons
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1d44c593e127496828d73f0cd8bc9237e1447137
diff --git a/src/LP/Extensions/adapt-contrib-gmcq b/src/LP/Extensions/adapt-contrib-gmcq
deleted file mode 160000
index 3b00aac27..000000000
--- a/src/LP/Extensions/adapt-contrib-gmcq
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 3b00aac27b91946962f595646222bcd63775d47b
diff --git a/src/LP/Extensions/adapt-contrib-interactivevideo b/src/LP/Extensions/adapt-contrib-interactivevideo
deleted file mode 160000
index 118e3d2c4..000000000
--- a/src/LP/Extensions/adapt-contrib-interactivevideo
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 118e3d2c4fbdb36cd6fc0cc7213d2dfd30a2237d
diff --git a/src/LP/Extensions/adapt-contrib-ios-frameset b/src/LP/Extensions/adapt-contrib-ios-frameset
deleted file mode 160000
index c0445a6af..000000000
--- a/src/LP/Extensions/adapt-contrib-ios-frameset
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c0445a6af94abddb8509bdb497c752908897f7d7
diff --git a/src/LP/Extensions/adapt-contrib-learningobjectives b/src/LP/Extensions/adapt-contrib-learningobjectives
deleted file mode 160000
index d67c85442..000000000
--- a/src/LP/Extensions/adapt-contrib-learningobjectives
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit d67c854423437cfd5cc9e305313ad738fbdcef88
diff --git a/src/LP/Extensions/adapt-contrib-mentor b/src/LP/Extensions/adapt-contrib-mentor
deleted file mode 160000
index 2f025c264..000000000
--- a/src/LP/Extensions/adapt-contrib-mentor
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2f025c264fe691046f77ec6a0380380bbe3ac69a
diff --git a/src/LP/Extensions/adapt-contrib-menuitemcompletion b/src/LP/Extensions/adapt-contrib-menuitemcompletion
deleted file mode 160000
index 784d3316c..000000000
--- a/src/LP/Extensions/adapt-contrib-menuitemcompletion
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 784d3316c57d90b20ba88e9a57a537b83d07f4ad
diff --git a/src/LP/Extensions/adapt-contrib-opentextsummary b/src/LP/Extensions/adapt-contrib-opentextsummary
deleted file mode 160000
index ec32c5487..000000000
--- a/src/LP/Extensions/adapt-contrib-opentextsummary
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ec32c5487688081b763d2d1b2d96899654ea1b8c
diff --git a/src/LP/Extensions/adapt-contrib-pagefooternavigation b/src/LP/Extensions/adapt-contrib-pagefooternavigation
deleted file mode 160000
index 75674eb5d..000000000
--- a/src/LP/Extensions/adapt-contrib-pagefooternavigation
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 75674eb5d6a008fae5ed87df5ab5a194bb1e8e90
diff --git a/src/LP/Extensions/adapt-contrib-paginator b/src/LP/Extensions/adapt-contrib-paginator
deleted file mode 160000
index 9ea8a155e..000000000
--- a/src/LP/Extensions/adapt-contrib-paginator
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 9ea8a155e58713ad7b6fa768a04e855570c63cb2
diff --git a/src/LP/Extensions/adapt-contrib-references b/src/LP/Extensions/adapt-contrib-references
deleted file mode 160000
index ea0e9f5df..000000000
--- a/src/LP/Extensions/adapt-contrib-references
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ea0e9f5df0d551754ec9bb8ed36a284b06a4fd78
diff --git a/src/LP/Extensions/adapt-contrib-scriptinjector b/src/LP/Extensions/adapt-contrib-scriptinjector
deleted file mode 160000
index 1b9bb7707..000000000
--- a/src/LP/Extensions/adapt-contrib-scriptinjector
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1b9bb77072d8068feab142e721e18c351bc6cfb0
diff --git a/src/LP/Extensions/adapt-contrib-scrollprompt b/src/LP/Extensions/adapt-contrib-scrollprompt
deleted file mode 160000
index e4e940bfc..000000000
--- a/src/LP/Extensions/adapt-contrib-scrollprompt
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e4e940bfccc411d4c148afd358c3e5b118c251c6
diff --git a/src/LP/Extensions/adapt-contrib-spoor b/src/LP/Extensions/adapt-contrib-spoor
deleted file mode 160000
index 25e92b965..000000000
--- a/src/LP/Extensions/adapt-contrib-spoor
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 25e92b96518a8512a6d0f4c1183c2eded63af560
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/LICENSE b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/LICENSE
deleted file mode 100644
index a8f555c48..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. {http://fsf.org/}
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {one line to give the program's name and a brief idea of what it does.}
- Copyright (C) {year} {name of author}
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- adapt-hello-world Copyright (C) 2013 Chris Jones
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-{http://www.gnu.org/licenses/}.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-{http://www.gnu.org/philosophy/why-not-lgpl.html}.
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/README.md b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/README.md
deleted file mode 100644
index 41bb861c0..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/README.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# adapt-contrib-trickle
-
-**Trickle** is an *extension* bundled with the [Adapt framework](https://github.com/adaptlearning/adapt_framework).
-
-
-
-The **Trickle** extension determines what portion of a page is presented to a learner and when the learner may advance to the next section. Using **Trickle**, a course author may hide/lock the portion of a page that follows an article or a block. A button may be displayed at the end of the visible portion; clicking this button releases the lock and scrolls the page to the next portion. If no button is displayed, the next section will unlock automatically once the current section has been completed by the user.
-
-Properties that can be configured include: requiring completion of components before advancing, whether a button should be shown or not, the style of button and the text that labels it, whether the user is scrolled to the next section automatically or not, and step-locking behaviour upon revisit.
-
-[Visit the **Trickle** wiki](https://github.com/adaptlearning/adapt-contrib-trickle/wiki) for more information about its functionality and for explanations of key properties.
-
-
-
-## Installation
-
-As one of Adapt's *[core extensions](https://github.com/adaptlearning/adapt_framework/wiki/Core-Plug-ins-in-the-Adapt-Learning-Framework#extensions),* **Trickle** is included with the [installation of the Adapt framework](https://github.com/adaptlearning/adapt_framework/wiki/Manual-installation-of-the-Adapt-framework#installation) and the [installation of the Adapt authoring tool](https://github.com/adaptlearning/adapt_authoring/wiki/Installing-Adapt-Origin).
-
-* If **Trickle** has been uninstalled from the Adapt framework, it may be reinstalled.
-With the [Adapt CLI](https://github.com/adaptlearning/adapt-cli) installed, run the following from the command line:
-`adapt install adapt-contrib-trickle`
-
- Alternatively, this extension can also be installed by adding the following line of code to the *adapt.json* file:
- `"adapt-contrib-trickle": "*"`
- Then running the command:
- `adapt install`
- (This second method will reinstall all plug-ins listed in *adapt.json*.)
-
-* If **Trickle** has been uninstalled from the Adapt authoring tool, it may be reinstalled using the [Plug-in Manager](https://github.com/adaptlearning/adapt_authoring/wiki/Plugin-Manager).
-
-## Settings Overview
-
-- **Trickle** may be configured on two levels: article (*articles.json*) and block (*blocks.json*). The **_onChildren** attribute determines whether the configuration applies only to the article or to the article's blocks. Attributes set in a child block override those set by its parent article.
-- The default value of **_completionAttribute** may be overridden on _config.json_.
-- _**Trickle** may also be added to_ course.json _as a simple switch to enable/disable **Trickle** during development. Its attributes will not be inherited by its child elements._
-
-The attributes listed below are properly formatted as JSON in [*example.json*](https://github.com/adaptlearning/adapt-contrib-trickle/blob/master/example.json). Visit the [**Trickle** wiki](https://github.com/adaptlearning/adapt-contrib-trickle/wiki) for more information about how they appear in the [authoring tool](https://github.com/adaptlearning/adapt_authoring/wiki).
-
-### Attributes
-
-**\_trickle** (object): The Trickle attributes group contains values for **\_isEnabled**, **\_scrollDuration**, **\_autoScroll**, **\_scrollTo**, **\_onChildren**, **\_button**, and **\_stepLocking**.
-
->**\_isEnabled** (boolean): Turns on and off the **Trickle** extension. Can be set in *course.json*, *articles.json* and *blocks.json* to disable **Trickle** where not required. Also useful during course development.
-
->**\_scrollDuration** (number): This number specifies the duration of the scroll animation in milliseconds. The default is `500`.
-
->**\_autoScroll** (boolean): If set to `true`, the page will scroll automatically to the destination specified in **\_scrollTo** when the button is clicked. The learner must manually scroll if this is set to `false`. The default is `true`.
-
->**\_scrollTo** (string): This value determines the destination to which **Trickle** should scroll when the relevant step is unlocked. Acceptable values must be formulated according to one of the models listed below. The default is `"@block +1"`.
-- `"@block +1"` - Scroll forward to the next block.
-- `"@article +2"` - Scroll forward two articles.
-- `".className"` - Scroll to the specified classname.
-- `"id"` - Scroll to the given ID.
-
->**\_onChildren** (boolean): Determines whether the Trickle settings should be applied to the article alone or if it should apply to its blocks. When set to `true` on an article, the article's Trickle settings do not apply to the article; rather, the settings act as the default Trickle settings for all the blocks contained by the article. When set to `false`, the settings act on the article itself. The default is `true`. (N.B. this attribute is ignored if set on a block.)
-
->**\_button** (object): The button that releases the lock on hidden elements is commonly called the Trickle button. This `_button` attributes group stores the properties for the Trickle button. It contains values for **\_isEnabled**, **\_styleBeforeCompletion**, **\_styleAfterClick**, **\_isFullWidth**, **\_autoHide**, **\_className**, **text**, **startText**, **finalText**, and **\_component**.
-
->>**\_isEnabled** (boolean): If set to `false`, no button is displayed, so step-locking is triggered by component completion only. The page will scroll to the specified destination if **\_autoScroll** is set to `true`. The default is `true`.
-
->>**\_styleBeforeCompletion** (string): Determines whether the Trickle button is visible even while subsequent sections of the page remain inaccessible. Acceptable values are `"hidden"` and `"visible"`. The default is `"hidden"`.
-
->>**\_styleAfterClick** (string): Determines the properties of the Trickle button after it has been clicked. Acceptable values are `"hidden"`, `"disabled"`, and `"scroll"`. `"hidden"` hides the button. `"disabled"` applies the "disabled" CSS class. The value `"scroll"` will cause the button to maintain its visibility allowing the user an alternative method for scrolling down the page by using the button (even after all sections have been revealed). The default is `"hidden"`.
-
->>**\_isFullWidth** (boolean): Will position the button fixed to the bottom of the window. This option will force to `true` **\_isEnabled** in the **\_stepLocking** attribute group (**\_stepLocking.\_isEnabled: true**). When **\_autoHide** is set to `true`, the button will fade-out when the learner scrolls up, away from the button. The default is `true`.
-
->>**\_autoHide** (boolean): Will hide the button when it scrolls from view. Will show the button when it scrolls into view. The default is `false`. If you require your course to be accessible, you should set this to `false` to ensure compatibility with screen readers.
-
->>**\_className** (string): Will add a class to the button container. Available option: `"trickle-round-arrow"`. `"trickle-round-arrow"` displays a round button with an arrow and no text instead of the classic square button with text. The default is `""`.
-
->>**text** (string): Defines the default button text. The default is `"Continue"`.
-
->>**startText** (string): Defines the first item button text when set on the article with **\_onChildren** set to `true`. The default is `"Begin"`.
-
->>**finalText** (string): Defines the last item button text when set on the article with **\_onChildren** set to `true`. The default is `"Finish"`.
-
->>**\_component** (string): Defines the Trickle plug-in which should handle the interaction. At present only `"trickle-button"` is available, but it is possible to create new plug-ins. The default is `"trickle-button"`.
-
->**\_stepLocking** (object): Step locking (section hiding) attributes group contains values for **\_isEnabled**, **\_isCompletionRequired**, and **\_isLockedOnRevisit**.
-
->>**\_isEnabled** (boolean): Will allow Trickle to truncate the page at the step until the user is allowed to move forward. The default is `true`. Note that if **\_isFullWidth** is set to `true` on the **\_button** attribute group (see above), **\_isEnabled** will be forced to `true` regardless of what you set here.
-
->>**\_isCompletionRequired** (boolean): Forces the user to complete the block/article before the step is unlocked. If the block/article is reset on a page revisit, the lock will be reapplied. The default is `true`.
-
->>**\_isLockedOnRevisit** (boolean): On every page revisit the step will be relocked. The default is `false`.
-
-The following attribute can be added to *config.json* to overide which completion data attribute is used to test when the trickle button should be displayed.
-
->**\_completionAttribute** (string): Defines which completion attribute is used to test when the trickle button should be displayed. As of v2.1.4 of this plugin, the default is `"_isComplete"`; in previous versions it defaulted to `"_isInteractionComplete"`.
-
-## Limitations
-
-No known limitations.
-
-----------------------------
-**Version number:** 3
-**Framework versions:** 3+
-**Author / maintainer:** Adapt Core Team with [contributors](https://github.com/adaptlearning/adapt-contrib-trickle/graphs/contributors)
-**Accessibility support:** WAI AA
-**RTL support:** yes
-**Cross-platform coverage:** Chrome, Chrome for Android, Firefox (ESR + latest version), Edge, IE 11, IE Mobile 11, Safari 11+12 for macOS+iOS, Opera
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/bower.json b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/bower.json
deleted file mode 100644
index eb2923550..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/bower.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name": "adapt-contrib-trickle",
- "version": "3.0.0",
- "framework": ">=3",
- "homepage": "https://github.com/adaptlearning/adapt-contrib-trickle",
- "issues": "https://github.com/adaptlearning/adapt_framework/issues/new",
- "displayName" : "Trickle",
- "extension" : "trickle",
- "description": "A vertical locking extension",
- "main": "/js/adapt-contrib-trickle.js",
- "keywords": [
- "adapt-plugin",
- "adapt-extension"
- ],
- "license": "GPLv3",
- "targetAttribute": "_trickle"
-}
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/example.json b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/example.json
deleted file mode 100644
index 6f2773e03..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/example.json
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-//TRICKLE STYLE BUTTON ON ALL ARTICLE BLOCKS
-//put in article.json
-"_trickle": {
- "_isEnabled": true
-}
-
-
-
-//Manual Configuration Options
-"_trickle": {
- "_isEnabled": true, //(default=true)
- "_autoScroll": true, //(default=true)
- "_scrollDuration": 500, //(default=500)
- "_onChildren": true, //(default=true)
- "_scrollTo": "@block +1", //(default="@block +1")
- "_button": {
- "_isEnabled": true, //(default=true)
- "_styleBeforeCompletion": "hidden|visible", //(default=hidden)
- "_styleAfterClick": "hidden|disabled|scroll", //(default=hidden)
- "_isFullWidth": true, //(default=true)
- "_autoHide": false, //(default=false) It is recommended this be left set to false in courses that need to be screenreader-compatible.
- "_className": "|trickle-round-arrow", //(default="")
- "text": "Continue", //(default="Continue")
- "startText": "Begin",
- "finalText": "Finish", //(default="Finish")
- "_component": "trickle-button" //(default="trickle-button")
- },
- "_stepLocking": {
- "_isEnabled": true, //(default=true)
- "_isCompletionRequired": true, //(default=true)
- "_isLockedOnRevisit": false //(default=false)
- }
-}
-
-//Overide which completion data attribute is used to test when the trickle button should be displayed
-//put in config.json
-"_trickle": {
- "_completionAttribute": "_isInteractionComplete|_isComplete", //(default=_isComplete)
-}
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/adapt-contrib-trickle.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/adapt-contrib-trickle.js
deleted file mode 100644
index 6502f059c..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/adapt-contrib-trickle.js
+++ /dev/null
@@ -1,135 +0,0 @@
-define([
- 'core/js/adapt',
- './pageView',
- './handlers/button',
- './handlers/completion',
- './handlers/notify',
- './handlers/resize',
- './handlers/tutor',
- './handlers/visibility',
- './handlers/done'
-], function(Adapt, PageView) {
-
- var Trickle = Backbone.Controller.extend({
-
- model: null,
- pageView: null,
-
- initialize: function() {
- this.listenToOnce(Adapt, {
- "app:dataReady": this.onAppDataReady
- });
- },
-
- onAppDataReady: function() {
- this.getCourseModel();
- if (!this.isCourseEnabled()) return;
- this.setupListeners();
- },
-
- getCourseModel: function() {
- this.model = Adapt.course;
- },
-
- isCourseEnabled: function() {
- var trickleConfig = this.getModelConfig(this.model);
- if (trickleConfig && trickleConfig._isEnabled === false) return false;
- return true;
- },
-
- getModelConfig: function(model) {
- return model.get("_trickle");
- },
-
- getCompletionAttribute: function() {
- var trickle = this.getModelConfig(Adapt.config);
- if (!trickle) return "_isComplete";
- return trickle._completionAttribute || "_isComplete";
- },
-
- setModelConfig: function(model, config) {
- return model.set("_trickle", config);
- },
-
- setupListeners: function() {
- this.listenTo(Adapt, {
- "pageView:preRender": this.onPagePreRender,
- "remove": this.onRemove
- });
- },
-
- onPagePreRender: function(view) {
- this.pageView = new PageView({
- model: view.model,
- el: view.el
- });
- },
-
- scroll: function(fromModel) {
- // Wait for model visibility to handle
- _.delay(function() {
-
- if (!this.shouldScrollPage(fromModel)) return;
-
- var trickle = Adapt.trickle.getModelConfig(fromModel);
- var scrollTo = trickle._scrollTo;
- if (scrollTo === undefined) scrollTo = "@block +1";
-
- fromModel.set("_isTrickleAutoScrollComplete", true);
-
- var scrollToId = "";
- switch (scrollTo.substr(0,1)) {
- case "@":
- // NAVIGATE BY RELATIVE TYPE
-
- // Allows trickle to scroll to a sibling / cousin component
- // relative to the current trickle item
- var relativeModel = fromModel.findRelativeModel(scrollTo, {
- filter: function(model) {
- return model.get("_isAvailable");
- }
- });
-
- if (relativeModel === undefined) return;
- scrollToId = relativeModel.get("_id");
- break;
- case ".":
- // NAVIGATE BY CLASS
- scrollToId = scrollTo.substr(1, scrollTo.length-1);
- break;
- default:
- scrollToId = scrollTo;
- }
-
- if (scrollToId == "") return;
-
- var isAutoScrollOff = (!trickle._autoScroll);
- if (isAutoScrollOff) {
- $("." + scrollToId).focusOrNext();
- return false;
- }
-
- var duration = fromModel.get("_trickle")._scrollDuration || 500;
- Adapt.scrollTo("." + scrollToId, { duration: duration });
-
- }.bind(this), 250);
- },
-
- shouldScrollPage: function(fromModel) {
- var trickle = Adapt.trickle.getModelConfig(fromModel);
- if (!trickle || !trickle._isEnabled) return false;
-
- var hasScrolled = fromModel.get("_isTrickleAutoScrollComplete");
- if (hasScrolled) return false;
-
- var isArticleWithOnChildren = (fromModel.get("_type") === "article" && trickle._onChildren);
- if (isArticleWithOnChildren) return false;
-
- return true;
- }
-
- });
-
- return Adapt.trickle = new Trickle();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/button.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/button.js
deleted file mode 100644
index 81261c63e..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/button.js
+++ /dev/null
@@ -1,97 +0,0 @@
-define([
- 'core/js/adapt',
- './buttonView'
-], function(Adapt, ButtonView) {
-
- var TrickleButtonHandler = Backbone.Controller.extend({
-
- buttonViews: null,
-
- initialize: function() {
- this.listenToOnce(Adapt, {
- 'app:dataReady': this.onAppDataReady,
- remove: this.onRemove
- });
- },
-
- onAppDataReady: function() {
- this.buttonViews = {};
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- 'trickle:preRender': this.onPreRender,
- 'trickle:postRender': this.onPostRender
- });
- },
-
- onPreRender: function(view) {
- // setup button on prerender to allow it to control the steplocking process
- if (!this.isTrickleEnabled(view.model)) return;
-
- this.setupConfigDefaults(view.model);
-
- this.buttonViews[view.model.get('_id')] = new ButtonView({
- model: view.model
- });
- },
-
- onPostRender: function(view) {
- // inject the button at post render
- if (!this.isTrickleEnabled(view.model)) return;
-
- view.$el.append(this.buttonViews[view.model.get('_id')].$el);
- },
-
- isTrickleEnabled: function(model) {
- var trickle = Adapt.trickle.getModelConfig(model);
- if (!trickle || !trickle._isEnabled) return false;
-
- if (trickle._onChildren && model.get('_type') === 'article') return false;
-
- return true;
- },
-
- setupConfigDefaults: function(model) {
- if (model.get('_isTrickleButtonConfigured')) return;
-
- var defaults = {
- _isEnabled: true,
- _styleBeforeCompletion: 'hidden',
- _styleAfterClick: 'hidden',
- _isFullWidth: true,
- _autoHide: false,
- _className: '',
- text: 'Continue',
- startText: 'Begin',
- finalText: 'Finish',
- _component: 'trickle-button',
- _isLocking: true,
- _isVisible: false,
- _isDisabled: false
- };
-
- var trickle = Adapt.trickle.getModelConfig(model);
- trickle._button = _.extend(defaults, trickle._button);
-
- if (trickle._button._isFullWidth) {
- trickle._stepLocking._isEnabled = true;
- trickle._button._styleAfterClick = 'hidden';
- } else {
- trickle._button._autoHide = false;
- }
-
- Adapt.trickle.setModelConfig(model, trickle);
- model.set('_isTrickleButtonConfigured', true);
-
- },
-
- onRemove: function() {
- this.buttonViews = {};
- }
-
- });
-
- return new TrickleButtonHandler();
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/buttonView.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/buttonView.js
deleted file mode 100644
index 19616e73e..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/buttonView.js
+++ /dev/null
@@ -1,343 +0,0 @@
-define([
- 'core/js/adapt',
- 'core/js/views/componentView'
-], function(Adapt, ComponentView) {
-
- var completionAttribute = "_isComplete";
-
- var TrickleButtonView = Backbone.View.extend({
-
- isStepLocking: false,
- hasStepLocked: false,
- isStepLocked: false,
- isStepLockFinished: false,
- hasStepPreCompleted: false,
- isWaitingForClick: false,
- allowVisible: false,
- allowEnabled: true,
- overlayShownCount: 0,
-
- el: function() {
-
- this.setupPreRender();
-
- return Handlebars.templates['trickle-button'](this.model.toJSON());
- },
-
- setupPreRender: function() {
-
- this.setupButtonVisible();
- this.setupButtonEnabled();
- },
-
- setupButtonVisible: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
- this.allowVisible = false;
- trickle._button._isVisible = false;
-
- if (trickle._button._styleBeforeCompletion === "visible") {
- this.allowVisible = true;
- if (trickle._button._autoHide && trickle._button._isFullWidth) {
- trickle._button._isVisible = false;
- } else {
- trickle._button._isVisible = true;
- }
- }
- },
-
- setupButtonEnabled: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
-
- if (trickle._stepLocking._isCompletionRequired === false) {
- this.allowEnabled = true;
- trickle._button._isDisabled = false;
- } else if (trickle._button._styleBeforeCompletion === "visible") {
- this.allowEnabled = false;
- trickle._button._isDisabled = true;
- } else {
- trickle._button._isDisabled = false;
- this.allowEnabled = true;
- }
-
- },
-
- events: {
- "click button": "onButtonClick"
- },
-
- initialize: function(options) {
- this.getCompletionAttribute();
- this.debounceCheckAutoHide();
- this.setupStepLocking();
- this.setupEventListeners();
- },
-
- getCompletionAttribute: function() {
- var trickle = Adapt.trickle.getModelConfig(Adapt.config);
- if (!trickle) return;
- if (!trickle._completionAttribute) return;
- completionAttribute = trickle._completionAttribute;
- },
-
- setupStepLocking: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
- this.isStepLocked = Boolean(trickle._stepLocking._isEnabled);
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "trickle:overlay": this.onOverlay,
- "trickle:unoverlay": this.onUnoverlay,
- "trickle:steplock": this.onStepLock,
- "trickle:stepunlock": this.onStepUnlock,
- "trickle:skip": this.onSkip,
- "trickle:kill": this.onKill,
- "trickle:update": this.onUpdate,
- "remove": this.onRemove
- });
-
- this.listenTo(this.model, "change:"+completionAttribute, this.onCompletion);
- },
-
- debounceCheckAutoHide: function() {
- this.checkButtonAutoHideSync = this.checkButtonAutoHide.bind(this);
- this.checkButtonAutoHide = _.debounce(this.checkButtonAutoHideSync, 100);
- },
-
- checkButtonAutoHide: function() {
- if (!this.allowVisible) {
- this.setButtonVisible(false);
- return;
- }
-
- var trickle = Adapt.trickle.getModelConfig(this.model);
- if (!trickle._button._autoHide) {
- this.setButtonVisible(true);
- return;
- } else if (this.overlayShownCount > 0) {
- this.setButtonVisible(false);
- return;
- }
-
- var measurements = this.$el.onscreen();
-
- // This is to fix common miscalculation issues
- var isJustOffscreen = (measurements.bottom > -100);
-
- // add show/hide animation here if needed
- if (measurements.onscreen || isJustOffscreen) {
- this.setButtonVisible(true);
- } else {
- this.setButtonVisible(false);
- }
- },
-
- setButtonVisible: function(isVisible) {
- var trickle = Adapt.trickle.getModelConfig(this.model);
- trickle._button._isVisible = Boolean(isVisible);
- this.$(".component-inner").toggleClass("display-none", !trickle._button._isVisible);
- },
-
- checkButtonEnabled: function() {
- this.setButtonEnabled(this.allowEnabled);
- },
-
- setButtonEnabled: function(isEnabled) {
- var trickle = Adapt.trickle.getModelConfig(this.model);
- var $button = this.$("button");
- if (isEnabled) {
- $button.removeClass("disabled").removeAttr("disabled");
- trickle._button._isDisabled = true;
- // make label unfocusable as it is no longer needed
- this.$('.aria-label').a11y_cntrl(false);
- } else {
- $button.addClass("disabled").attr("disabled", "disabled");
- trickle._button._isDisabled = false;
- }
- },
-
- onStepLock: function(view) {
- if (!this.isViewMatch(view)) return;
-
- this.hasStepLocked = true;
- this.isStepLocking = true;
- this.overlayShownCount = 0;
-
- var trickle = Adapt.trickle.getModelConfig(this.model);
-
- if (!this.isButtonEnabled()) return;
- var isCompleteAndShouldRelock = (trickle._stepLocking._isLockedOnRevisit &&
- this.model.get(completionAttribute));
-
- if (isCompleteAndShouldRelock) {
- this.isStepLocked = true;
- this.model.set("_isTrickleAutoScrollComplete", false);
- Adapt.trigger("trickle:wait");
- this.allowVisible = true;
- this.checkButtonAutoHide();
- } else if (this.hasStepPreCompleted) {
- // force the button to show if section completed before it was steplocked
- this.isStepLocked = true;
- this.model.set("_isTrickleAutoScrollComplete", false);
- this.allowVisible = true;
- this.stepCompleted();
- }
- this.setupOnScreenListener();
- },
-
- onOverlay: function() {
- this.overlayShownCount++;
- },
-
- onUnoverlay: function() {
- this.overlayShownCount--;
- this.checkButtonAutoHide();
- },
-
- setupOnScreenListener: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
-
- if (!trickle._button._autoHide) return;
- this.$el.on("onscreen", this.checkButtonAutoHideSync);
-
- },
-
- isViewMatch: function(view) {
- return view.model.get("_id") === this.model.get("_id");
- },
-
- isButtonEnabled: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
-
- if (!trickle._isEnabled || !trickle._button._isEnabled) return false;
- return true;
- },
-
- onCompletion: function(model, value) {
- if (value === false) return;
-
- this.hasStepPreCompleted = true;
-
- if (!this.hasStepLocked) return;
-
- _.defer(this.stepCompleted.bind(this));
- },
-
- stepCompleted: function() {
-
- if (this.isStepLockFinished) return;
-
- this.isStepLocked = false;
- this.allowVisible = false;
- this.allowEnabled = false;
-
- if (this.isButtonEnabled()) {
- if (this.isStepLocking) {
-
- this.isStepLocked = true;
- this.isWaitingForClick = true;
- Adapt.trigger("trickle:wait");
-
- } else {
-
- this.isStepLockFinished = true;
- }
-
- this.allowVisible = true;
- this.allowEnabled = true;
- }
-
- this.model.set("_isTrickleAutoScrollComplete", false);
- this.checkButtonAutoHide();
- this.checkButtonEnabled();
-
- },
-
- onButtonClick: function() {
- if (this.isStepLocked) {
- Adapt.trigger("trickle:unwait");
- this.isStepLocked = false;
- this.isStepLockFinished = true;
-
- } else {
- this.model.set("_isTrickleAutoScrollComplete", false);
- _.defer(function() {
- Adapt.trickle.scroll(this.model);
- }.bind(this));
- }
-
- var trickle = this.model.get("_trickle");
- switch (trickle._button._styleAfterClick) {
- case "hidden":
- this.allowVisible = false;
- this.checkButtonAutoHideSync();
- break;
- case "disabled":
- this.allowEnabled = false;
- this.checkButtonAutoHideSync();
- }
- },
-
- onUpdate: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
-
- if (trickle._button._autoHide && this.isStepLocking) {
- this.$el.off("onscreen", this.checkButtonAutoHideSync);
- }
-
- var $original = this.$el;
- var $newEl = $(Handlebars.templates['trickle-button'](this.model.toJSON()));
- $original.replaceWith($newEl);
-
- this.setElement($newEl);
-
- if (trickle._button._autoHide && this.isStepLocking) {
- this.$el.on("onscreen", this.checkButtonAutoHideSync);
- }
- },
-
- onStepUnlock: function(view) {
- if (!this.isViewMatch(view)) return;
- this.$el.off("onscreen", this.checkButtonAutoHideSync);
- this.isStepLocking = false;
- this.overlayShownCount = 0;
- // make label unfocusable as it is no longer needed
- this.$('.aria-label').a11y_cntrl(false);
- },
-
- onSkip: function() {
- if (!this.isStepLocking) return;
-
- this.onKill();
- },
-
- onKill: function() {
- this.$el.off("onscreen", this.checkButtonAutoHideSync);
- if (this.isWaitingForClick) {
- this.model.set("_isTrickleAutoScrollComplete", true);
- }
- this.isWaitingForClick = false;
- this.isStepLocked = false;
- this.isStepLocking = false;
- this.allowVisible = false;
- this.allowEnabled = false;
- this.isStepLockFinished = true;
- this.model.set("_isTrickleAutoScrollComplete", false);
- this.checkButtonAutoHide();
- this.checkButtonEnabled();
- },
-
- onRemove: function() {
- if (this.isWaitingForClick) {
- this.model.set("_isTrickleAutoScrollComplete", true);
- }
- this.isWaitingForClick = false;
- this.$el.off("onscreen", this.checkButtonAutoHideSync);
- this.isStepLocking = true;
- this.remove();
- }
-
- });
-
- return TrickleButtonView;
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/completion.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/completion.js
deleted file mode 100644
index 00705d13a..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/completion.js
+++ /dev/null
@@ -1,127 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var completionAttribute = "_isComplete";
-
- var TrickleCompletionHandler = Backbone.Controller.extend({
-
- isStepLocking: false,
- isCompleted: false,
-
- stepModel: null,
-
- initialize: function() {
- this.listenToOnce(Adapt, "app:dataReady", this.onAppDataReady);
- },
-
- onAppDataReady: function() {
- this.getCompletionAttribute();
- this.setupEventListeners();
- },
-
- getCompletionAttribute: function() {
- var trickle = Adapt.trickle.getModelConfig(Adapt.config);
- if (!trickle) return;
- if (!trickle._completionAttribute) return;
- completionAttribute = trickle._completionAttribute;
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "trickle:descendants": this.onDescendants,
- "trickle:steplock": this.onStepLock,
- "trickle:stepunlock": this.onStepUnlock,
- "trickle:kill": this.onKill,
- "remove": this.onRemove
- });
- },
-
- onDescendants: function(view) {
- // save the original completion state of the component before steplocking
- view.descendantsParentFirst.forEach(function(descendant) {
- var trickle = Adapt.trickle.getModelConfig(descendant);
- if (!trickle) return;
- trickle._wasCompletedPreRender = descendant.get(completionAttribute);
- });
- },
-
- onStepLock: function(view) {
- var isModelComplete = view.model.get(completionAttribute);
-
- var trickle = Adapt.trickle.getModelConfig(view.model);
- if (!trickle._stepLocking._isCompletionRequired &&
- !trickle._stepLocking._isLockedOnRevisit) {
- if (!isModelComplete) return;
- // skip any components that do not require completion but that are already complete
- // this is needed for a second visit to a page with 'inview'
- // components that aren't reset and don't require completion and are not relocked on revisit
- Adapt.trigger("trickle:continue", view);
- return;
- }
-
- if (trickle._stepLocking._isCompletionRequired
- && isModelComplete
- && trickle._wasCompletedPreRender) {
- // skip any components that are complete, have require completion
- // and we completed before the page rendered
- Adapt.trigger("trickle:continue", view);
- return;
- }
-
- Adapt.trigger("trickle:wait");
-
- if (isModelComplete) {
- _.defer(function() {
- Adapt.trigger("trickle:unwait");
- });
- return;
- }
-
- view.model.set("_isTrickleAutoScrollComplete", false);
- this.isCompleted = false;
- this.isStepLocking = true;
- this.stepModel = view.model;
-
- this.listenTo(this.stepModel, "change:"+completionAttribute, this.onCompletion);
- },
-
- onCompletion: function(model, value) {
- if (value === false) return;
- _.defer(this.stepCompleted.bind(this));
- },
-
- stepCompleted: function() {
-
- if (!this.isStepLocking) return;
-
- if (this.isCompleted) return;
- this.isCompleted = true;
-
- this.stopListening(this.stepModel, "change:"+completionAttribute, this.onCompletion);
-
- _.defer(function(){
- Adapt.trigger("trickle:unwait");
- });
- },
-
- onKill: function() {
- this.onStepUnlock();
- },
-
- onRemove: function() {
- this.onStepUnlock();
- },
-
- onStepUnlock: function() {
- this.stopListening(this.stepModel, "change:"+completionAttribute, this.onCompletion);
- this.isStepLocking = false;
- this.stepModel = null;
- this.isCompleted = false;
- }
-
- });
-
- return new TrickleCompletionHandler();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/done.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/done.js
deleted file mode 100644
index 1d7135d3e..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/done.js
+++ /dev/null
@@ -1,33 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var TrickleDone = Backbone.Controller.extend({
-
- initialize: function() {
- this.listenToOnce(Adapt, "app:dataReady", this.onAppDataReady);
- },
-
- onAppDataReady: function() {
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- this.onDone = _.debounce(this.onDone.bind(this), 50);
- this.listenTo(Adapt, {
- "trickle:steplock": this.onDone,
- "trickle:stepunlock": this.onDone,
- "trickle:continue": this.onDone,
- "trickle:finished": this.onDone
- });
- },
-
- onDone: function() {
- Adapt.trigger("trickle:done");
- }
-
- });
-
- return new TrickleDone();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/notify.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/notify.js
deleted file mode 100644
index 3770b478d..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/notify.js
+++ /dev/null
@@ -1,61 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var TrickleNotifyHandler = Backbone.Controller.extend({
-
- isStepLocking: false,
- isNotifyOpen: false,
-
- initialize: function() {
- this.listenToOnce(Adapt, "app:dataReady", this.onAppDataReady);
- },
-
- onAppDataReady: function() {
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "trickle:steplock": this.onStepLock,
- "notify:opened": this.onNotifyOpened,
- "notify:closed": this.onNotifyClosed,
- "trickle:stepunlock": this.onStepUnlock,
- "remove": this.onRemove
- });
- },
-
- onStepLock: function(view) {
- this.isStepLocking = true;
- },
-
- onNotifyOpened: function() {
- if (!this.isStepLocking) return;
-
- this.isNotifyOpen = true;
- Adapt.trigger("trickle:overlay");
- Adapt.trigger("trickle:wait");
- },
-
- onNotifyClosed: function() {
- if (!this.isStepLocking) return;
- if (!this.isNotifyOpen) return;
-
- this.isNotifyOpen = false;
- Adapt.trigger("trickle:unoverlay");
- Adapt.trigger("trickle:unwait");
- },
-
- onStepUnlock: function() {
- this.isStepLocking = false;
- },
-
- onRemove: function() {
- this.onStepUnlock();
- }
-
- });
-
- return new TrickleNotifyHandler();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/resize.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/resize.js
deleted file mode 100644
index 18fcb67bd..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/resize.js
+++ /dev/null
@@ -1,107 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var TrickleBodyResizeHandler = Backbone.Controller.extend({
-
- isStepLocking: false,
-
- stepView: null,
-
- initialize: function() {
- this.listenToOnce(Adapt, {
- "app:dataReady": this.onAppDataReady,
- "adapt:initialize": this.onAdaptInitialized
- });
- },
-
- onAppDataReady: function() {
- this.onResize = _.debounce(this.onResize.bind(this), 10);
- this.preventWrapperScroll = this.preventWrapperScroll.bind(this);
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "trickle:steplock": this.onStepLock,
- "trickle:resize": this.onTrickleResize,
- "trickle:stepunlock": this.onStepUnlock,
- "trickle:kill": this.onKill,
- "trickle:finished": this.onFinished,
- "remove": this.onRemove
- });
- },
-
- onAdaptInitialized: function() {
- this.wrapper = document.getElementById('wrapper');
- this.wrapper.addEventListener("scroll", this.preventWrapperScroll);
- },
-
- onStepLock: function(view) {
- this.isStepLocking = true;
- this.stepView = view;
- $(window).on("resize", this.onResize);
- $(".page").on("resize", this.onResize);
-
- // wait for height / visibility to adjust
- _.defer(function() {
- Adapt.trigger("trickle:resize");
- });
- },
-
- preventWrapperScroll: function(event) {
- if (!this.isStepLocking) return;
- // Screen reader can scroll the #wrapper instead of the window.
- // This code overcomes that behaviour.
- var top = this.wrapper.scrollTop;
- if (top === 0) return;
- this.wrapper.scrollTop = 0;
- window.scrollTo(0, window.pageYOffset + top);
- },
-
- onResize: function() {
- if (!this.isStepLocking) return;
- Adapt.trigger("trickle:resize");
- },
-
- onTrickleResize: function() {
- if (!this.isStepLocking) return;
- var offset = this.stepView.$el.offset();
- var height = this.stepView.$el.height();
-
- var $wrapper = $(this.wrapper);
-
- var topPadding = parseInt($wrapper.css("padding-top") || "0");
-
- var bottom = (offset['top'] - topPadding) + height;
-
- $wrapper.css("height", bottom );
- },
-
- onStepUnlock: function(view) {
- this.isStepLocking = false;
- this.stepView = null;
- $(window).off("resize", this.onResize);
- $(".page").off("resize", this.onResize);
- },
-
- onKill: function() {
- this.onFinished();
- this.onStepUnlock();
- },
-
- onFinished: function() {
- this.wrapper.removeEventListener("scroll", this.preventWrapperScroll);
- $(this.wrapper).css("height", "");
- },
-
- onRemove: function() {
- this.onStepUnlock();
- this.stepView = null;
- }
-
- });
-
- return new TrickleBodyResizeHandler();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/tutor.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/tutor.js
deleted file mode 100644
index c3f9b9a06..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/tutor.js
+++ /dev/null
@@ -1,79 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var TrickleTutorHandler = Backbone.Controller.extend({
-
- stepLockedId: null,
- isStepLocking: false,
- isTutorOpen: false,
-
- initialize: function() {
- this.listenToOnce(Adapt, "app:dataReady", this.onAppDataReady);
- },
-
- onAppDataReady: function() {
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "trickle:steplock": this.onStepLock,
- "tutor:opened": this.onTutorOpened,
- "tutor:closed": this.onTutorClosed,
- "trickle:stepunlock": this.onStepUnlock,
- "remove": this.onRemove
- });
- },
-
- onStepLock: function(view) {
- if (view) {
- this.stepLockedId = view.model.get("_id");
- }
- this.isStepLocking = true;
- },
-
- onTutorOpened: function(view, alertObject) {
- if (!this.isStepLocking) return;
- if (!this.isOriginStepLocked(view)) return;
-
- this.isTutorOpen = true;
- Adapt.trigger("trickle:overlay");
- Adapt.trigger("trickle:wait");
- },
-
- isOriginStepLocked: function(view) {
- if (!view || !this.stepLockedId) return true;
-
- var parents = view.model.getAncestorModels();
- var hasStepLockedParent = _.find(parents, function(ancestor) {
- return ancestor.get('_id') === this.stepLockedId;
- }, this);
- if (!hasStepLockedParent) return false;
- return true;
- },
-
- onTutorClosed: function(view, alertObject) {
- if (!this.isStepLocking) return;
- if (!this.isTutorOpen) return;
- if (!this.isOriginStepLocked(view)) return;
-
- this.isTutorOpen = false;
- Adapt.trigger("trickle:unoverlay");
- Adapt.trigger("trickle:unwait");
- },
-
- onStepUnlock: function() {
- this.isStepLocking = false;
- this.stepLockedId = null;
- },
-
- onRemove: function() {
- this.onStepUnlock();
- }
-
- });
-
- return new TrickleTutorHandler();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/visibility.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/visibility.js
deleted file mode 100644
index 3b0ea49e3..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/handlers/visibility.js
+++ /dev/null
@@ -1,112 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var TrickleVisibilityHandler = Backbone.Controller.extend({
-
- isStepLocking: false,
-
- trickleModel: null,
-
- initialize: function() {
- this.listenToOnce(Adapt, "app:dataReady", this.onAppDataReady);
- },
-
- onAppDataReady: function() {
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "trickle:steplock": this.onStepLock,
- "trickle:visibility": this.onVisibility,
- "trickle:stepunlock": this.onStepUnlock,
- "trickle:kill": this.onKill,
- "trickle:finished": this.onFinished,
- "remove": this.onRemove
- });
-
- },
-
- onStepLock: function(view) {
- this.isStepLocking = true;
- this.trickleModel = view.model;
- Adapt.trigger("trickle:visibility");
- },
-
- onVisibility: function() {
- if (!this.isStepLocking) return;
-
- if (!Adapt.trickle.pageView) return;
-
- var descendantsParentFirst = Adapt.trickle.pageView.descendantsParentFirst;
-
- var trickleModelId = this.trickleModel.get("_id");
- var trickleType = this.trickleModel.get("_type");
-
- var atIndex = _.findIndex(descendantsParentFirst, function(descendant) {
- if (descendant.get("_id") === trickleModelId) return true;
- });
-
- descendantsParentFirst.forEach(function(descendant, index) {
- var components = descendant.findDescendantModels("components");
- if (index <= atIndex) {
- descendant.set("_isVisible", true, {pluginName:"trickle"});
- components.forEach(function(componentModel) {
- componentModel.set("_isVisible", true, {pluginName:"trickle"});
- });
- return;
- }
-
- if (trickleType === "article" && descendant.get("_type") === "block") {
- // make sure article blocks are shown
- if (descendant.get("_parentId") === trickleModelId) {
- descendant.set("_isVisible", true, {pluginName:"trickle"});
- components.forEach(function(componentModel) {
- componentModel.set("_isVisible", true, {pluginName:"trickle"});
- });
- return;
- }
- }
-
- descendant.set("_isVisible", false, {pluginName:"trickle"});
- components.forEach(function(componentModel) {
- componentModel.set("_isVisible", false, {pluginName:"trickle"});
- });
-
- });
-
- },
-
- onStepUnlock: function(view) {
- this.isStepLocking = false;
- this.trickleModel = null;
- },
-
- onKill: function() {
- this.onFinished();
- this.onStepUnlock();
- },
-
- onFinished: function() {
-
- var descendantsParentFirst = Adapt.trickle.pageView.descendantsParentFirst;
- descendantsParentFirst.forEach(function(descendant) {
- descendant.set("_isVisible", true, {pluginName:"trickle"});
- var components = descendant.findDescendantModels("components");
- components.forEach(function(componentModel) {
- componentModel.set("_isVisible", true, {pluginName:"trickle"});
- });
- });
-
- },
-
- onRemove: function() {
- this.onStepUnlock();
- }
-
- });
-
- return new TrickleVisibilityHandler();
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/pageView.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/pageView.js
deleted file mode 100644
index 1ec9e0d03..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/pageView.js
+++ /dev/null
@@ -1,278 +0,0 @@
-define([
- 'core/js/adapt',
- './trickleView'
-], function(Adapt, TrickleView) {
-
- var PageView = Backbone.View.extend({
-
- currentDescendantIndex: 0,
- currentLocksOnDescendant: 0,
- currentDescendant: null,
-
- initialize: function(options) {
- if (!this.isPageEnabled()) {
- return this.detachFromPage();
- }
- this.setupDescendants();
- if (!this.haveDescendantsGotTrickle()) {
- return this.detachFromPage();
- }
- this.addClassToHtml();
- this.setupEventListeners();
- },
-
- isPageEnabled: function() {
- var trickleConfig = Adapt.trickle.getModelConfig(this.model);
- if (trickleConfig && trickleConfig._isEnabled === false) return false;
- return true;
- },
-
- setupDescendants: function() {
- this.currentDescendant = null;
- this.descendantViews = {};
- this.getDescendants();
- Adapt.trigger("trickle:descendants", this);
- },
-
- descendantsChildFirst: null,
- descendantsParentFirst: null,
- descendantViews: null,
-
- getDescendants: function() {
- this.descendantsChildFirst = this.model.getAllDescendantModels();
- this.descendantsParentFirst = this.model.getAllDescendantModels(true);
-
- // if some descendants flip between _isAvailable true/false they
- // must have their defaults set before the filter is applied
- this.setDescendantsTrickleDefaults();
-
- this.descendantsChildFirst = this.filterComponents(this.descendantsChildFirst);
- this.descendantsParentFirst = this.filterComponents(this.descendantsParentFirst);
-
- },
-
- filterComponents: function(descendants) {
- return descendants.filter(function(descendant) {
- if (descendant.get("_type") === "component") return false;
- if (!descendant.get("_isAvailable")) return false;
- return true;
- });
- },
-
- setDescendantsTrickleDefaults: function() {
- // use parent first as likely to get to article
- this.descendantsParentFirst.forEach(function(descendant) {
- var trickle = Adapt.trickle.getModelConfig(descendant);
- if (!trickle) {
- return;
- }
-
- // check if trickle is configures on descendant
- // NOTE: Removed for banked assessments
- // var isTrickleConfigured = descendant.get("_isTrickleConfigured");
- // if (isTrickleConfigured) return;
-
- // setup steplocking defaults
- trickle._stepLocking = _.extend({
- "_isEnabled": true, //(default=true)
- "_isCompletionRequired": true, //(default=true)
- "_isLockedOnRevisit": false //(default=false)
- }, trickle._stepLocking);
-
- // setup main trickle defaults
- trickle = _.extend({
- "_isEnabled": true, //(default=true)
- "_autoScroll": true, //(default=true)
- "_scrollDuration": 500, //(default=500)
- "_onChildren": true, //(default=true)
- "_scrollTo": "@block +1" //(default="@block +1")
- }, trickle);
-
- Adapt.trickle.setModelConfig(descendant, trickle);
-
- //check article "onChildren" rule
- if (trickle._onChildren &&
- descendant.get("_type") === "article") {
- this.setupArticleOnChildren(descendant, trickle);
- }
-
- // set descendant trickle as configured
- descendant.set("_isTrickleConfigured", true);
-
- }.bind(this));
- },
-
- setupArticleOnChildren: function(articleModel, articleTrickleConfig) {
- // set trickle on all blocks, using article config with block overrides
- var articleBlocks = articleModel.getChildren();
-
- articleBlocks.each(function(blockModel, index) {
- var blockTrickleConfig = Adapt.trickle.getModelConfig(blockModel);
-
- // overlay block trickle on article trickle
- // this allows values to carry through from the article to the block
- // retains any value overriden in the block
- for (var k in blockTrickleConfig) {
- //handle nested objects to one level
- if (typeof blockTrickleConfig[k] === "object") {
- blockTrickleConfig[k] = _.extend({}, articleTrickleConfig[k], blockTrickleConfig[k]);
- }
- }
-
- blockTrickleConfig = _.extend({}, articleTrickleConfig, blockTrickleConfig);
-
-
- // setup start/final config
- if (articleBlocks.length === index+1) {
- blockTrickleConfig._isFinal = true;
- }
- if (index === 0) {
- blockTrickleConfig._isStart = true;
- }
-
- Adapt.trickle.setModelConfig(blockModel, blockTrickleConfig);
- });
-
- },
-
- haveDescendantsGotTrickle: function() {
- return this.descendantsChildFirst.some(function(descendant) {
- var trickle = Adapt.trickle.getModelConfig(descendant);
- return trickle && trickle._isEnabled === true;
- });
- },
-
- addClassToHtml: function() {
- $("html").addClass("trickle");
- },
-
- setupEventListeners: function() {
- this.listenTo(Adapt, {
- "remove": this.onRemove,
-
- "articleView:preRender": this.onDescendantPreRender,
- "blockView:preRender": this.onDescendantPreRender,
-
- "trickle:unwait": this.onUnwait,
- "trickle:wait": this.onWait,
- "trickle:continue": this.onContinue,
- "trickle:skip": this.onSkip,
-
- "trickle:kill": this.onKill
- });
- this.listenToOnce(this.model, "change:_isReady", this.onPageReady);
- },
-
- onDescendantPreRender: function(view) {
- // ignore components
- if (view.model.get("_type") === "component") return;
-
- var descendantView = new TrickleView({
- model: view.model,
- el: view.el
- });
- this.descendantViews[view.model.get("_id")] = descendantView;
- },
-
- // trickle lifecycle
-
- onPageReady: function(model, value) {
- if (!value) return;
-
- this.currentDescendant = null;
-
- Adapt.trigger("trickle:started");
- this.gotoNextDescendant();
- },
-
- gotoNextDescendant: function() {
- this.getDescendants();
-
- if (this.currentDescendant) {
- this.currentDescendant.trigger("stepunlock");
- this.currentDescendant = null;
- }
-
- for (var index = this.currentDescendantIndex || 0, l = this.descendantsChildFirst.length; index < l; index++) {
- var descendant = this.descendantsChildFirst[index];
- switch ( descendant.get("_type") ) {
- case "block":
- case "article":
- this.currentLocksOnDescendant = 0;
- this.currentDescendantIndex = index;
- var currentId = descendant.get("_id");
- this.currentDescendant = this.descendantViews[currentId];
- this.currentDescendant.trigger("steplock");
- return;
- }
- }
- this.finished();
- },
-
- onContinue: function(view) {
- if (!this.currentDescendant) return;
- if (view.model.get("_id") !== this.currentDescendant.model.get("_id")) return;
-
- this.onSkip();
- },
-
- onWait: function() {
- this.currentLocksOnDescendant++;
- },
-
- onUnwait: function() {
- this.currentLocksOnDescendant--;
- if (this.currentLocksOnDescendant > 0) return;
-
- var lastDescendant = this.currentDescendant.model;
-
- this.currentDescendantIndex++;
- this.gotoNextDescendant();
-
- Adapt.trickle.scroll(lastDescendant);
-
- },
-
- onSkip: function() {
- // wait for all handlers to accept skip
- _.defer(function() {
- this.currentDescendantIndex++;
- this.gotoNextDescendant();
- }.bind(this));
- },
-
- onKill: function() {
- this.finished();
- this.detachFromPage();
- },
-
- finished: function() {
- Adapt.trigger("trickle:finished");
- this.detachFromPage();
- },
-
- // end of trickle lifecycle
-
- onRemove: function() {
- this.finished();
- },
-
- detachFromPage: function() {
- $("html").removeClass("trickle");
- this.undelegateEvents();
- this.stopListening();
- this.model = null;
- this.$el = null;
- this.el = null;
- this.currentDescendant = null;
- this.descendantViews = null;
- this.descendantsChildFirst = null;
- this.descendantsParentFirst = null;
- Adapt.trickle.pageView = null;
- }
-
- });
-
- return PageView;
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/trickleView.js b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/trickleView.js
deleted file mode 100644
index 01a638681..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/js/trickleView.js
+++ /dev/null
@@ -1,110 +0,0 @@
-define([
- 'core/js/adapt'
-], function(Adapt) {
-
- var TrickleView = Backbone.View.extend({
-
- isSteplocked: false,
-
- completionAttribute : null,
-
- initialize: function(options) {
- this.setupEventListeners();
- },
-
- setupEventListeners: function() {
- var AdaptEvents = {
- "trickle:kill": this.onKill,
- "remove": this.onRemove
- };
-
- this.onPreRender(this);
-
- AdaptEvents[this.model.get("_type") + "View:postRender"] = this.onPostRender;
- this.listenTo(Adapt, AdaptEvents);
-
- this.on("steplock", this.onStepLock);
- this.on("stepunlock", this.onStepUnlock);
- },
-
- onPreRender: function(view) {
- this.completionAttribute = Adapt.trickle.getCompletionAttribute();
- if (!this.isElementEnabled()) return;
-
- Adapt.trigger("trickle:preRender", this);
- },
-
- onPostRender: function(view) {
- if (view.model.get("_id") !== this.model.get("_id")) return;
- if (!this.isElementEnabled()) return;
-
- Adapt.trigger("trickle:postRender", this);
- },
-
- isElementEnabled: function() {
- var trickle = Adapt.trickle.getModelConfig(this.model);
- if (!trickle) return false;
-
- if (this.model.get(this.completionAttribute)) return false;
-
- var isArticleWithOnChildren = (this.model.get("_type") === "article" && trickle._onChildren);
- if (isArticleWithOnChildren) {
- return false;
- }
-
- if (trickle._isEnabled === true) return true;
- return false;
- },
-
- onStepLock: function() {
- if (!this.isElementEnabled()) {
- this.continueToNext();
- return;
- }
-
- var trickle = Adapt.trickle.getModelConfig(this.model);
- var isSteplocking = (trickle._stepLocking && trickle._stepLocking._isEnabled);
- if (!isSteplocking) {
- this.continueToNext();
- return;
- }
-
- Adapt.trigger("trickle:steplock", this);
- this.isSteplocked = true;
- },
-
- continueToNext: function() {
- _.defer(function() {
- Adapt.trigger("trickle:continue", this);
- }.bind(this));
- },
-
-
- onStepUnlock: function() {
- if (!this.isSteplocked) return;
- this.isSteplocked = false;
- Adapt.trigger("trickle:stepunlock", this);
- },
-
- onKill: function() {
- this.detachFromElement();
- },
-
- onRemove: function() {
- this.detachFromElement();
- },
-
- detachFromElement: function() {
- this.undelegateEvents();
- this.stopListening();
- this.model = null;
- this.articleModel = null;
- this.$el = null;
- this.el = null;
- }
-
- });
-
- return TrickleView;
-
-});
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/less/trickle-button.less b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/less/trickle-button.less
deleted file mode 100644
index 7347b4f3f..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/less/trickle-button.less
+++ /dev/null
@@ -1,94 +0,0 @@
-.article {
- position: relative;
-}
-
-.trickle-button-component {
- text-align: center;
- padding-bottom: 10px;
-
- .trickle-button-inner {
- z-index: 500;
- }
-
- &.trickle-full-width {
- position: absolute;
- bottom: 0px;
- left: 0px;
- right: 0px;
-
- .trickle-button-inner {
- display:none;
- width: 100%;
-
- &.locking {
- position:fixed;
- bottom:0px;
- left:0px;
- display:block;
-
- button {
- z-index: 500;
- width:100%;
- }
- }
- }
-
- }
-
- &.trickle-round-arrow {
- button {
- width: 80px;
- height: 80px;
- background-color: @button-color;
- border-radius: 50%;
- margin: 10px auto 0;
- -webkit-transition: background-color 0.25s ease-in;
- -moz-transition: background-color 0.25s ease-in;
- -o-transition: background-color 0.25s ease-in;
- transition: background-color 0.25s ease-in;
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAxCAYAAACGYsqsAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH3wUNDDU4lh/QuwAAA2dJREFUaN7tmktrFEEURr9KYkyMMUajibowkBCieYjgf3DrUl36C8SVoIQIupEgwURRfExA3AgKghKNioqPuFJcGAU3CiIoaJQ8RCeZ46ZHmqJ7MtNT3TOR+VY9dNP3nrlVt27fKqmiiiqqqKJlKCDSvST9i+KjCXrQGOP/XSWpSVKVpF/GmPmwZ5MMhOVjo6SVktLGmJ+5eEzYTWCtpJ2SeiR1SqqV9EXSlKTXkt4bYwhyIAlYYKWkbZL6JXVLapY0K+mdpDeSXhljfocGxj8EgF5gBJgmWE+B/UBDPsPL9RAGWoCDwFSIfx+BAWBL4BD3vUjAduAxS+sHcBhYHTe0BdsGnAUW8vDxKrDRz2e/uBG4Sf6a8f7J2KAt2E3AJSBTgI8ngeqgKFcDeyhcM8BgHNABsClgsUD/0kAPYOyX1wHXiaZZ4JjLOR0wjMcKjKxfR7NR9htoAD4RXXPAcRfQAbBXioAFuA2ssI2s9pwuRvPACaA+KrQF2+olnkyRfk1mgav8tiR9L3La1Us6JGkAqPOt6VHW2Q2ShiXtCyqQCtS37IUfeFHSpINcU+dBDwK1+UJbsOslnZG01wGsJD2TlLENVgG7cac/3pJQs9TwtoqeZuAGbtURaBtYA1xzaCgNDPnXQduwBdtUYB2Qjway8/efLcvoVuCFQ4OLwCnvI8ROSnbRc8uRzWySSwHrcpaX3nWnY+gMMGyVsPaSOO44sikv8YWWlUHQk46dOB0wjVYBE47tXM4JmzD0iAV7PwbYlsjNCqALeO7YqVGgHngQ5zCO3OIBumOA/uz4fWNZ2Mh1vJVRt3kf/uWoVNGwIdA9wJMyhN3otLloQffm2RFJCrY1lk6qBd0PPPpvYUOgdwAPSwCa8WDbEumRB0A/SBB20Vtnk4HNAX0/AdiFksDmgL4XI2za61Zu8uwlu91hQRtfIpuICfaiL7KlgQ2B7gPuOoa9UDawOYqTO47m7HlfUVEesDnK0PEis/E5X7lYXrAh0F0RoTPe3lFLuexFFwLdEQF6NNuWKXvYEOj2ArqQQ0DzsoINgd4MHAG+hoC+BQ4ATXHDmrihfc31BkntknZJ6pPUIGla0kvvRMEHY0w67mMUJqlo+3YgaiStklQtaUHSnDEmU6ozIyU5dbPs5mtFFVVUMv0F2vP1DG+OuikAAAAASUVORK5CYII=');
- background-size: 60px;
- background-repeat: no-repeat;
- background-position: center;
- border: none;
- color: transparent !important;
- font-size: 0px;
- }
- }
-
- &.trickle-full-width.trickle-round-arrow {
- padding-bottom: 80px;
-
- .trickle-button-inner {
- display:none;
- width: 100%;
-
- &.locking {
- position:fixed;
- bottom:0px;
- left:0px;
- display:block;
-
- button {
- width: 80px;
- height: 80px;
- background-color: @button-color;
- border-radius: 50%;
- margin: 10px auto 0;
- -webkit-transition: background-color 0.25s ease-in;
- -moz-transition: background-color 0.25s ease-in;
- -o-transition: background-color 0.25s ease-in;
- transition: background-color 0.25s ease-in;
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAxCAYAAACGYsqsAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH3wUNDDU4lh/QuwAAA2dJREFUaN7tmktrFEEURr9KYkyMMUajibowkBCieYjgf3DrUl36C8SVoIQIupEgwURRfExA3AgKghKNioqPuFJcGAU3CiIoaJQ8RCeZ46ZHmqJ7MtNT3TOR+VY9dNP3nrlVt27fKqmiiiqqqKJlKCDSvST9i+KjCXrQGOP/XSWpSVKVpF/GmPmwZ5MMhOVjo6SVktLGmJ+5eEzYTWCtpJ2SeiR1SqqV9EXSlKTXkt4bYwhyIAlYYKWkbZL6JXVLapY0K+mdpDeSXhljfocGxj8EgF5gBJgmWE+B/UBDPsPL9RAGWoCDwFSIfx+BAWBL4BD3vUjAduAxS+sHcBhYHTe0BdsGnAUW8vDxKrDRz2e/uBG4Sf6a8f7J2KAt2E3AJSBTgI8ngeqgKFcDeyhcM8BgHNABsClgsUD/0kAPYOyX1wHXiaZZ4JjLOR0wjMcKjKxfR7NR9htoAD4RXXPAcRfQAbBXioAFuA2ssI2s9pwuRvPACaA+KrQF2+olnkyRfk1mgav8tiR9L3La1Us6JGkAqPOt6VHW2Q2ShiXtCyqQCtS37IUfeFHSpINcU+dBDwK1+UJbsOslnZG01wGsJD2TlLENVgG7cac/3pJQs9TwtoqeZuAGbtURaBtYA1xzaCgNDPnXQduwBdtUYB2Qjway8/efLcvoVuCFQ4OLwCnvI8ROSnbRc8uRzWySSwHrcpaX3nWnY+gMMGyVsPaSOO44sikv8YWWlUHQk46dOB0wjVYBE47tXM4JmzD0iAV7PwbYlsjNCqALeO7YqVGgHngQ5zCO3OIBumOA/uz4fWNZ2Mh1vJVRt3kf/uWoVNGwIdA9wJMyhN3otLloQffm2RFJCrY1lk6qBd0PPPpvYUOgdwAPSwCa8WDbEumRB0A/SBB20Vtnk4HNAX0/AdiFksDmgL4XI2za61Zu8uwlu91hQRtfIpuICfaiL7KlgQ2B7gPuOoa9UDawOYqTO47m7HlfUVEesDnK0PEis/E5X7lYXrAh0F0RoTPe3lFLuexFFwLdEQF6NNuWKXvYEOj2ArqQQ0DzsoINgd4MHAG+hoC+BQ4ATXHDmrihfc31BkntknZJ6pPUIGla0kvvRMEHY0w67mMUJqlo+3YgaiStklQtaUHSnDEmU6ozIyU5dbPs5mtFFVVUMv0F2vP1DG+OuikAAAAASUVORK5CYII=');
- background-size: 60px;
- background-repeat: no-repeat;
- background-position: center;
- border: none;
- margin-bottom: 20px;
- color: transparent !important;
- font-size: 0px;
- }
- }
- }
- }
-}
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/less/trickle.less b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/less/trickle.less
deleted file mode 100644
index 40a6531d2..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/less/trickle.less
+++ /dev/null
@@ -1,7 +0,0 @@
-html.trickle {
- height:100%;
-
- #wrapper {
- overflow: hidden;
- }
-}
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/properties.schema b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/properties.schema
deleted file mode 100644
index b11de5196..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/properties.schema
+++ /dev/null
@@ -1,405 +0,0 @@
-{
- "type": "object",
- "$schema": "http://json-schema.org/draft-04/schema",
- "id": "http://jsonschema.net",
- "required": false,
- "globals": {
- "incompleteContent": {
- "type": "string",
- "required": true,
- "default": "There is incomplete content above. You must complete this before you can proceed through the course.",
- "inputType": "Text",
- "validators": [],
- "translatable": true
- }
- },
- "properties": {
- "pluginLocations": {
- "type": "object",
- "required": true,
- "properties": {
- "config": {
- "type": "object",
- "properties": {
- "_trickle": {
- "type": "object",
- "required": false,
- "legend": "Trickle",
- "properties": {
- "_completionAttribute": {
- "type": "string",
- "required": false,
- "enum": ["_isInteractionComplete", "_isComplete"],
- "default": "_isComplete",
- "title": "Completion Attribute",
- "inputType": {"type": "Select", "options":["_isInteractionComplete", "_isComplete"]},
- "validators": [],
- "help": "Set which attribute is used to determine completion"
- }
- }
- }
- }
- },
- "course": {
- "type": "object"
- },
- "contentobject": {
- "type": "object"
- },
- "article": {
- "type": "object",
- "properties": {
- "_trickle": {
- "type": "object",
- "required": false,
- "legend": "Trickle",
- "properties": {
- "_isEnabled": {
- "type": "boolean",
- "required": false,
- "title": "Enable Trickle",
- "inputType": "Checkbox",
- "validators": []
- },
- "_autoScroll": {
- "type": "boolean",
- "required": false,
- "title": "Scroll Automatically",
- "inputType": "Checkbox",
- "validators": []
- },
- "_scrollDuration": {
- "type": "number",
- "required": true,
- "default": 500,
- "title": "Scroll Duration",
- "inputType": "Number",
- "validators": ["required", "number"],
- "help": "Duration of the scroll animation in milliseconds"
- },
- "_onChildren": {
- "type": "boolean",
- "required": false,
- "title": "Enable on Child Blocks",
- "inputType": "Checkbox",
- "validators": [],
- "help": "Set to false on the article to use trickle at article level"
- },
- "_scrollTo": {
- "type": "string",
- "required": false,
- "default": "@block +1",
- "title": "Scroll To",
- "inputType": "Text",
- "validators": [],
- "help": "Set how trickle scrolls"
- },
- "_button": {
- "type": "object",
- "required": false,
- "title": "Button Attributes",
- "properties": {
- "_isEnabled": {
- "type": "boolean",
- "required": false,
- "title": "Enabled",
- "inputType": "Checkbox",
- "validators": []
- },
- "_styleBeforeCompletion": {
- "type": "string",
- "required": false,
- "enum": ["hidden", "visible"],
- "default": "hidden",
- "title": "Initial Visibility",
- "inputType": {"type": "Select", "options":["hidden", "visible"]},
- "validators": ["required"],
- "help": "Set button visibility before completion"
- },
- "_styleAfterClick": {
- "type": "string",
- "required": false,
- "enum": ["hidden", "disabled", "scroll"],
- "default": "hidden",
- "title": "Final Visibility",
- "inputType": {"type": "Select", "options":["hidden", "disabled", "scroll"]},
- "validators": ["required"],
- "help": "Set button visibility after completion"
- },
- "_isFullWidth": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Full Width",
- "inputType": "Checkbox",
- "validators": []
- },
- "_autoHide": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Hide on Scroll",
- "inputType": "Checkbox",
- "validators": [],
- "help": "Hides the button when it scrolls from view; not recommended for use in courses that need to be screenreader compatible."
- },
- "_className": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Custom Classes",
- "inputType": "Text",
- "validators": []
- },
- "text": {
- "type": "string",
- "required": false,
- "default": "Continue",
- "title": "Button Text",
- "inputType": "Text",
- "validators": [],
- "translatable": true
- },
- "startText": {
- "type": "string",
- "required": false,
- "default": "Begin",
- "title": "First Button Text",
- "inputType": "Text",
- "validators": [],
- "help": "Only on articles when 'Enable on Child Blocks' set to true",
- "translatable": true
- },
- "finalText": {
- "type": "string",
- "required": false,
- "default": "Finish",
- "title": "Final Button Text",
- "inputType": "Text",
- "validators": [],
- "help": "Only on articles when 'Enable on Child Blocks' set to true",
- "translatable": true
- },
- "_component": {
- "type": "string",
- "required": false,
- "default": "trickle-button",
- "title": "Trickle Plugin",
- "inputType": "Text",
- "validators": []
- }
- }
- },
- "_stepLocking": {
- "type": "object",
- "required": false,
- "title": "Step Locking Attributes",
- "properties": {
- "_isEnabled": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Enabled",
- "inputType": "Checkbox",
- "validators": []
- },
- "_isCompletionRequired": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Completion Required",
- "inputType": "Checkbox",
- "validators": []
- },
- "_isLockedOnRevisit": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Locked On Revisit",
- "inputType": "Checkbox",
- "validators": []
- }
- }
- }
- }
- }
- }
- },
- "block": {
- "type": "object",
- "properties": {
- "_trickle": {
- "type": "object",
- "required": false,
- "legend": "Trickle",
- "properties": {
- "_isEnabled": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Enable Trickle",
- "inputType": "Checkbox",
- "validators": []
- },
- "_autoScroll": {
- "type": "boolean",
- "required": false,
- "title": "Scroll Automatically",
- "inputType": "Checkbox",
- "validators": []
- },
- "_scrollDuration": {
- "type": "number",
- "required": true,
- "default": 500,
- "title": "Scroll Duration",
- "inputType": "Number",
- "validators": ["required", "number"],
- "help": "Duration of the scroll animation in milliseconds"
- },
- "_scrollTo": {
- "type": "string",
- "required": false,
- "default": "@block +1",
- "title": "Scroll To",
- "inputType": "Text",
- "validators": [],
- "help": "Set how trickle scrolls"
- },
- "_button": {
- "type": "object",
- "required": false,
- "title": "Button Attributes",
- "properties": {
- "_isEnabled": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Enabled",
- "inputType": "Checkbox",
- "validators": []
- },
- "_styleBeforeCompletion": {
- "type": "string",
- "required": false,
- "enum": ["hidden", "visible"],
- "default": "hidden",
- "title": "Initial Visibility",
- "inputType": {"type": "Select", "options":["hidden", "visible"]},
- "help": "Set button visibility before completion"
- },
- "_styleAfterClick": {
- "type": "string",
- "required": false,
- "enum": ["hidden", "disabled", "scroll"],
- "default": "hidden",
- "title": "Final Visibility",
- "inputType": {"type": "Select", "options":["hidden", "disabled", "scroll"]},
- "help": "Set button visibility after completion"
- },
- "_isFullWidth": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Full Width",
- "inputType": "Checkbox",
- "validators": []
- },
- "_autoHide": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Hide on Scroll",
- "inputType": "Checkbox",
- "validators": [],
- "help": "Hides the button when it scrolls from view; not recommended for use in courses that need to be screenreader compatible."
- },
- "_className": {
- "type": "string",
- "required": false,
- "default": "",
- "title": "Custom Classes",
- "inputType": "Text",
- "validators": []
- },
- "text": {
- "type": "string",
- "required": false,
- "default": "Continue",
- "title": "Button Text",
- "inputType": "Text",
- "validators": [],
- "translatable": true
- },
- "startText": {
- "type": "string",
- "required": false,
- "default": "Begin",
- "title": "First Button Text",
- "inputType": "Text",
- "validators": [],
- "help": "Only on articles when 'Enable on Child Blocks' set to true",
- "translatable": true
- },
- "finalText": {
- "type": "string",
- "required": false,
- "default": "Finish",
- "title": "Final Button Text",
- "inputType": "Text",
- "validators": [],
- "help": "Only on articles when 'Enable on Child Blocks' set to true",
- "translatable": true
- },
- "_component": {
- "type": "string",
- "required": false,
- "default": "trickle-button",
- "title": "Trickle Plugin",
- "inputType": "Text",
- "validators": []
- }
- }
- },
- "_stepLocking": {
- "type": "object",
- "required": false,
- "title": "Step Locking Attributes",
- "properties": {
- "_isEnabled": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Enabled",
- "inputType": "Checkbox",
- "validators": []
- },
- "_isCompletionRequired": {
- "type": "boolean",
- "required": false,
- "default": true,
- "title": "Completion Required",
- "inputType": "Checkbox",
- "validators": []
- },
- "_isLockedOnRevisit": {
- "type": "boolean",
- "required": false,
- "default": false,
- "title": "Locked On Revisit",
- "inputType": "Checkbox",
- "validators": []
- }
- }
- }
- }
- }
- }
- },
- "component": {
- "type": "object"
- }
- }
- }
- }
-}
diff --git a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/templates/trickle-button.hbs b/src/LP/Extensions/adapt-contrib-trickle-3.0.0/templates/trickle-button.hbs
deleted file mode 100644
index 4fcb20a57..000000000
--- a/src/LP/Extensions/adapt-contrib-trickle-3.0.0/templates/trickle-button.hbs
+++ /dev/null
@@ -1,22 +0,0 @@
-
diff --git a/src/LP/Extensions/adapt-healthgauge b/src/LP/Extensions/adapt-healthgauge
deleted file mode 160000
index e865b93f3..000000000
--- a/src/LP/Extensions/adapt-healthgauge
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e865b93f30f630f359c6a84335a0736a8ea5cdcc
diff --git a/src/LP/Extensions/adapt-healthgauge - 3.0.0 b/src/LP/Extensions/adapt-healthgauge - 3.0.0
deleted file mode 160000
index da9854a1c..000000000
--- a/src/LP/Extensions/adapt-healthgauge - 3.0.0
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit da9854a1c67c37e4051d06839064a986114bc24a
diff --git a/src/LP/Extensions/adapt-iconreplacement b/src/LP/Extensions/adapt-iconreplacement
deleted file mode 160000
index 03dd47402..000000000
--- a/src/LP/Extensions/adapt-iconreplacement
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 03dd474025f31d8a8a26824938cac5e82ff76c86
diff --git a/src/LP/Extensions/adapt-introoutro b/src/LP/Extensions/adapt-introoutro
deleted file mode 160000
index c95df2a5a..000000000
--- a/src/LP/Extensions/adapt-introoutro
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c95df2a5a2c5050cfe4435c71ccdfd3e4348024c
diff --git a/src/LP/Extensions/adapt-search b/src/LP/Extensions/adapt-search
deleted file mode 160000
index b311c0694..000000000
--- a/src/LP/Extensions/adapt-search
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b311c0694892d1754444125b94ee8f58d6e5f13f
diff --git a/src/LP/Menus/adapt-contrib-carbonmenu b/src/LP/Menus/adapt-contrib-carbonmenu
deleted file mode 160000
index 353bc1a8e..000000000
--- a/src/LP/Menus/adapt-contrib-carbonmenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 353bc1a8ecd3144ed80667f62d291af4f4dfad36
diff --git a/src/LP/Menus/adapt-contrib-cinnamonmenu b/src/LP/Menus/adapt-contrib-cinnamonmenu
deleted file mode 160000
index 086902850..000000000
--- a/src/LP/Menus/adapt-contrib-cinnamonmenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 08690285042138292bdebd7882ce435f6e7da0b8
diff --git a/src/LP/Menus/adapt-contrib-coremenu b/src/LP/Menus/adapt-contrib-coremenu
deleted file mode 160000
index 1d002bc4d..000000000
--- a/src/LP/Menus/adapt-contrib-coremenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1d002bc4d36af0c016e5077d32d81f655b8a1fab
diff --git a/src/LP/Menus/adapt-contrib-fullscreenmenu b/src/LP/Menus/adapt-contrib-fullscreenmenu
deleted file mode 160000
index 1abcdd725..000000000
--- a/src/LP/Menus/adapt-contrib-fullscreenmenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1abcdd725a1df3f5057ef1132e0362cb0efdead0
diff --git a/src/LP/Menus/adapt-contrib-magazinemenu b/src/LP/Menus/adapt-contrib-magazinemenu
deleted file mode 160000
index a2df6b470..000000000
--- a/src/LP/Menus/adapt-contrib-magazinemenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a2df6b4703ce3de26574a252cf37bf129fa611d9
diff --git a/src/LP/Menus/adapt-contrib-missionmenu b/src/LP/Menus/adapt-contrib-missionmenu
deleted file mode 160000
index 50376f041..000000000
--- a/src/LP/Menus/adapt-contrib-missionmenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 50376f0414dafd6c0988d6d9f2bbee0b54cefa17
diff --git a/src/LP/Menus/adapt-contrib-spectrummenu b/src/LP/Menus/adapt-contrib-spectrummenu
deleted file mode 160000
index 4853e0505..000000000
--- a/src/LP/Menus/adapt-contrib-spectrummenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4853e05059ed96566f15f2fc47d5bb9dc7dff0ce
diff --git a/src/LP/Menus/adapt-menu-boxmenu b/src/LP/Menus/adapt-menu-boxmenu
deleted file mode 160000
index 6c91ec932..000000000
--- a/src/LP/Menus/adapt-menu-boxmenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 6c91ec932b96234e4c21ac194f64f1bfd8290f93
diff --git a/src/LP/Menus/adapt-menu-hotspot b/src/LP/Menus/adapt-menu-hotspot
deleted file mode 160000
index bf99aae85..000000000
--- a/src/LP/Menus/adapt-menu-hotspot
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit bf99aae8573b797113b0ebb627e553524bc3a4da
diff --git a/src/LP/Menus/adapt-schedulemenu b/src/LP/Menus/adapt-schedulemenu
deleted file mode 160000
index 8ec40f67d..000000000
--- a/src/LP/Menus/adapt-schedulemenu
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8ec40f67d232b1baf304b079efba861eb5a6d2b3
diff --git a/src/LP/Themes/adapt-theme-learningpool-salsa b/src/LP/Themes/adapt-theme-learningpool-salsa
deleted file mode 160000
index 5f1cbeb32..000000000
--- a/src/LP/Themes/adapt-theme-learningpool-salsa
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5f1cbeb327366428be3b75c910b05ef9429a70a5
diff --git a/src/LP/Themes/adapt-theme-learningpool-salsa.zip b/src/LP/Themes/adapt-theme-learningpool-salsa.zip
deleted file mode 100644
index 6807b8fc6..000000000
Binary files a/src/LP/Themes/adapt-theme-learningpool-salsa.zip and /dev/null differ
diff --git a/src/LP/Themes/adapt-theme-learningpool-salsa2 b/src/LP/Themes/adapt-theme-learningpool-salsa2
deleted file mode 160000
index c95ef9ceb..000000000
--- a/src/LP/Themes/adapt-theme-learningpool-salsa2
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c95ef9ceb90bf4c743235210da2de26d31b4358c
diff --git a/src/LP/Vendor/animate.css/LICENSE b/src/LP/Vendor/animate.css/LICENSE
deleted file mode 100644
index 22f426c97..000000000
--- a/src/LP/Vendor/animate.css/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2020 Daniel Eden
-
-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/src/LP/Vendor/animate.css/README.md b/src/LP/Vendor/animate.css/README.md
deleted file mode 100644
index 91b00acc1..000000000
--- a/src/LP/Vendor/animate.css/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Animate.css
-
-[![GitHub Version](https://img.shields.io/github/release/daneden/animate.css.svg?style=for-the-badge)](https://github.com/daneden/animate.css) [![Github Star](https://img.shields.io/github/stars/daneden/animate.css.svg?style=for-the-badge)](https://github.com/daneden/animate.css) [![Github Fork](https://img.shields.io/github/forks/daneden/animate.css.svg?style=for-the-badge)](https://github.com/daneden/animate.css) [![License](https://img.shields.io/github/license/daneden/animate.css.svg?style=for-the-badge)](https://github.com/daneden/animate.css)
-
-> If you need the old docs - v3.x.x and under - you can find it [here](https://github.com/animate-css/animate.css/tree/a8d92e585b1b302f7749809c3308d5e381f9cb17).
-
-## _Just-add-water CSS animation_
-
-## Installation
-
-Install with npm:
-
-```shell
-npm install animate.css --save
-```
-
-Install with yarn:
-
-```shell
-yarn add animate.css
-```
-
-## Getting started
-
-You can find the Animate.css documentation on the [website](https://animate.style/).
-
-## Accessibility
-
-Animate.css supports the [`prefers-reduced-motion` media query](https://webkit.org/blog/7551/responsive-design-for-motion/) so that users with motion sensitivity can opt out of animations. On supported platforms (currently all the majors browsers and OS), users can select "reduce motion" on their operating system preferences and it will turn off CSS transitions for them without any further work required.
-
-## Core team
-
-| ![](https://avatars2.githubusercontent.com/u/439365?s=460&u=512b4cc5324938ae40bbb8f3b7769d335953cd3a&v=4) | ![](https://avatars2.githubusercontent.com/u/5007208?s=460&u=418401ee605824272e5dcb955fd64ea24546a857&v=4) | ![](https://avatars1.githubusercontent.com/u/15052701?s=460&u=9e58364978379536d3f26c4ce5cae1a2a449a0e4&v=4) |
-| --- | --- | --- |
-| [Daniel Eden](https://github.com/daneden) | [Elton Mesquita](https://github.com/eltonmesquita) | [Waren Gonzaga](https://github.com/WarenGonzaga) |
-| Animate.css creator | Maintainer | Core contributor |
-
-## License
-
-Animate.css is licensed under the MIT license.
-
-## Code of Conduct
-
-This project and everyone participating in it is governed by the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [callmeelton@gmail.com](mailto:callmeelton@gmail.com).
-
-## Contributing
-
-Pull requests are the way to go here. We only have two rules for submitting a pull request: match the naming convention (camelCase, categorised [fades, bounces, etc]) and let us see a demo of submitted animations in a [pen](https://codepen.io). That **last one is important**.
diff --git a/src/LP/Vendor/animate.css/animate.compat.css b/src/LP/Vendor/animate.css/animate.compat.css
deleted file mode 100644
index 3f4ad6f26..000000000
--- a/src/LP/Vendor/animate.css/animate.compat.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@charset "UTF-8";/*!
- * animate.css - https://animate.style/
- * Version - 4.1.1
- * Licensed under the MIT license - http://opensource.org/licenses/MIT
- *
- * Copyright (c) 2020 Animate.css
- */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animated.repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
\ No newline at end of file
diff --git a/src/LP/Vendor/animate.css/animate.css b/src/LP/Vendor/animate.css/animate.css
deleted file mode 100644
index c3c1389f9..000000000
--- a/src/LP/Vendor/animate.css/animate.css
+++ /dev/null
@@ -1,4072 +0,0 @@
-@charset "UTF-8";/*!
- * animate.css - https://animate.style/
- * Version - 4.1.1
- * Licensed under the MIT license - http://opensource.org/licenses/MIT
- *
- * Copyright (c) 2020 Animate.css
- */
-:root {
- --animate-duration: 1s;
- --animate-delay: 1s;
- --animate-repeat: 1;
-}
-.animate__animated {
- -webkit-animation-duration: 1s;
- animation-duration: 1s;
- -webkit-animation-duration: var(--animate-duration);
- animation-duration: var(--animate-duration);
- -webkit-animation-fill-mode: both;
- animation-fill-mode: both;
-}
-.animate__animated.animate__infinite {
- -webkit-animation-iteration-count: infinite;
- animation-iteration-count: infinite;
-}
-.animate__animated.animate__repeat-1 {
- -webkit-animation-iteration-count: 1;
- animation-iteration-count: 1;
- -webkit-animation-iteration-count: var(--animate-repeat);
- animation-iteration-count: var(--animate-repeat);
-}
-.animate__animated.animate__repeat-2 {
- -webkit-animation-iteration-count: calc(1 * 2);
- animation-iteration-count: calc(1 * 2);
- -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
- animation-iteration-count: calc(var(--animate-repeat) * 2);
-}
-.animate__animated.animate__repeat-3 {
- -webkit-animation-iteration-count: calc(1 * 3);
- animation-iteration-count: calc(1 * 3);
- -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
- animation-iteration-count: calc(var(--animate-repeat) * 3);
-}
-.animate__animated.animate__delay-1s {
- -webkit-animation-delay: 1s;
- animation-delay: 1s;
- -webkit-animation-delay: var(--animate-delay);
- animation-delay: var(--animate-delay);
-}
-.animate__animated.animate__delay-2s {
- -webkit-animation-delay: calc(1s * 2);
- animation-delay: calc(1s * 2);
- -webkit-animation-delay: calc(var(--animate-delay) * 2);
- animation-delay: calc(var(--animate-delay) * 2);
-}
-.animate__animated.animate__delay-3s {
- -webkit-animation-delay: calc(1s * 3);
- animation-delay: calc(1s * 3);
- -webkit-animation-delay: calc(var(--animate-delay) * 3);
- animation-delay: calc(var(--animate-delay) * 3);
-}
-.animate__animated.animate__delay-4s {
- -webkit-animation-delay: calc(1s * 4);
- animation-delay: calc(1s * 4);
- -webkit-animation-delay: calc(var(--animate-delay) * 4);
- animation-delay: calc(var(--animate-delay) * 4);
-}
-.animate__animated.animate__delay-5s {
- -webkit-animation-delay: calc(1s * 5);
- animation-delay: calc(1s * 5);
- -webkit-animation-delay: calc(var(--animate-delay) * 5);
- animation-delay: calc(var(--animate-delay) * 5);
-}
-.animate__animated.animate__faster {
- -webkit-animation-duration: calc(1s / 2);
- animation-duration: calc(1s / 2);
- -webkit-animation-duration: calc(var(--animate-duration) / 2);
- animation-duration: calc(var(--animate-duration) / 2);
-}
-.animate__animated.animate__fast {
- -webkit-animation-duration: calc(1s * 0.8);
- animation-duration: calc(1s * 0.8);
- -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
- animation-duration: calc(var(--animate-duration) * 0.8);
-}
-.animate__animated.animate__slow {
- -webkit-animation-duration: calc(1s * 2);
- animation-duration: calc(1s * 2);
- -webkit-animation-duration: calc(var(--animate-duration) * 2);
- animation-duration: calc(var(--animate-duration) * 2);
-}
-.animate__animated.animate__slower {
- -webkit-animation-duration: calc(1s * 3);
- animation-duration: calc(1s * 3);
- -webkit-animation-duration: calc(var(--animate-duration) * 3);
- animation-duration: calc(var(--animate-duration) * 3);
-}
-@media print, (prefers-reduced-motion: reduce) {
- .animate__animated {
- -webkit-animation-duration: 1ms !important;
- animation-duration: 1ms !important;
- -webkit-transition-duration: 1ms !important;
- transition-duration: 1ms !important;
- -webkit-animation-iteration-count: 1 !important;
- animation-iteration-count: 1 !important;
- }
-
- .animate__animated[class*='Out'] {
- opacity: 0;
- }
-}
-/* Attention seekers */
-@-webkit-keyframes bounce {
- from,
- 20%,
- 53%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 40%,
- 43% {
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
- transform: translate3d(0, -30px, 0) scaleY(1.1);
- }
-
- 70% {
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
- transform: translate3d(0, -15px, 0) scaleY(1.05);
- }
-
- 80% {
- -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
- transform: translate3d(0, 0, 0) scaleY(0.95);
- }
-
- 90% {
- -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
- transform: translate3d(0, -4px, 0) scaleY(1.02);
- }
-}
-@keyframes bounce {
- from,
- 20%,
- 53%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 40%,
- 43% {
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
- transform: translate3d(0, -30px, 0) scaleY(1.1);
- }
-
- 70% {
- -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
- transform: translate3d(0, -15px, 0) scaleY(1.05);
- }
-
- 80% {
- -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
- transform: translate3d(0, 0, 0) scaleY(0.95);
- }
-
- 90% {
- -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
- transform: translate3d(0, -4px, 0) scaleY(1.02);
- }
-}
-.animate__bounce {
- -webkit-animation-name: bounce;
- animation-name: bounce;
- -webkit-transform-origin: center bottom;
- transform-origin: center bottom;
-}
-@-webkit-keyframes flash {
- from,
- 50%,
- to {
- opacity: 1;
- }
-
- 25%,
- 75% {
- opacity: 0;
- }
-}
-@keyframes flash {
- from,
- 50%,
- to {
- opacity: 1;
- }
-
- 25%,
- 75% {
- opacity: 0;
- }
-}
-.animate__flash {
- -webkit-animation-name: flash;
- animation-name: flash;
-}
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-@-webkit-keyframes pulse {
- from {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 50% {
- -webkit-transform: scale3d(1.05, 1.05, 1.05);
- transform: scale3d(1.05, 1.05, 1.05);
- }
-
- to {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-@keyframes pulse {
- from {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 50% {
- -webkit-transform: scale3d(1.05, 1.05, 1.05);
- transform: scale3d(1.05, 1.05, 1.05);
- }
-
- to {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-.animate__pulse {
- -webkit-animation-name: pulse;
- animation-name: pulse;
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
-}
-@-webkit-keyframes rubberBand {
- from {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 30% {
- -webkit-transform: scale3d(1.25, 0.75, 1);
- transform: scale3d(1.25, 0.75, 1);
- }
-
- 40% {
- -webkit-transform: scale3d(0.75, 1.25, 1);
- transform: scale3d(0.75, 1.25, 1);
- }
-
- 50% {
- -webkit-transform: scale3d(1.15, 0.85, 1);
- transform: scale3d(1.15, 0.85, 1);
- }
-
- 65% {
- -webkit-transform: scale3d(0.95, 1.05, 1);
- transform: scale3d(0.95, 1.05, 1);
- }
-
- 75% {
- -webkit-transform: scale3d(1.05, 0.95, 1);
- transform: scale3d(1.05, 0.95, 1);
- }
-
- to {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-@keyframes rubberBand {
- from {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 30% {
- -webkit-transform: scale3d(1.25, 0.75, 1);
- transform: scale3d(1.25, 0.75, 1);
- }
-
- 40% {
- -webkit-transform: scale3d(0.75, 1.25, 1);
- transform: scale3d(0.75, 1.25, 1);
- }
-
- 50% {
- -webkit-transform: scale3d(1.15, 0.85, 1);
- transform: scale3d(1.15, 0.85, 1);
- }
-
- 65% {
- -webkit-transform: scale3d(0.95, 1.05, 1);
- transform: scale3d(0.95, 1.05, 1);
- }
-
- 75% {
- -webkit-transform: scale3d(1.05, 0.95, 1);
- transform: scale3d(1.05, 0.95, 1);
- }
-
- to {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-.animate__rubberBand {
- -webkit-animation-name: rubberBand;
- animation-name: rubberBand;
-}
-@-webkit-keyframes shakeX {
- from,
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- -webkit-transform: translate3d(-10px, 0, 0);
- transform: translate3d(-10px, 0, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- -webkit-transform: translate3d(10px, 0, 0);
- transform: translate3d(10px, 0, 0);
- }
-}
-@keyframes shakeX {
- from,
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- -webkit-transform: translate3d(-10px, 0, 0);
- transform: translate3d(-10px, 0, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- -webkit-transform: translate3d(10px, 0, 0);
- transform: translate3d(10px, 0, 0);
- }
-}
-.animate__shakeX {
- -webkit-animation-name: shakeX;
- animation-name: shakeX;
-}
-@-webkit-keyframes shakeY {
- from,
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- -webkit-transform: translate3d(0, -10px, 0);
- transform: translate3d(0, -10px, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- -webkit-transform: translate3d(0, 10px, 0);
- transform: translate3d(0, 10px, 0);
- }
-}
-@keyframes shakeY {
- from,
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- -webkit-transform: translate3d(0, -10px, 0);
- transform: translate3d(0, -10px, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- -webkit-transform: translate3d(0, 10px, 0);
- transform: translate3d(0, 10px, 0);
- }
-}
-.animate__shakeY {
- -webkit-animation-name: shakeY;
- animation-name: shakeY;
-}
-@-webkit-keyframes headShake {
- 0% {
- -webkit-transform: translateX(0);
- transform: translateX(0);
- }
-
- 6.5% {
- -webkit-transform: translateX(-6px) rotateY(-9deg);
- transform: translateX(-6px) rotateY(-9deg);
- }
-
- 18.5% {
- -webkit-transform: translateX(5px) rotateY(7deg);
- transform: translateX(5px) rotateY(7deg);
- }
-
- 31.5% {
- -webkit-transform: translateX(-3px) rotateY(-5deg);
- transform: translateX(-3px) rotateY(-5deg);
- }
-
- 43.5% {
- -webkit-transform: translateX(2px) rotateY(3deg);
- transform: translateX(2px) rotateY(3deg);
- }
-
- 50% {
- -webkit-transform: translateX(0);
- transform: translateX(0);
- }
-}
-@keyframes headShake {
- 0% {
- -webkit-transform: translateX(0);
- transform: translateX(0);
- }
-
- 6.5% {
- -webkit-transform: translateX(-6px) rotateY(-9deg);
- transform: translateX(-6px) rotateY(-9deg);
- }
-
- 18.5% {
- -webkit-transform: translateX(5px) rotateY(7deg);
- transform: translateX(5px) rotateY(7deg);
- }
-
- 31.5% {
- -webkit-transform: translateX(-3px) rotateY(-5deg);
- transform: translateX(-3px) rotateY(-5deg);
- }
-
- 43.5% {
- -webkit-transform: translateX(2px) rotateY(3deg);
- transform: translateX(2px) rotateY(3deg);
- }
-
- 50% {
- -webkit-transform: translateX(0);
- transform: translateX(0);
- }
-}
-.animate__headShake {
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- -webkit-animation-name: headShake;
- animation-name: headShake;
-}
-@-webkit-keyframes swing {
- 20% {
- -webkit-transform: rotate3d(0, 0, 1, 15deg);
- transform: rotate3d(0, 0, 1, 15deg);
- }
-
- 40% {
- -webkit-transform: rotate3d(0, 0, 1, -10deg);
- transform: rotate3d(0, 0, 1, -10deg);
- }
-
- 60% {
- -webkit-transform: rotate3d(0, 0, 1, 5deg);
- transform: rotate3d(0, 0, 1, 5deg);
- }
-
- 80% {
- -webkit-transform: rotate3d(0, 0, 1, -5deg);
- transform: rotate3d(0, 0, 1, -5deg);
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 0deg);
- transform: rotate3d(0, 0, 1, 0deg);
- }
-}
-@keyframes swing {
- 20% {
- -webkit-transform: rotate3d(0, 0, 1, 15deg);
- transform: rotate3d(0, 0, 1, 15deg);
- }
-
- 40% {
- -webkit-transform: rotate3d(0, 0, 1, -10deg);
- transform: rotate3d(0, 0, 1, -10deg);
- }
-
- 60% {
- -webkit-transform: rotate3d(0, 0, 1, 5deg);
- transform: rotate3d(0, 0, 1, 5deg);
- }
-
- 80% {
- -webkit-transform: rotate3d(0, 0, 1, -5deg);
- transform: rotate3d(0, 0, 1, -5deg);
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 0deg);
- transform: rotate3d(0, 0, 1, 0deg);
- }
-}
-.animate__swing {
- -webkit-transform-origin: top center;
- transform-origin: top center;
- -webkit-animation-name: swing;
- animation-name: swing;
-}
-@-webkit-keyframes tada {
- from {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 10%,
- 20% {
- -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
- transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
- }
-
- 30%,
- 50%,
- 70%,
- 90% {
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
- }
-
- 40%,
- 60%,
- 80% {
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
- }
-
- to {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-@keyframes tada {
- from {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 10%,
- 20% {
- -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
- transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
- }
-
- 30%,
- 50%,
- 70%,
- 90% {
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
- }
-
- 40%,
- 60%,
- 80% {
- -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
- }
-
- to {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-.animate__tada {
- -webkit-animation-name: tada;
- animation-name: tada;
-}
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-@-webkit-keyframes wobble {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 15% {
- -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
- transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
- }
-
- 30% {
- -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
- transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
- }
-
- 45% {
- -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
- transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
- }
-
- 60% {
- -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
- transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
- }
-
- 75% {
- -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
- transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes wobble {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 15% {
- -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
- transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
- }
-
- 30% {
- -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
- transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
- }
-
- 45% {
- -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
- transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
- }
-
- 60% {
- -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
- transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
- }
-
- 75% {
- -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
- transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__wobble {
- -webkit-animation-name: wobble;
- animation-name: wobble;
-}
-@-webkit-keyframes jello {
- from,
- 11.1%,
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 22.2% {
- -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
- transform: skewX(-12.5deg) skewY(-12.5deg);
- }
-
- 33.3% {
- -webkit-transform: skewX(6.25deg) skewY(6.25deg);
- transform: skewX(6.25deg) skewY(6.25deg);
- }
-
- 44.4% {
- -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
- transform: skewX(-3.125deg) skewY(-3.125deg);
- }
-
- 55.5% {
- -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
- transform: skewX(1.5625deg) skewY(1.5625deg);
- }
-
- 66.6% {
- -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
- transform: skewX(-0.78125deg) skewY(-0.78125deg);
- }
-
- 77.7% {
- -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
- transform: skewX(0.390625deg) skewY(0.390625deg);
- }
-
- 88.8% {
- -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
- transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
- }
-}
-@keyframes jello {
- from,
- 11.1%,
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- 22.2% {
- -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
- transform: skewX(-12.5deg) skewY(-12.5deg);
- }
-
- 33.3% {
- -webkit-transform: skewX(6.25deg) skewY(6.25deg);
- transform: skewX(6.25deg) skewY(6.25deg);
- }
-
- 44.4% {
- -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
- transform: skewX(-3.125deg) skewY(-3.125deg);
- }
-
- 55.5% {
- -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
- transform: skewX(1.5625deg) skewY(1.5625deg);
- }
-
- 66.6% {
- -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
- transform: skewX(-0.78125deg) skewY(-0.78125deg);
- }
-
- 77.7% {
- -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
- transform: skewX(0.390625deg) skewY(0.390625deg);
- }
-
- 88.8% {
- -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
- transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
- }
-}
-.animate__jello {
- -webkit-animation-name: jello;
- animation-name: jello;
- -webkit-transform-origin: center;
- transform-origin: center;
-}
-@-webkit-keyframes heartBeat {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-
- 14% {
- -webkit-transform: scale(1.3);
- transform: scale(1.3);
- }
-
- 28% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-
- 42% {
- -webkit-transform: scale(1.3);
- transform: scale(1.3);
- }
-
- 70% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-}
-@keyframes heartBeat {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-
- 14% {
- -webkit-transform: scale(1.3);
- transform: scale(1.3);
- }
-
- 28% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-
- 42% {
- -webkit-transform: scale(1.3);
- transform: scale(1.3);
- }
-
- 70% {
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-}
-.animate__heartBeat {
- -webkit-animation-name: heartBeat;
- animation-name: heartBeat;
- -webkit-animation-duration: calc(1s * 1.3);
- animation-duration: calc(1s * 1.3);
- -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
- animation-duration: calc(var(--animate-duration) * 1.3);
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
-}
-/* Back entrances */
-@-webkit-keyframes backInDown {
- 0% {
- -webkit-transform: translateY(-1200px) scale(0.7);
- transform: translateY(-1200px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-@keyframes backInDown {
- 0% {
- -webkit-transform: translateY(-1200px) scale(0.7);
- transform: translateY(-1200px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-.animate__backInDown {
- -webkit-animation-name: backInDown;
- animation-name: backInDown;
-}
-@-webkit-keyframes backInLeft {
- 0% {
- -webkit-transform: translateX(-2000px) scale(0.7);
- transform: translateX(-2000px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-@keyframes backInLeft {
- 0% {
- -webkit-transform: translateX(-2000px) scale(0.7);
- transform: translateX(-2000px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-.animate__backInLeft {
- -webkit-animation-name: backInLeft;
- animation-name: backInLeft;
-}
-@-webkit-keyframes backInRight {
- 0% {
- -webkit-transform: translateX(2000px) scale(0.7);
- transform: translateX(2000px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-@keyframes backInRight {
- 0% {
- -webkit-transform: translateX(2000px) scale(0.7);
- transform: translateX(2000px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-.animate__backInRight {
- -webkit-animation-name: backInRight;
- animation-name: backInRight;
-}
-@-webkit-keyframes backInUp {
- 0% {
- -webkit-transform: translateY(1200px) scale(0.7);
- transform: translateY(1200px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-@keyframes backInUp {
- 0% {
- -webkit-transform: translateY(1200px) scale(0.7);
- transform: translateY(1200px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-}
-.animate__backInUp {
- -webkit-animation-name: backInUp;
- animation-name: backInUp;
-}
-/* Back exits */
-@-webkit-keyframes backOutDown {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateY(700px) scale(0.7);
- transform: translateY(700px) scale(0.7);
- opacity: 0.7;
- }
-}
-@keyframes backOutDown {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateY(700px) scale(0.7);
- transform: translateY(700px) scale(0.7);
- opacity: 0.7;
- }
-}
-.animate__backOutDown {
- -webkit-animation-name: backOutDown;
- animation-name: backOutDown;
-}
-@-webkit-keyframes backOutLeft {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateX(-2000px) scale(0.7);
- transform: translateX(-2000px) scale(0.7);
- opacity: 0.7;
- }
-}
-@keyframes backOutLeft {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateX(-2000px) scale(0.7);
- transform: translateX(-2000px) scale(0.7);
- opacity: 0.7;
- }
-}
-.animate__backOutLeft {
- -webkit-animation-name: backOutLeft;
- animation-name: backOutLeft;
-}
-@-webkit-keyframes backOutRight {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateX(2000px) scale(0.7);
- transform: translateX(2000px) scale(0.7);
- opacity: 0.7;
- }
-}
-@keyframes backOutRight {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateX(0px) scale(0.7);
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateX(2000px) scale(0.7);
- transform: translateX(2000px) scale(0.7);
- opacity: 0.7;
- }
-}
-.animate__backOutRight {
- -webkit-animation-name: backOutRight;
- animation-name: backOutRight;
-}
-@-webkit-keyframes backOutUp {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateY(-700px) scale(0.7);
- transform: translateY(-700px) scale(0.7);
- opacity: 0.7;
- }
-}
-@keyframes backOutUp {
- 0% {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- -webkit-transform: translateY(0px) scale(0.7);
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- -webkit-transform: translateY(-700px) scale(0.7);
- transform: translateY(-700px) scale(0.7);
- opacity: 0.7;
- }
-}
-.animate__backOutUp {
- -webkit-animation-name: backOutUp;
- animation-name: backOutUp;
-}
-/* Bouncing entrances */
-@-webkit-keyframes bounceIn {
- from,
- 20%,
- 40%,
- 60%,
- 80%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- 20% {
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- 40% {
- -webkit-transform: scale3d(0.9, 0.9, 0.9);
- transform: scale3d(0.9, 0.9, 0.9);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(1.03, 1.03, 1.03);
- transform: scale3d(1.03, 1.03, 1.03);
- }
-
- 80% {
- -webkit-transform: scale3d(0.97, 0.97, 0.97);
- transform: scale3d(0.97, 0.97, 0.97);
- }
-
- to {
- opacity: 1;
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-@keyframes bounceIn {
- from,
- 20%,
- 40%,
- 60%,
- 80%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- 20% {
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- 40% {
- -webkit-transform: scale3d(0.9, 0.9, 0.9);
- transform: scale3d(0.9, 0.9, 0.9);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(1.03, 1.03, 1.03);
- transform: scale3d(1.03, 1.03, 1.03);
- }
-
- 80% {
- -webkit-transform: scale3d(0.97, 0.97, 0.97);
- transform: scale3d(0.97, 0.97, 0.97);
- }
-
- to {
- opacity: 1;
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-}
-.animate__bounceIn {
- -webkit-animation-duration: calc(1s * 0.75);
- animation-duration: calc(1s * 0.75);
- -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
- animation-duration: calc(var(--animate-duration) * 0.75);
- -webkit-animation-name: bounceIn;
- animation-name: bounceIn;
-}
-@-webkit-keyframes bounceInDown {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
- transform: translate3d(0, -3000px, 0) scaleY(3);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
- transform: translate3d(0, 25px, 0) scaleY(0.9);
- }
-
- 75% {
- -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
- transform: translate3d(0, -10px, 0) scaleY(0.95);
- }
-
- 90% {
- -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
- transform: translate3d(0, 5px, 0) scaleY(0.985);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes bounceInDown {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
- transform: translate3d(0, -3000px, 0) scaleY(3);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
- transform: translate3d(0, 25px, 0) scaleY(0.9);
- }
-
- 75% {
- -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
- transform: translate3d(0, -10px, 0) scaleY(0.95);
- }
-
- 90% {
- -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
- transform: translate3d(0, 5px, 0) scaleY(0.985);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__bounceInDown {
- -webkit-animation-name: bounceInDown;
- animation-name: bounceInDown;
-}
-@-webkit-keyframes bounceInLeft {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
- transform: translate3d(-3000px, 0, 0) scaleX(3);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
- transform: translate3d(25px, 0, 0) scaleX(1);
- }
-
- 75% {
- -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
- transform: translate3d(-10px, 0, 0) scaleX(0.98);
- }
-
- 90% {
- -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
- transform: translate3d(5px, 0, 0) scaleX(0.995);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes bounceInLeft {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
- transform: translate3d(-3000px, 0, 0) scaleX(3);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
- transform: translate3d(25px, 0, 0) scaleX(1);
- }
-
- 75% {
- -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
- transform: translate3d(-10px, 0, 0) scaleX(0.98);
- }
-
- 90% {
- -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
- transform: translate3d(5px, 0, 0) scaleX(0.995);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__bounceInLeft {
- -webkit-animation-name: bounceInLeft;
- animation-name: bounceInLeft;
-}
-@-webkit-keyframes bounceInRight {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- from {
- opacity: 0;
- -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
- transform: translate3d(3000px, 0, 0) scaleX(3);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
- transform: translate3d(-25px, 0, 0) scaleX(1);
- }
-
- 75% {
- -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
- transform: translate3d(10px, 0, 0) scaleX(0.98);
- }
-
- 90% {
- -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
- transform: translate3d(-5px, 0, 0) scaleX(0.995);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes bounceInRight {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- from {
- opacity: 0;
- -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
- transform: translate3d(3000px, 0, 0) scaleX(3);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
- transform: translate3d(-25px, 0, 0) scaleX(1);
- }
-
- 75% {
- -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
- transform: translate3d(10px, 0, 0) scaleX(0.98);
- }
-
- 90% {
- -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
- transform: translate3d(-5px, 0, 0) scaleX(0.995);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__bounceInRight {
- -webkit-animation-name: bounceInRight;
- animation-name: bounceInRight;
-}
-@-webkit-keyframes bounceInUp {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
- transform: translate3d(0, 3000px, 0) scaleY(5);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
- transform: translate3d(0, -20px, 0) scaleY(0.9);
- }
-
- 75% {
- -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
- transform: translate3d(0, 10px, 0) scaleY(0.95);
- }
-
- 90% {
- -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
- transform: translate3d(0, -5px, 0) scaleY(0.985);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes bounceInUp {
- from,
- 60%,
- 75%,
- 90%,
- to {
- -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
- transform: translate3d(0, 3000px, 0) scaleY(5);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
- transform: translate3d(0, -20px, 0) scaleY(0.9);
- }
-
- 75% {
- -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
- transform: translate3d(0, 10px, 0) scaleY(0.95);
- }
-
- 90% {
- -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
- transform: translate3d(0, -5px, 0) scaleY(0.985);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__bounceInUp {
- -webkit-animation-name: bounceInUp;
- animation-name: bounceInUp;
-}
-/* Bouncing exits */
-@-webkit-keyframes bounceOut {
- 20% {
- -webkit-transform: scale3d(0.9, 0.9, 0.9);
- transform: scale3d(0.9, 0.9, 0.9);
- }
-
- 50%,
- 55% {
- opacity: 1;
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-}
-@keyframes bounceOut {
- 20% {
- -webkit-transform: scale3d(0.9, 0.9, 0.9);
- transform: scale3d(0.9, 0.9, 0.9);
- }
-
- 50%,
- 55% {
- opacity: 1;
- -webkit-transform: scale3d(1.1, 1.1, 1.1);
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-}
-.animate__bounceOut {
- -webkit-animation-duration: calc(1s * 0.75);
- animation-duration: calc(1s * 0.75);
- -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
- animation-duration: calc(var(--animate-duration) * 0.75);
- -webkit-animation-name: bounceOut;
- animation-name: bounceOut;
-}
-@-webkit-keyframes bounceOutDown {
- 20% {
- -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
- transform: translate3d(0, 10px, 0) scaleY(0.985);
- }
-
- 40%,
- 45% {
- opacity: 1;
- -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
- transform: translate3d(0, -20px, 0) scaleY(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
- transform: translate3d(0, 2000px, 0) scaleY(3);
- }
-}
-@keyframes bounceOutDown {
- 20% {
- -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
- transform: translate3d(0, 10px, 0) scaleY(0.985);
- }
-
- 40%,
- 45% {
- opacity: 1;
- -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
- transform: translate3d(0, -20px, 0) scaleY(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
- transform: translate3d(0, 2000px, 0) scaleY(3);
- }
-}
-.animate__bounceOutDown {
- -webkit-animation-name: bounceOutDown;
- animation-name: bounceOutDown;
-}
-@-webkit-keyframes bounceOutLeft {
- 20% {
- opacity: 1;
- -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
- transform: translate3d(20px, 0, 0) scaleX(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
- transform: translate3d(-2000px, 0, 0) scaleX(2);
- }
-}
-@keyframes bounceOutLeft {
- 20% {
- opacity: 1;
- -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
- transform: translate3d(20px, 0, 0) scaleX(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
- transform: translate3d(-2000px, 0, 0) scaleX(2);
- }
-}
-.animate__bounceOutLeft {
- -webkit-animation-name: bounceOutLeft;
- animation-name: bounceOutLeft;
-}
-@-webkit-keyframes bounceOutRight {
- 20% {
- opacity: 1;
- -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
- transform: translate3d(-20px, 0, 0) scaleX(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
- transform: translate3d(2000px, 0, 0) scaleX(2);
- }
-}
-@keyframes bounceOutRight {
- 20% {
- opacity: 1;
- -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
- transform: translate3d(-20px, 0, 0) scaleX(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
- transform: translate3d(2000px, 0, 0) scaleX(2);
- }
-}
-.animate__bounceOutRight {
- -webkit-animation-name: bounceOutRight;
- animation-name: bounceOutRight;
-}
-@-webkit-keyframes bounceOutUp {
- 20% {
- -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
- transform: translate3d(0, -10px, 0) scaleY(0.985);
- }
-
- 40%,
- 45% {
- opacity: 1;
- -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
- transform: translate3d(0, 20px, 0) scaleY(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
- transform: translate3d(0, -2000px, 0) scaleY(3);
- }
-}
-@keyframes bounceOutUp {
- 20% {
- -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
- transform: translate3d(0, -10px, 0) scaleY(0.985);
- }
-
- 40%,
- 45% {
- opacity: 1;
- -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
- transform: translate3d(0, 20px, 0) scaleY(0.9);
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
- transform: translate3d(0, -2000px, 0) scaleY(3);
- }
-}
-.animate__bounceOutUp {
- -webkit-animation-name: bounceOutUp;
- animation-name: bounceOutUp;
-}
-/* Fading entrances */
-@-webkit-keyframes fadeIn {
- from {
- opacity: 0;
- }
-
- to {
- opacity: 1;
- }
-}
-@keyframes fadeIn {
- from {
- opacity: 0;
- }
-
- to {
- opacity: 1;
- }
-}
-.animate__fadeIn {
- -webkit-animation-name: fadeIn;
- animation-name: fadeIn;
-}
-@-webkit-keyframes fadeInDown {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInDown {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInDown {
- -webkit-animation-name: fadeInDown;
- animation-name: fadeInDown;
-}
-@-webkit-keyframes fadeInDownBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, -2000px, 0);
- transform: translate3d(0, -2000px, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInDownBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, -2000px, 0);
- transform: translate3d(0, -2000px, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInDownBig {
- -webkit-animation-name: fadeInDownBig;
- animation-name: fadeInDownBig;
-}
-@-webkit-keyframes fadeInLeft {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInLeft {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInLeft {
- -webkit-animation-name: fadeInLeft;
- animation-name: fadeInLeft;
-}
-@-webkit-keyframes fadeInLeftBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-2000px, 0, 0);
- transform: translate3d(-2000px, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInLeftBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-2000px, 0, 0);
- transform: translate3d(-2000px, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInLeftBig {
- -webkit-animation-name: fadeInLeftBig;
- animation-name: fadeInLeftBig;
-}
-@-webkit-keyframes fadeInRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInRight {
- -webkit-animation-name: fadeInRight;
- animation-name: fadeInRight;
-}
-@-webkit-keyframes fadeInRightBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(2000px, 0, 0);
- transform: translate3d(2000px, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInRightBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(2000px, 0, 0);
- transform: translate3d(2000px, 0, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInRightBig {
- -webkit-animation-name: fadeInRightBig;
- animation-name: fadeInRightBig;
-}
-@-webkit-keyframes fadeInUp {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInUp {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInUp {
- -webkit-animation-name: fadeInUp;
- animation-name: fadeInUp;
-}
-@-webkit-keyframes fadeInUpBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, 2000px, 0);
- transform: translate3d(0, 2000px, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInUpBig {
- from {
- opacity: 0;
- -webkit-transform: translate3d(0, 2000px, 0);
- transform: translate3d(0, 2000px, 0);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInUpBig {
- -webkit-animation-name: fadeInUpBig;
- animation-name: fadeInUpBig;
-}
-@-webkit-keyframes fadeInTopLeft {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, -100%, 0);
- transform: translate3d(-100%, -100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInTopLeft {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, -100%, 0);
- transform: translate3d(-100%, -100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInTopLeft {
- -webkit-animation-name: fadeInTopLeft;
- animation-name: fadeInTopLeft;
-}
-@-webkit-keyframes fadeInTopRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, -100%, 0);
- transform: translate3d(100%, -100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInTopRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, -100%, 0);
- transform: translate3d(100%, -100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInTopRight {
- -webkit-animation-name: fadeInTopRight;
- animation-name: fadeInTopRight;
-}
-@-webkit-keyframes fadeInBottomLeft {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 100%, 0);
- transform: translate3d(-100%, 100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInBottomLeft {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 100%, 0);
- transform: translate3d(-100%, 100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInBottomLeft {
- -webkit-animation-name: fadeInBottomLeft;
- animation-name: fadeInBottomLeft;
-}
-@-webkit-keyframes fadeInBottomRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, 100%, 0);
- transform: translate3d(100%, 100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes fadeInBottomRight {
- from {
- opacity: 0;
- -webkit-transform: translate3d(100%, 100%, 0);
- transform: translate3d(100%, 100%, 0);
- }
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__fadeInBottomRight {
- -webkit-animation-name: fadeInBottomRight;
- animation-name: fadeInBottomRight;
-}
-/* Fading exits */
-@-webkit-keyframes fadeOut {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- }
-}
-@keyframes fadeOut {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- }
-}
-.animate__fadeOut {
- -webkit-animation-name: fadeOut;
- animation-name: fadeOut;
-}
-@-webkit-keyframes fadeOutDown {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
-}
-@keyframes fadeOutDown {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
-}
-.animate__fadeOutDown {
- -webkit-animation-name: fadeOutDown;
- animation-name: fadeOutDown;
-}
-@-webkit-keyframes fadeOutDownBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, 2000px, 0);
- transform: translate3d(0, 2000px, 0);
- }
-}
-@keyframes fadeOutDownBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, 2000px, 0);
- transform: translate3d(0, 2000px, 0);
- }
-}
-.animate__fadeOutDownBig {
- -webkit-animation-name: fadeOutDownBig;
- animation-name: fadeOutDownBig;
-}
-@-webkit-keyframes fadeOutLeft {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
-}
-@keyframes fadeOutLeft {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
-}
-.animate__fadeOutLeft {
- -webkit-animation-name: fadeOutLeft;
- animation-name: fadeOutLeft;
-}
-@-webkit-keyframes fadeOutLeftBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(-2000px, 0, 0);
- transform: translate3d(-2000px, 0, 0);
- }
-}
-@keyframes fadeOutLeftBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(-2000px, 0, 0);
- transform: translate3d(-2000px, 0, 0);
- }
-}
-.animate__fadeOutLeftBig {
- -webkit-animation-name: fadeOutLeftBig;
- animation-name: fadeOutLeftBig;
-}
-@-webkit-keyframes fadeOutRight {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
-}
-@keyframes fadeOutRight {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
-}
-.animate__fadeOutRight {
- -webkit-animation-name: fadeOutRight;
- animation-name: fadeOutRight;
-}
-@-webkit-keyframes fadeOutRightBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(2000px, 0, 0);
- transform: translate3d(2000px, 0, 0);
- }
-}
-@keyframes fadeOutRightBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(2000px, 0, 0);
- transform: translate3d(2000px, 0, 0);
- }
-}
-.animate__fadeOutRightBig {
- -webkit-animation-name: fadeOutRightBig;
- animation-name: fadeOutRightBig;
-}
-@-webkit-keyframes fadeOutUp {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
-}
-@keyframes fadeOutUp {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
-}
-.animate__fadeOutUp {
- -webkit-animation-name: fadeOutUp;
- animation-name: fadeOutUp;
-}
-@-webkit-keyframes fadeOutUpBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, -2000px, 0);
- transform: translate3d(0, -2000px, 0);
- }
-}
-@keyframes fadeOutUpBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(0, -2000px, 0);
- transform: translate3d(0, -2000px, 0);
- }
-}
-.animate__fadeOutUpBig {
- -webkit-animation-name: fadeOutUpBig;
- animation-name: fadeOutUpBig;
-}
-@-webkit-keyframes fadeOutTopLeft {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(-100%, -100%, 0);
- transform: translate3d(-100%, -100%, 0);
- }
-}
-@keyframes fadeOutTopLeft {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(-100%, -100%, 0);
- transform: translate3d(-100%, -100%, 0);
- }
-}
-.animate__fadeOutTopLeft {
- -webkit-animation-name: fadeOutTopLeft;
- animation-name: fadeOutTopLeft;
-}
-@-webkit-keyframes fadeOutTopRight {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, -100%, 0);
- transform: translate3d(100%, -100%, 0);
- }
-}
-@keyframes fadeOutTopRight {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, -100%, 0);
- transform: translate3d(100%, -100%, 0);
- }
-}
-.animate__fadeOutTopRight {
- -webkit-animation-name: fadeOutTopRight;
- animation-name: fadeOutTopRight;
-}
-@-webkit-keyframes fadeOutBottomRight {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 100%, 0);
- transform: translate3d(100%, 100%, 0);
- }
-}
-@keyframes fadeOutBottomRight {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 100%, 0);
- transform: translate3d(100%, 100%, 0);
- }
-}
-.animate__fadeOutBottomRight {
- -webkit-animation-name: fadeOutBottomRight;
- animation-name: fadeOutBottomRight;
-}
-@-webkit-keyframes fadeOutBottomLeft {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 100%, 0);
- transform: translate3d(-100%, 100%, 0);
- }
-}
-@keyframes fadeOutBottomLeft {
- from {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 100%, 0);
- transform: translate3d(-100%, 100%, 0);
- }
-}
-.animate__fadeOutBottomLeft {
- -webkit-animation-name: fadeOutBottomLeft;
- animation-name: fadeOutBottomLeft;
-}
-/* Flippers */
-@-webkit-keyframes flip {
- from {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-
- 40% {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-
- 50% {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- 80% {
- -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
- rotate3d(0, 1, 0, 0deg);
- transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
- rotate3d(0, 1, 0, 0deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- to {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-}
-@keyframes flip {
- from {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-
- 40% {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
- }
-
- 50% {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- 80% {
- -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
- rotate3d(0, 1, 0, 0deg);
- transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
- rotate3d(0, 1, 0, 0deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- to {
- -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-}
-.animate__animated.animate__flip {
- -webkit-backface-visibility: visible;
- backface-visibility: visible;
- -webkit-animation-name: flip;
- animation-name: flip;
-}
-@-webkit-keyframes flipInX {
- from {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
-
- 40% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- 60% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
- transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
- transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
- }
-
- to {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-}
-@keyframes flipInX {
- from {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
-
- 40% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- 60% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
- transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
- transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
- }
-
- to {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-}
-.animate__flipInX {
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
- -webkit-animation-name: flipInX;
- animation-name: flipInX;
-}
-@-webkit-keyframes flipInY {
- from {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
-
- 40% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
- transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- 60% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
- transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
- transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
- }
-
- to {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-}
-@keyframes flipInY {
- from {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- opacity: 0;
- }
-
- 40% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
- transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
- }
-
- 60% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
- transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
- transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
- }
-
- to {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-}
-.animate__flipInY {
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
- -webkit-animation-name: flipInY;
- animation-name: flipInY;
-}
-@-webkit-keyframes flipOutX {
- from {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-
- 30% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- opacity: 1;
- }
-
- to {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- opacity: 0;
- }
-}
-@keyframes flipOutX {
- from {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-
- 30% {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- opacity: 1;
- }
-
- to {
- -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- opacity: 0;
- }
-}
-.animate__flipOutX {
- -webkit-animation-duration: calc(1s * 0.75);
- animation-duration: calc(1s * 0.75);
- -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
- animation-duration: calc(var(--animate-duration) * 0.75);
- -webkit-animation-name: flipOutX;
- animation-name: flipOutX;
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
-}
-@-webkit-keyframes flipOutY {
- from {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-
- 30% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
- transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
- opacity: 1;
- }
-
- to {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- opacity: 0;
- }
-}
-@keyframes flipOutY {
- from {
- -webkit-transform: perspective(400px);
- transform: perspective(400px);
- }
-
- 30% {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
- transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
- opacity: 1;
- }
-
- to {
- -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- opacity: 0;
- }
-}
-.animate__flipOutY {
- -webkit-animation-duration: calc(1s * 0.75);
- animation-duration: calc(1s * 0.75);
- -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
- animation-duration: calc(var(--animate-duration) * 0.75);
- -webkit-backface-visibility: visible !important;
- backface-visibility: visible !important;
- -webkit-animation-name: flipOutY;
- animation-name: flipOutY;
-}
-/* Lightspeed */
-@-webkit-keyframes lightSpeedInRight {
- from {
- -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
- transform: translate3d(100%, 0, 0) skewX(-30deg);
- opacity: 0;
- }
-
- 60% {
- -webkit-transform: skewX(20deg);
- transform: skewX(20deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: skewX(-5deg);
- transform: skewX(-5deg);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes lightSpeedInRight {
- from {
- -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
- transform: translate3d(100%, 0, 0) skewX(-30deg);
- opacity: 0;
- }
-
- 60% {
- -webkit-transform: skewX(20deg);
- transform: skewX(20deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: skewX(-5deg);
- transform: skewX(-5deg);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__lightSpeedInRight {
- -webkit-animation-name: lightSpeedInRight;
- animation-name: lightSpeedInRight;
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
-}
-@-webkit-keyframes lightSpeedInLeft {
- from {
- -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
- transform: translate3d(-100%, 0, 0) skewX(30deg);
- opacity: 0;
- }
-
- 60% {
- -webkit-transform: skewX(-20deg);
- transform: skewX(-20deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: skewX(5deg);
- transform: skewX(5deg);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes lightSpeedInLeft {
- from {
- -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
- transform: translate3d(-100%, 0, 0) skewX(30deg);
- opacity: 0;
- }
-
- 60% {
- -webkit-transform: skewX(-20deg);
- transform: skewX(-20deg);
- opacity: 1;
- }
-
- 80% {
- -webkit-transform: skewX(5deg);
- transform: skewX(5deg);
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__lightSpeedInLeft {
- -webkit-animation-name: lightSpeedInLeft;
- animation-name: lightSpeedInLeft;
- -webkit-animation-timing-function: ease-out;
- animation-timing-function: ease-out;
-}
-@-webkit-keyframes lightSpeedOutRight {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
- transform: translate3d(100%, 0, 0) skewX(30deg);
- opacity: 0;
- }
-}
-@keyframes lightSpeedOutRight {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
- transform: translate3d(100%, 0, 0) skewX(30deg);
- opacity: 0;
- }
-}
-.animate__lightSpeedOutRight {
- -webkit-animation-name: lightSpeedOutRight;
- animation-name: lightSpeedOutRight;
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
-}
-@-webkit-keyframes lightSpeedOutLeft {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
- transform: translate3d(-100%, 0, 0) skewX(-30deg);
- opacity: 0;
- }
-}
-@keyframes lightSpeedOutLeft {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
- transform: translate3d(-100%, 0, 0) skewX(-30deg);
- opacity: 0;
- }
-}
-.animate__lightSpeedOutLeft {
- -webkit-animation-name: lightSpeedOutLeft;
- animation-name: lightSpeedOutLeft;
- -webkit-animation-timing-function: ease-in;
- animation-timing-function: ease-in;
-}
-/* Rotating entrances */
-@-webkit-keyframes rotateIn {
- from {
- -webkit-transform: rotate3d(0, 0, 1, -200deg);
- transform: rotate3d(0, 0, 1, -200deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-@keyframes rotateIn {
- from {
- -webkit-transform: rotate3d(0, 0, 1, -200deg);
- transform: rotate3d(0, 0, 1, -200deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-.animate__rotateIn {
- -webkit-animation-name: rotateIn;
- animation-name: rotateIn;
- -webkit-transform-origin: center;
- transform-origin: center;
-}
-@-webkit-keyframes rotateInDownLeft {
- from {
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-@keyframes rotateInDownLeft {
- from {
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-.animate__rotateInDownLeft {
- -webkit-animation-name: rotateInDownLeft;
- animation-name: rotateInDownLeft;
- -webkit-transform-origin: left bottom;
- transform-origin: left bottom;
-}
-@-webkit-keyframes rotateInDownRight {
- from {
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-@keyframes rotateInDownRight {
- from {
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-.animate__rotateInDownRight {
- -webkit-animation-name: rotateInDownRight;
- animation-name: rotateInDownRight;
- -webkit-transform-origin: right bottom;
- transform-origin: right bottom;
-}
-@-webkit-keyframes rotateInUpLeft {
- from {
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-@keyframes rotateInUpLeft {
- from {
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-.animate__rotateInUpLeft {
- -webkit-animation-name: rotateInUpLeft;
- animation-name: rotateInUpLeft;
- -webkit-transform-origin: left bottom;
- transform-origin: left bottom;
-}
-@-webkit-keyframes rotateInUpRight {
- from {
- -webkit-transform: rotate3d(0, 0, 1, -90deg);
- transform: rotate3d(0, 0, 1, -90deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-@keyframes rotateInUpRight {
- from {
- -webkit-transform: rotate3d(0, 0, 1, -90deg);
- transform: rotate3d(0, 0, 1, -90deg);
- opacity: 0;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-.animate__rotateInUpRight {
- -webkit-animation-name: rotateInUpRight;
- animation-name: rotateInUpRight;
- -webkit-transform-origin: right bottom;
- transform-origin: right bottom;
-}
-/* Rotating exits */
-@-webkit-keyframes rotateOut {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 200deg);
- transform: rotate3d(0, 0, 1, 200deg);
- opacity: 0;
- }
-}
-@keyframes rotateOut {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 200deg);
- transform: rotate3d(0, 0, 1, 200deg);
- opacity: 0;
- }
-}
-.animate__rotateOut {
- -webkit-animation-name: rotateOut;
- animation-name: rotateOut;
- -webkit-transform-origin: center;
- transform-origin: center;
-}
-@-webkit-keyframes rotateOutDownLeft {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-}
-@keyframes rotateOutDownLeft {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 45deg);
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-}
-.animate__rotateOutDownLeft {
- -webkit-animation-name: rotateOutDownLeft;
- animation-name: rotateOutDownLeft;
- -webkit-transform-origin: left bottom;
- transform-origin: left bottom;
-}
-@-webkit-keyframes rotateOutDownRight {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-}
-@keyframes rotateOutDownRight {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-}
-.animate__rotateOutDownRight {
- -webkit-animation-name: rotateOutDownRight;
- animation-name: rotateOutDownRight;
- -webkit-transform-origin: right bottom;
- transform-origin: right bottom;
-}
-@-webkit-keyframes rotateOutUpLeft {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-}
-@keyframes rotateOutUpLeft {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, -45deg);
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-}
-.animate__rotateOutUpLeft {
- -webkit-animation-name: rotateOutUpLeft;
- animation-name: rotateOutUpLeft;
- -webkit-transform-origin: left bottom;
- transform-origin: left bottom;
-}
-@-webkit-keyframes rotateOutUpRight {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 90deg);
- transform: rotate3d(0, 0, 1, 90deg);
- opacity: 0;
- }
-}
-@keyframes rotateOutUpRight {
- from {
- opacity: 1;
- }
-
- to {
- -webkit-transform: rotate3d(0, 0, 1, 90deg);
- transform: rotate3d(0, 0, 1, 90deg);
- opacity: 0;
- }
-}
-.animate__rotateOutUpRight {
- -webkit-animation-name: rotateOutUpRight;
- animation-name: rotateOutUpRight;
- -webkit-transform-origin: right bottom;
- transform-origin: right bottom;
-}
-/* Specials */
-@-webkit-keyframes hinge {
- 0% {
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- }
-
- 20%,
- 60% {
- -webkit-transform: rotate3d(0, 0, 1, 80deg);
- transform: rotate3d(0, 0, 1, 80deg);
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- }
-
- 40%,
- 80% {
- -webkit-transform: rotate3d(0, 0, 1, 60deg);
- transform: rotate3d(0, 0, 1, 60deg);
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- opacity: 1;
- }
-
- to {
- -webkit-transform: translate3d(0, 700px, 0);
- transform: translate3d(0, 700px, 0);
- opacity: 0;
- }
-}
-@keyframes hinge {
- 0% {
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- }
-
- 20%,
- 60% {
- -webkit-transform: rotate3d(0, 0, 1, 80deg);
- transform: rotate3d(0, 0, 1, 80deg);
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- }
-
- 40%,
- 80% {
- -webkit-transform: rotate3d(0, 0, 1, 60deg);
- transform: rotate3d(0, 0, 1, 60deg);
- -webkit-animation-timing-function: ease-in-out;
- animation-timing-function: ease-in-out;
- opacity: 1;
- }
-
- to {
- -webkit-transform: translate3d(0, 700px, 0);
- transform: translate3d(0, 700px, 0);
- opacity: 0;
- }
-}
-.animate__hinge {
- -webkit-animation-duration: calc(1s * 2);
- animation-duration: calc(1s * 2);
- -webkit-animation-duration: calc(var(--animate-duration) * 2);
- animation-duration: calc(var(--animate-duration) * 2);
- -webkit-animation-name: hinge;
- animation-name: hinge;
- -webkit-transform-origin: top left;
- transform-origin: top left;
-}
-@-webkit-keyframes jackInTheBox {
- from {
- opacity: 0;
- -webkit-transform: scale(0.1) rotate(30deg);
- transform: scale(0.1) rotate(30deg);
- -webkit-transform-origin: center bottom;
- transform-origin: center bottom;
- }
-
- 50% {
- -webkit-transform: rotate(-10deg);
- transform: rotate(-10deg);
- }
-
- 70% {
- -webkit-transform: rotate(3deg);
- transform: rotate(3deg);
- }
-
- to {
- opacity: 1;
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-}
-@keyframes jackInTheBox {
- from {
- opacity: 0;
- -webkit-transform: scale(0.1) rotate(30deg);
- transform: scale(0.1) rotate(30deg);
- -webkit-transform-origin: center bottom;
- transform-origin: center bottom;
- }
-
- 50% {
- -webkit-transform: rotate(-10deg);
- transform: rotate(-10deg);
- }
-
- 70% {
- -webkit-transform: rotate(3deg);
- transform: rotate(3deg);
- }
-
- to {
- opacity: 1;
- -webkit-transform: scale(1);
- transform: scale(1);
- }
-}
-.animate__jackInTheBox {
- -webkit-animation-name: jackInTheBox;
- animation-name: jackInTheBox;
-}
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-@-webkit-keyframes rollIn {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
- transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes rollIn {
- from {
- opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
- transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
- }
-
- to {
- opacity: 1;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__rollIn {
- -webkit-animation-name: rollIn;
- animation-name: rollIn;
-}
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-@-webkit-keyframes rollOut {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
- transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
- }
-}
-@keyframes rollOut {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
- transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
- }
-}
-.animate__rollOut {
- -webkit-animation-name: rollOut;
- animation-name: rollOut;
-}
-/* Zooming entrances */
-@-webkit-keyframes zoomIn {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- 50% {
- opacity: 1;
- }
-}
-@keyframes zoomIn {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- 50% {
- opacity: 1;
- }
-}
-.animate__zoomIn {
- -webkit-animation-name: zoomIn;
- animation-name: zoomIn;
-}
-@-webkit-keyframes zoomInDown {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-@keyframes zoomInDown {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-.animate__zoomInDown {
- -webkit-animation-name: zoomInDown;
- animation-name: zoomInDown;
-}
-@-webkit-keyframes zoomInLeft {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-@keyframes zoomInLeft {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-.animate__zoomInLeft {
- -webkit-animation-name: zoomInLeft;
- animation-name: zoomInLeft;
-}
-@-webkit-keyframes zoomInRight {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-@keyframes zoomInRight {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-.animate__zoomInRight {
- -webkit-animation-name: zoomInRight;
- animation-name: zoomInRight;
-}
-@-webkit-keyframes zoomInUp {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-@keyframes zoomInUp {
- from {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-.animate__zoomInUp {
- -webkit-animation-name: zoomInUp;
- animation-name: zoomInUp;
-}
-/* Zooming exits */
-@-webkit-keyframes zoomOut {
- from {
- opacity: 1;
- }
-
- 50% {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- to {
- opacity: 0;
- }
-}
-@keyframes zoomOut {
- from {
- opacity: 1;
- }
-
- 50% {
- opacity: 0;
- -webkit-transform: scale3d(0.3, 0.3, 0.3);
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- to {
- opacity: 0;
- }
-}
-.animate__zoomOut {
- -webkit-animation-name: zoomOut;
- animation-name: zoomOut;
-}
-@-webkit-keyframes zoomOutDown {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-@keyframes zoomOutDown {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-.animate__zoomOutDown {
- -webkit-animation-name: zoomOutDown;
- animation-name: zoomOutDown;
- -webkit-transform-origin: center bottom;
- transform-origin: center bottom;
-}
-@-webkit-keyframes zoomOutLeft {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
- transform: scale(0.1) translate3d(-2000px, 0, 0);
- }
-}
-@keyframes zoomOutLeft {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
- transform: scale(0.1) translate3d(-2000px, 0, 0);
- }
-}
-.animate__zoomOutLeft {
- -webkit-animation-name: zoomOutLeft;
- animation-name: zoomOutLeft;
- -webkit-transform-origin: left center;
- transform-origin: left center;
-}
-@-webkit-keyframes zoomOutRight {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
- transform: scale(0.1) translate3d(2000px, 0, 0);
- }
-}
-@keyframes zoomOutRight {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
- transform: scale(0.1) translate3d(2000px, 0, 0);
- }
-}
-.animate__zoomOutRight {
- -webkit-animation-name: zoomOutRight;
- animation-name: zoomOutRight;
- -webkit-transform-origin: right center;
- transform-origin: right center;
-}
-@-webkit-keyframes zoomOutUp {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-@keyframes zoomOutUp {
- 40% {
- opacity: 1;
- -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- to {
- opacity: 0;
- -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
- -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-.animate__zoomOutUp {
- -webkit-animation-name: zoomOutUp;
- animation-name: zoomOutUp;
- -webkit-transform-origin: center bottom;
- transform-origin: center bottom;
-}
-/* Sliding entrances */
-@-webkit-keyframes slideInDown {
- from {
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes slideInDown {
- from {
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__slideInDown {
- -webkit-animation-name: slideInDown;
- animation-name: slideInDown;
-}
-@-webkit-keyframes slideInLeft {
- from {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes slideInLeft {
- from {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__slideInLeft {
- -webkit-animation-name: slideInLeft;
- animation-name: slideInLeft;
-}
-@-webkit-keyframes slideInRight {
- from {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes slideInRight {
- from {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__slideInRight {
- -webkit-animation-name: slideInRight;
- animation-name: slideInRight;
-}
-@-webkit-keyframes slideInUp {
- from {
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-@keyframes slideInUp {
- from {
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- visibility: visible;
- }
-
- to {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-}
-.animate__slideInUp {
- -webkit-animation-name: slideInUp;
- animation-name: slideInUp;
-}
-/* Sliding exits */
-@-webkit-keyframes slideOutDown {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
-}
-@keyframes slideOutDown {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(0, 100%, 0);
- transform: translate3d(0, 100%, 0);
- }
-}
-.animate__slideOutDown {
- -webkit-animation-name: slideOutDown;
- animation-name: slideOutDown;
-}
-@-webkit-keyframes slideOutLeft {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
-}
-@keyframes slideOutLeft {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
-}
-.animate__slideOutLeft {
- -webkit-animation-name: slideOutLeft;
- animation-name: slideOutLeft;
-}
-@-webkit-keyframes slideOutRight {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
-}
-@keyframes slideOutRight {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
-}
-.animate__slideOutRight {
- -webkit-animation-name: slideOutRight;
- animation-name: slideOutRight;
-}
-@-webkit-keyframes slideOutUp {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
-}
-@keyframes slideOutUp {
- from {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- -webkit-transform: translate3d(0, -100%, 0);
- transform: translate3d(0, -100%, 0);
- }
-}
-.animate__slideOutUp {
- -webkit-animation-name: slideOutUp;
- animation-name: slideOutUp;
-}
diff --git a/src/LP/Vendor/animate.css/animate.min.css b/src/LP/Vendor/animate.css/animate.min.css
deleted file mode 100755
index 76d2fe1a8..000000000
--- a/src/LP/Vendor/animate.css/animate.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-@charset "UTF-8";/*!
- * animate.css - https://animate.style/
- * Version - 4.1.1
- * Licensed under the MIT license - http://opensource.org/licenses/MIT
- *
- * Copyright (c) 2020 Animate.css
- */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
\ No newline at end of file
diff --git a/src/LP/Vendor/animate.css/package.json b/src/LP/Vendor/animate.css/package.json
deleted file mode 100644
index ef36f9373..000000000
--- a/src/LP/Vendor/animate.css/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "animate.css",
- "version": "4.1.1",
- "main": "animate.css",
- "repository": {
- "type": "git",
- "url": "https://github.com/animate-css/animate.css.git"
- },
- "author": {
- "name": "Animate.css"
- },
- "homepage": "https://animate.style/",
- "license": "MIT",
- "animateConfig": {
- "prefix": "animate__"
- },
- "scripts": {
- "start": "npm-run-all raw prod compat",
- "compat": "npx postcss source/animate.css -o animate.compat.css --no-map --env compat",
- "dev": "npx postcss source/animate.css -o animate.css --no-map --env development -w",
- "raw": "npx postcss source/animate.css -o animate.css --no-map --env development",
- "prod": "npx postcss source/animate.css -o animate.min.css --no-map --env production",
- "format": "prettier --write \"**/*.{js,json,md,css}\"",
- "precommit": "lint-staged",
- "docs:library": "npx postcss source/animate.css -o ./docs/animate.min.css --no-map --env production",
- "docs:pages": "node ./docsSource/index.js",
- "docs": "npm-run-all docs:library docs:pages",
- "version": "npm-run-all start docs && git add -A docs animate.css animate.min.css animate.compat.css",
- "postversion": "git push && git push --tags"
- },
- "browserslist": [
- "> 3%",
- "last 2 versions"
- ],
- "style": "./animate.css",
- "jspm": {
- "main": "animate.css!",
- "format": "global",
- "directories": {
- "lib": "./"
- }
- },
- "devDependencies": {
- "autoprefixer": "^9.7.6",
- "cssnano": "^4.1.10",
- "eslint": "^7.8.1",
- "husky": "^4.2.5",
- "lint-staged": "^10.3.0",
- "markdown-it": "^11.0.0",
- "npm-run-all": "^4.1.5",
- "postcss": "^7.0.27",
- "postcss-cli": "^7.1.2",
- "postcss-header": "^2.0.0",
- "postcss-import": "^12.0.1",
- "postcss-prefixer": "^2.1.2",
- "postcss-preset-env": "^6.7.0",
- "prettier": "^2.1.1"
- },
- "lint-staged": {
- "*.{js,json,md,css}": [
- "prettier --write"
- ]
- },
- "husky": {
- "hooks": {
- "pre-commit": "npm-run-all start precommit"
- }
- },
- "files": [
- "animate.compat.css",
- "animate.min.css",
- "animate.css",
- "source/**/*.css"
- ]
-}
diff --git a/src/LP/Vendor/animate.css/source/_base.css b/src/LP/Vendor/animate.css/source/_base.css
deleted file mode 100644
index ccbfd151c..000000000
--- a/src/LP/Vendor/animate.css/source/_base.css
+++ /dev/null
@@ -1,68 +0,0 @@
-.animated {
- animation-duration: var(--animate-duration);
- animation-fill-mode: both;
-}
-
-.animated.infinite {
- animation-iteration-count: infinite;
-}
-
-.animated.repeat-1 {
- animation-iteration-count: var(--animate-repeat);
-}
-
-.animated.repeat-2 {
- animation-iteration-count: calc(var(--animate-repeat) * 2);
-}
-
-.animated.repeat-3 {
- animation-iteration-count: calc(var(--animate-repeat) * 3);
-}
-
-.animated.delay-1s {
- animation-delay: var(--animate-delay);
-}
-
-.animated.delay-2s {
- animation-delay: calc(var(--animate-delay) * 2);
-}
-
-.animated.delay-3s {
- animation-delay: calc(var(--animate-delay) * 3);
-}
-
-.animated.delay-4s {
- animation-delay: calc(var(--animate-delay) * 4);
-}
-
-.animated.delay-5s {
- animation-delay: calc(var(--animate-delay) * 5);
-}
-
-.animated.faster {
- animation-duration: calc(var(--animate-duration) / 2);
-}
-
-.animated.fast {
- animation-duration: calc(var(--animate-duration) * 0.8);
-}
-
-.animated.slow {
- animation-duration: calc(var(--animate-duration) * 2);
-}
-
-.animated.slower {
- animation-duration: calc(var(--animate-duration) * 3);
-}
-
-@media print, (prefers-reduced-motion: reduce) {
- .animated {
- animation-duration: 1ms !important;
- transition-duration: 1ms !important;
- animation-iteration-count: 1 !important;
- }
-
- .animated[class*='Out'] {
- opacity: 0;
- }
-}
diff --git a/src/LP/Vendor/animate.css/source/_vars.css b/src/LP/Vendor/animate.css/source/_vars.css
deleted file mode 100644
index 43ea190e5..000000000
--- a/src/LP/Vendor/animate.css/source/_vars.css
+++ /dev/null
@@ -1,5 +0,0 @@
-:root {
- --animate-duration: 1s;
- --animate-delay: 1s;
- --animate-repeat: 1;
-}
diff --git a/src/LP/Vendor/animate.css/source/animate.css b/src/LP/Vendor/animate.css/source/animate.css
deleted file mode 100644
index 1c7f27a66..000000000
--- a/src/LP/Vendor/animate.css/source/animate.css
+++ /dev/null
@@ -1,131 +0,0 @@
-@import '_vars.css';
-@import '_base.css';
-
-/* Attention seekers */
-@import 'attention_seekers/bounce.css';
-@import 'attention_seekers/flash.css';
-@import 'attention_seekers/pulse.css';
-@import 'attention_seekers/rubberBand.css';
-@import 'attention_seekers/shakeX.css';
-@import 'attention_seekers/shakeY.css';
-@import 'attention_seekers/headShake.css';
-@import 'attention_seekers/swing.css';
-@import 'attention_seekers/tada.css';
-@import 'attention_seekers/wobble.css';
-@import 'attention_seekers/jello.css';
-@import 'attention_seekers/heartBeat.css';
-
-/* Back entrances */
-@import 'back_entrances/backInDown.css';
-@import 'back_entrances/backInLeft.css';
-@import 'back_entrances/backInRight.css';
-@import 'back_entrances/backInUp.css';
-
-/* Back exits */
-@import 'back_exits/backOutDown.css';
-@import 'back_exits/backOutLeft.css';
-@import 'back_exits/backOutRight.css';
-@import 'back_exits/backOutUp.css';
-
-/* Bouncing entrances */
-@import 'bouncing_entrances/bounceIn.css';
-@import 'bouncing_entrances/bounceInDown.css';
-@import 'bouncing_entrances/bounceInLeft.css';
-@import 'bouncing_entrances/bounceInRight.css';
-@import 'bouncing_entrances/bounceInUp.css';
-
-/* Bouncing exits */
-@import 'bouncing_exits/bounceOut.css';
-@import 'bouncing_exits/bounceOutDown.css';
-@import 'bouncing_exits/bounceOutLeft.css';
-@import 'bouncing_exits/bounceOutRight.css';
-@import 'bouncing_exits/bounceOutUp.css';
-
-/* Fading entrances */
-@import 'fading_entrances/fadeIn.css';
-@import 'fading_entrances/fadeInDown.css';
-@import 'fading_entrances/fadeInDownBig.css';
-@import 'fading_entrances/fadeInLeft.css';
-@import 'fading_entrances/fadeInLeftBig.css';
-@import 'fading_entrances/fadeInRight.css';
-@import 'fading_entrances/fadeInRightBig.css';
-@import 'fading_entrances/fadeInUp.css';
-@import 'fading_entrances/fadeInUpBig.css';
-@import 'fading_entrances/fadeInTopLeft.css';
-@import 'fading_entrances/fadeInTopRight.css';
-@import 'fading_entrances/fadeInBottomLeft.css';
-@import 'fading_entrances/fadeInBottomRight.css';
-
-/* Fading exits */
-@import 'fading_exits/fadeOut.css';
-@import 'fading_exits/fadeOutDown.css';
-@import 'fading_exits/fadeOutDownBig.css';
-@import 'fading_exits/fadeOutLeft.css';
-@import 'fading_exits/fadeOutLeftBig.css';
-@import 'fading_exits/fadeOutRight.css';
-@import 'fading_exits/fadeOutRightBig.css';
-@import 'fading_exits/fadeOutUp.css';
-@import 'fading_exits/fadeOutUpBig.css';
-@import 'fading_exits/fadeOutTopLeft.css';
-@import 'fading_exits/fadeOutTopRight.css';
-@import 'fading_exits/fadeOutBottomRight.css';
-@import 'fading_exits/fadeOutBottomLeft.css';
-
-/* Flippers */
-@import 'flippers/flip.css';
-@import 'flippers/flipInX.css';
-@import 'flippers/flipInY.css';
-@import 'flippers/flipOutX.css';
-@import 'flippers/flipOutY.css';
-
-/* Lightspeed */
-@import 'lightspeed/lightSpeedInRight.css';
-@import 'lightspeed/lightSpeedInLeft.css';
-@import 'lightspeed/lightSpeedOutRight.css';
-@import 'lightspeed/lightSpeedOutLeft.css';
-
-/* Rotating entrances */
-@import 'rotating_entrances/rotateIn.css';
-@import 'rotating_entrances/rotateInDownLeft.css';
-@import 'rotating_entrances/rotateInDownRight.css';
-@import 'rotating_entrances/rotateInUpLeft.css';
-@import 'rotating_entrances/rotateInUpRight.css';
-
-/* Rotating exits */
-@import 'rotating_exits/rotateOut.css';
-@import 'rotating_exits/rotateOutDownLeft.css';
-@import 'rotating_exits/rotateOutDownRight.css';
-@import 'rotating_exits/rotateOutUpLeft.css';
-@import 'rotating_exits/rotateOutUpRight.css';
-
-/* Specials */
-@import 'specials/hinge.css';
-@import 'specials/jackInTheBox.css';
-@import 'specials/rollIn.css';
-@import 'specials/rollOut.css';
-
-/* Zooming entrances */
-@import 'zooming_entrances/zoomIn.css';
-@import 'zooming_entrances/zoomInDown.css';
-@import 'zooming_entrances/zoomInLeft.css';
-@import 'zooming_entrances/zoomInRight.css';
-@import 'zooming_entrances/zoomInUp.css';
-
-/* Zooming exits */
-@import 'zooming_exits/zoomOut.css';
-@import 'zooming_exits/zoomOutDown.css';
-@import 'zooming_exits/zoomOutLeft.css';
-@import 'zooming_exits/zoomOutRight.css';
-@import 'zooming_exits/zoomOutUp.css';
-
-/* Sliding entrances */
-@import 'sliding_entrances/slideInDown.css';
-@import 'sliding_entrances/slideInLeft.css';
-@import 'sliding_entrances/slideInRight.css';
-@import 'sliding_entrances/slideInUp.css';
-
-/* Sliding exits */
-@import 'sliding_exits/slideOutDown.css';
-@import 'sliding_exits/slideOutLeft.css';
-@import 'sliding_exits/slideOutRight.css';
-@import 'sliding_exits/slideOutUp.css';
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/bounce.css b/src/LP/Vendor/animate.css/source/attention_seekers/bounce.css
deleted file mode 100644
index d0cf19b34..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/bounce.css
+++ /dev/null
@@ -1,34 +0,0 @@
-@keyframes bounce {
- from,
- 20%,
- 53%,
- to {
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- transform: translate3d(0, 0, 0);
- }
-
- 40%,
- 43% {
- animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- transform: translate3d(0, -30px, 0) scaleY(1.1);
- }
-
- 70% {
- animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
- transform: translate3d(0, -15px, 0) scaleY(1.05);
- }
-
- 80% {
- transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- transform: translate3d(0, 0, 0) scaleY(0.95);
- }
-
- 90% {
- transform: translate3d(0, -4px, 0) scaleY(1.02);
- }
-}
-
-.bounce {
- animation-name: bounce;
- transform-origin: center bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/flash.css b/src/LP/Vendor/animate.css/source/attention_seekers/flash.css
deleted file mode 100644
index e8e9fd13b..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/flash.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes flash {
- from,
- 50%,
- to {
- opacity: 1;
- }
-
- 25%,
- 75% {
- opacity: 0;
- }
-}
-
-.flash {
- animation-name: flash;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/headShake.css b/src/LP/Vendor/animate.css/source/attention_seekers/headShake.css
deleted file mode 100644
index 6298b27b8..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/headShake.css
+++ /dev/null
@@ -1,30 +0,0 @@
-@keyframes headShake {
- 0% {
- transform: translateX(0);
- }
-
- 6.5% {
- transform: translateX(-6px) rotateY(-9deg);
- }
-
- 18.5% {
- transform: translateX(5px) rotateY(7deg);
- }
-
- 31.5% {
- transform: translateX(-3px) rotateY(-5deg);
- }
-
- 43.5% {
- transform: translateX(2px) rotateY(3deg);
- }
-
- 50% {
- transform: translateX(0);
- }
-}
-
-.headShake {
- animation-timing-function: ease-in-out;
- animation-name: headShake;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/heartBeat.css b/src/LP/Vendor/animate.css/source/attention_seekers/heartBeat.css
deleted file mode 100644
index 59204bac3..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/heartBeat.css
+++ /dev/null
@@ -1,27 +0,0 @@
-@keyframes heartBeat {
- 0% {
- transform: scale(1);
- }
-
- 14% {
- transform: scale(1.3);
- }
-
- 28% {
- transform: scale(1);
- }
-
- 42% {
- transform: scale(1.3);
- }
-
- 70% {
- transform: scale(1);
- }
-}
-
-.heartBeat {
- animation-name: heartBeat;
- animation-duration: calc(var(--animate-duration) * 1.3);
- animation-timing-function: ease-in-out;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/jello.css b/src/LP/Vendor/animate.css/source/attention_seekers/jello.css
deleted file mode 100644
index 92d4c493c..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/jello.css
+++ /dev/null
@@ -1,40 +0,0 @@
-@keyframes jello {
- from,
- 11.1%,
- to {
- transform: translate3d(0, 0, 0);
- }
-
- 22.2% {
- transform: skewX(-12.5deg) skewY(-12.5deg);
- }
-
- 33.3% {
- transform: skewX(6.25deg) skewY(6.25deg);
- }
-
- 44.4% {
- transform: skewX(-3.125deg) skewY(-3.125deg);
- }
-
- 55.5% {
- transform: skewX(1.5625deg) skewY(1.5625deg);
- }
-
- 66.6% {
- transform: skewX(-0.78125deg) skewY(-0.78125deg);
- }
-
- 77.7% {
- transform: skewX(0.390625deg) skewY(0.390625deg);
- }
-
- 88.8% {
- transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
- }
-}
-
-.jello {
- animation-name: jello;
- transform-origin: center;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/pulse.css b/src/LP/Vendor/animate.css/source/attention_seekers/pulse.css
deleted file mode 100644
index 28d28035a..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/pulse.css
+++ /dev/null
@@ -1,20 +0,0 @@
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@keyframes pulse {
- from {
- transform: scale3d(1, 1, 1);
- }
-
- 50% {
- transform: scale3d(1.05, 1.05, 1.05);
- }
-
- to {
- transform: scale3d(1, 1, 1);
- }
-}
-
-.pulse {
- animation-name: pulse;
- animation-timing-function: ease-in-out;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/rubberBand.css b/src/LP/Vendor/animate.css/source/attention_seekers/rubberBand.css
deleted file mode 100644
index 656ddd729..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/rubberBand.css
+++ /dev/null
@@ -1,33 +0,0 @@
-@keyframes rubberBand {
- from {
- transform: scale3d(1, 1, 1);
- }
-
- 30% {
- transform: scale3d(1.25, 0.75, 1);
- }
-
- 40% {
- transform: scale3d(0.75, 1.25, 1);
- }
-
- 50% {
- transform: scale3d(1.15, 0.85, 1);
- }
-
- 65% {
- transform: scale3d(0.95, 1.05, 1);
- }
-
- 75% {
- transform: scale3d(1.05, 0.95, 1);
- }
-
- to {
- transform: scale3d(1, 1, 1);
- }
-}
-
-.rubberBand {
- animation-name: rubberBand;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/shake.css b/src/LP/Vendor/animate.css/source/attention_seekers/shake.css
deleted file mode 100644
index 22f7ff61a..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/shake.css
+++ /dev/null
@@ -1,25 +0,0 @@
-@keyframes shake {
- from,
- to {
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- transform: translate3d(-10px, 0, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- transform: translate3d(10px, 0, 0);
- }
-}
-
-.shake {
- animation-name: shake;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/shakeX.css b/src/LP/Vendor/animate.css/source/attention_seekers/shakeX.css
deleted file mode 100644
index 860fd5ee5..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/shakeX.css
+++ /dev/null
@@ -1,25 +0,0 @@
-@keyframes shakeX {
- from,
- to {
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- transform: translate3d(-10px, 0, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- transform: translate3d(10px, 0, 0);
- }
-}
-
-.shakeX {
- animation-name: shakeX;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/shakeY.css b/src/LP/Vendor/animate.css/source/attention_seekers/shakeY.css
deleted file mode 100644
index 07bfdabf9..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/shakeY.css
+++ /dev/null
@@ -1,25 +0,0 @@
-@keyframes shakeY {
- from,
- to {
- transform: translate3d(0, 0, 0);
- }
-
- 10%,
- 30%,
- 50%,
- 70%,
- 90% {
- transform: translate3d(0, -10px, 0);
- }
-
- 20%,
- 40%,
- 60%,
- 80% {
- transform: translate3d(0, 10px, 0);
- }
-}
-
-.shakeY {
- animation-name: shakeY;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/swing.css b/src/LP/Vendor/animate.css/source/attention_seekers/swing.css
deleted file mode 100644
index 3390c24b7..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/swing.css
+++ /dev/null
@@ -1,26 +0,0 @@
-@keyframes swing {
- 20% {
- transform: rotate3d(0, 0, 1, 15deg);
- }
-
- 40% {
- transform: rotate3d(0, 0, 1, -10deg);
- }
-
- 60% {
- transform: rotate3d(0, 0, 1, 5deg);
- }
-
- 80% {
- transform: rotate3d(0, 0, 1, -5deg);
- }
-
- to {
- transform: rotate3d(0, 0, 1, 0deg);
- }
-}
-
-.swing {
- transform-origin: top center;
- animation-name: swing;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/tada.css b/src/LP/Vendor/animate.css/source/attention_seekers/tada.css
deleted file mode 100644
index 22506163d..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/tada.css
+++ /dev/null
@@ -1,31 +0,0 @@
-@keyframes tada {
- from {
- transform: scale3d(1, 1, 1);
- }
-
- 10%,
- 20% {
- transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
- }
-
- 30%,
- 50%,
- 70%,
- 90% {
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
- }
-
- 40%,
- 60%,
- 80% {
- transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
- }
-
- to {
- transform: scale3d(1, 1, 1);
- }
-}
-
-.tada {
- animation-name: tada;
-}
diff --git a/src/LP/Vendor/animate.css/source/attention_seekers/wobble.css b/src/LP/Vendor/animate.css/source/attention_seekers/wobble.css
deleted file mode 100644
index 5c2828f21..000000000
--- a/src/LP/Vendor/animate.css/source/attention_seekers/wobble.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@keyframes wobble {
- from {
- transform: translate3d(0, 0, 0);
- }
-
- 15% {
- transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
- }
-
- 30% {
- transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
- }
-
- 45% {
- transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
- }
-
- 60% {
- transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
- }
-
- 75% {
- transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.wobble {
- animation-name: wobble;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_entrances/backInDown.css b/src/LP/Vendor/animate.css/source/back_entrances/backInDown.css
deleted file mode 100644
index 36e358a05..000000000
--- a/src/LP/Vendor/animate.css/source/back_entrances/backInDown.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backInDown {
- 0% {
- transform: translateY(-1200px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-.backInDown {
- animation-name: backInDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_entrances/backInLeft.css b/src/LP/Vendor/animate.css/source/back_entrances/backInLeft.css
deleted file mode 100644
index ca7628b63..000000000
--- a/src/LP/Vendor/animate.css/source/back_entrances/backInLeft.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backInLeft {
- 0% {
- transform: translateX(-2000px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-.backInLeft {
- animation-name: backInLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_entrances/backInRight.css b/src/LP/Vendor/animate.css/source/back_entrances/backInRight.css
deleted file mode 100644
index 4bf893066..000000000
--- a/src/LP/Vendor/animate.css/source/back_entrances/backInRight.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backInRight {
- 0% {
- transform: translateX(2000px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-.backInRight {
- animation-name: backInRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_entrances/backInUp.css b/src/LP/Vendor/animate.css/source/back_entrances/backInUp.css
deleted file mode 100644
index 621fc68d4..000000000
--- a/src/LP/Vendor/animate.css/source/back_entrances/backInUp.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backInUp {
- 0% {
- transform: translateY(1200px) scale(0.7);
- opacity: 0.7;
- }
-
- 80% {
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-.backInUp {
- animation-name: backInUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_exits/backOutDown.css b/src/LP/Vendor/animate.css/source/back_exits/backOutDown.css
deleted file mode 100644
index 4273c9b97..000000000
--- a/src/LP/Vendor/animate.css/source/back_exits/backOutDown.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backOutDown {
- 0% {
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: translateY(700px) scale(0.7);
- opacity: 0.7;
- }
-}
-
-.backOutDown {
- animation-name: backOutDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_exits/backOutLeft.css b/src/LP/Vendor/animate.css/source/back_exits/backOutLeft.css
deleted file mode 100644
index 35b411487..000000000
--- a/src/LP/Vendor/animate.css/source/back_exits/backOutLeft.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backOutLeft {
- 0% {
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: translateX(-2000px) scale(0.7);
- opacity: 0.7;
- }
-}
-
-.backOutLeft {
- animation-name: backOutLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_exits/backOutRight.css b/src/LP/Vendor/animate.css/source/back_exits/backOutRight.css
deleted file mode 100644
index 8ceeb1933..000000000
--- a/src/LP/Vendor/animate.css/source/back_exits/backOutRight.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backOutRight {
- 0% {
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- transform: translateX(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: translateX(2000px) scale(0.7);
- opacity: 0.7;
- }
-}
-
-.backOutRight {
- animation-name: backOutRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/back_exits/backOutUp.css b/src/LP/Vendor/animate.css/source/back_exits/backOutUp.css
deleted file mode 100644
index 8d4e5f49d..000000000
--- a/src/LP/Vendor/animate.css/source/back_exits/backOutUp.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes backOutUp {
- 0% {
- transform: scale(1);
- opacity: 1;
- }
-
- 20% {
- transform: translateY(0px) scale(0.7);
- opacity: 0.7;
- }
-
- 100% {
- transform: translateY(-700px) scale(0.7);
- opacity: 0.7;
- }
-}
-
-.backOutUp {
- animation-name: backOutUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceIn.css b/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceIn.css
deleted file mode 100644
index d0bbf345c..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceIn.css
+++ /dev/null
@@ -1,42 +0,0 @@
-@keyframes bounceIn {
- from,
- 20%,
- 40%,
- 60%,
- 80%,
- to {
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- 20% {
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- 40% {
- transform: scale3d(0.9, 0.9, 0.9);
- }
-
- 60% {
- opacity: 1;
- transform: scale3d(1.03, 1.03, 1.03);
- }
-
- 80% {
- transform: scale3d(0.97, 0.97, 0.97);
- }
-
- to {
- opacity: 1;
- transform: scale3d(1, 1, 1);
- }
-}
-
-.bounceIn {
- animation-duration: calc(var(--animate-duration) * 0.75);
- animation-name: bounceIn;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInDown.css b/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInDown.css
deleted file mode 100644
index 3063365eb..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInDown.css
+++ /dev/null
@@ -1,35 +0,0 @@
-@keyframes bounceInDown {
- from,
- 60%,
- 75%,
- 90%,
- to {
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- transform: translate3d(0, -3000px, 0) scaleY(3);
- }
-
- 60% {
- opacity: 1;
- transform: translate3d(0, 25px, 0) scaleY(0.9);
- }
-
- 75% {
- transform: translate3d(0, -10px, 0) scaleY(0.95);
- }
-
- 90% {
- transform: translate3d(0, 5px, 0) scaleY(0.985);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.bounceInDown {
- animation-name: bounceInDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInLeft.css b/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInLeft.css
deleted file mode 100644
index c0ac84251..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInLeft.css
+++ /dev/null
@@ -1,35 +0,0 @@
-@keyframes bounceInLeft {
- from,
- 60%,
- 75%,
- 90%,
- to {
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- 0% {
- opacity: 0;
- transform: translate3d(-3000px, 0, 0) scaleX(3);
- }
-
- 60% {
- opacity: 1;
- transform: translate3d(25px, 0, 0) scaleX(1);
- }
-
- 75% {
- transform: translate3d(-10px, 0, 0) scaleX(0.98);
- }
-
- 90% {
- transform: translate3d(5px, 0, 0) scaleX(0.995);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.bounceInLeft {
- animation-name: bounceInLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInRight.css b/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInRight.css
deleted file mode 100644
index 7c4b4afc9..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInRight.css
+++ /dev/null
@@ -1,35 +0,0 @@
-@keyframes bounceInRight {
- from,
- 60%,
- 75%,
- 90%,
- to {
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- from {
- opacity: 0;
- transform: translate3d(3000px, 0, 0) scaleX(3);
- }
-
- 60% {
- opacity: 1;
- transform: translate3d(-25px, 0, 0) scaleX(1);
- }
-
- 75% {
- transform: translate3d(10px, 0, 0) scaleX(0.98);
- }
-
- 90% {
- transform: translate3d(-5px, 0, 0) scaleX(0.995);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.bounceInRight {
- animation-name: bounceInRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInUp.css b/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInUp.css
deleted file mode 100644
index 954caf9c6..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_entrances/bounceInUp.css
+++ /dev/null
@@ -1,35 +0,0 @@
-@keyframes bounceInUp {
- from,
- 60%,
- 75%,
- 90%,
- to {
- animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
- }
-
- from {
- opacity: 0;
- transform: translate3d(0, 3000px, 0) scaleY(5);
- }
-
- 60% {
- opacity: 1;
- transform: translate3d(0, -20px, 0) scaleY(0.9);
- }
-
- 75% {
- transform: translate3d(0, 10px, 0) scaleY(0.95);
- }
-
- 90% {
- transform: translate3d(0, -5px, 0) scaleY(0.985);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.bounceInUp {
- animation-name: bounceInUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOut.css b/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOut.css
deleted file mode 100644
index f19ddaddd..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOut.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@keyframes bounceOut {
- 20% {
- transform: scale3d(0.9, 0.9, 0.9);
- }
-
- 50%,
- 55% {
- opacity: 1;
- transform: scale3d(1.1, 1.1, 1.1);
- }
-
- to {
- opacity: 0;
- transform: scale3d(0.3, 0.3, 0.3);
- }
-}
-
-.bounceOut {
- animation-duration: calc(var(--animate-duration) * 0.75);
- animation-name: bounceOut;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutDown.css b/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutDown.css
deleted file mode 100644
index 61c83c6d2..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutDown.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes bounceOutDown {
- 20% {
- transform: translate3d(0, 10px, 0) scaleY(0.985);
- }
-
- 40%,
- 45% {
- opacity: 1;
- transform: translate3d(0, -20px, 0) scaleY(0.9);
- }
-
- to {
- opacity: 0;
- transform: translate3d(0, 2000px, 0) scaleY(3);
- }
-}
-
-.bounceOutDown {
- animation-name: bounceOutDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutLeft.css b/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutLeft.css
deleted file mode 100644
index 8d08e9404..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutLeft.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes bounceOutLeft {
- 20% {
- opacity: 1;
- transform: translate3d(20px, 0, 0) scaleX(0.9);
- }
-
- to {
- opacity: 0;
- transform: translate3d(-2000px, 0, 0) scaleX(2);
- }
-}
-
-.bounceOutLeft {
- animation-name: bounceOutLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutRight.css b/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutRight.css
deleted file mode 100644
index f0684ba8a..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutRight.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes bounceOutRight {
- 20% {
- opacity: 1;
- transform: translate3d(-20px, 0, 0) scaleX(0.9);
- }
-
- to {
- opacity: 0;
- transform: translate3d(2000px, 0, 0) scaleX(2);
- }
-}
-
-.bounceOutRight {
- animation-name: bounceOutRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutUp.css b/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutUp.css
deleted file mode 100644
index 4811adf10..000000000
--- a/src/LP/Vendor/animate.css/source/bouncing_exits/bounceOutUp.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@keyframes bounceOutUp {
- 20% {
- transform: translate3d(0, -10px, 0) scaleY(0.985);
- }
-
- 40%,
- 45% {
- opacity: 1;
- transform: translate3d(0, 20px, 0) scaleY(0.9);
- }
-
- to {
- opacity: 0;
- transform: translate3d(0, -2000px, 0) scaleY(3);
- }
-}
-
-.bounceOutUp {
- animation-name: bounceOutUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeIn.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeIn.css
deleted file mode 100644
index 2177964fa..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeIn.css
+++ /dev/null
@@ -1,13 +0,0 @@
-@keyframes fadeIn {
- from {
- opacity: 0;
- }
-
- to {
- opacity: 1;
- }
-}
-
-.fadeIn {
- animation-name: fadeIn;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInBottomLeft.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInBottomLeft.css
deleted file mode 100644
index 1efef1973..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInBottomLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeInBottomLeft {
- from {
- opacity: 0;
- transform: translate3d(-100%, 100%, 0);
- }
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInBottomLeft {
- animation-name: fadeInBottomLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInBottomRight.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInBottomRight.css
deleted file mode 100644
index f551c5766..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInBottomRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeInBottomRight {
- from {
- opacity: 0;
- transform: translate3d(100%, 100%, 0);
- }
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInBottomRight {
- animation-name: fadeInBottomRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInDown.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInDown.css
deleted file mode 100644
index 3134f742a..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInDown.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInDown {
- from {
- opacity: 0;
- transform: translate3d(0, -100%, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInDown {
- animation-name: fadeInDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInDownBig.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInDownBig.css
deleted file mode 100644
index 86e3703ae..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInDownBig.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInDownBig {
- from {
- opacity: 0;
- transform: translate3d(0, -2000px, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInDownBig {
- animation-name: fadeInDownBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInLeft.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInLeft.css
deleted file mode 100644
index 629edcad2..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInLeft.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInLeft {
- from {
- opacity: 0;
- transform: translate3d(-100%, 0, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInLeft {
- animation-name: fadeInLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInLeftBig.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInLeftBig.css
deleted file mode 100644
index 1c7e6c16c..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInLeftBig.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInLeftBig {
- from {
- opacity: 0;
- transform: translate3d(-2000px, 0, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInLeftBig {
- animation-name: fadeInLeftBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInRight.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInRight.css
deleted file mode 100644
index a5e0eeaae..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInRight.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInRight {
- from {
- opacity: 0;
- transform: translate3d(100%, 0, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInRight {
- animation-name: fadeInRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInRightBig.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInRightBig.css
deleted file mode 100644
index d646a7d31..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInRightBig.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInRightBig {
- from {
- opacity: 0;
- transform: translate3d(2000px, 0, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInRightBig {
- animation-name: fadeInRightBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInTopLeft.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInTopLeft.css
deleted file mode 100644
index cfcf37fcd..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInTopLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeInTopLeft {
- from {
- opacity: 0;
- transform: translate3d(-100%, -100%, 0);
- }
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInTopLeft {
- animation-name: fadeInTopLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInTopRight.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInTopRight.css
deleted file mode 100644
index 900cfd9e5..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInTopRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeInTopRight {
- from {
- opacity: 0;
- transform: translate3d(100%, -100%, 0);
- }
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInTopRight {
- animation-name: fadeInTopRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInUp.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInUp.css
deleted file mode 100644
index ed65b3645..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInUp.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInUp {
- from {
- opacity: 0;
- transform: translate3d(0, 100%, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInUp {
- animation-name: fadeInUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInUpBig.css b/src/LP/Vendor/animate.css/source/fading_entrances/fadeInUpBig.css
deleted file mode 100644
index af212fa53..000000000
--- a/src/LP/Vendor/animate.css/source/fading_entrances/fadeInUpBig.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes fadeInUpBig {
- from {
- opacity: 0;
- transform: translate3d(0, 2000px, 0);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.fadeInUpBig {
- animation-name: fadeInUpBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOut.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOut.css
deleted file mode 100644
index d19c396ad..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOut.css
+++ /dev/null
@@ -1,13 +0,0 @@
-@keyframes fadeOut {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- }
-}
-
-.fadeOut {
- animation-name: fadeOut;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutBottomLeft.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutBottomLeft.css
deleted file mode 100644
index 72f33e951..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutBottomLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutBottomLeft {
- from {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- transform: translate3d(-100%, 100%, 0);
- }
-}
-
-.fadeOutBottomLeft {
- animation-name: fadeOutBottomLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutBottomRight.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutBottomRight.css
deleted file mode 100644
index dcc5f384d..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutBottomRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutBottomRight {
- from {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- transform: translate3d(100%, 100%, 0);
- }
-}
-
-.fadeOutBottomRight {
- animation-name: fadeOutBottomRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutDown.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutDown.css
deleted file mode 100644
index 839b990c5..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutDown.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutDown {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(0, 100%, 0);
- }
-}
-
-.fadeOutDown {
- animation-name: fadeOutDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutDownBig.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutDownBig.css
deleted file mode 100644
index 5b58d1af7..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutDownBig.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutDownBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(0, 2000px, 0);
- }
-}
-
-.fadeOutDownBig {
- animation-name: fadeOutDownBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutLeft.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutLeft.css
deleted file mode 100644
index 16f2fc9c3..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutLeft {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(-100%, 0, 0);
- }
-}
-
-.fadeOutLeft {
- animation-name: fadeOutLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutLeftBig.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutLeftBig.css
deleted file mode 100644
index e50b468f6..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutLeftBig.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutLeftBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(-2000px, 0, 0);
- }
-}
-
-.fadeOutLeftBig {
- animation-name: fadeOutLeftBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutRight.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutRight.css
deleted file mode 100644
index bf0cbb63f..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutRight {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(100%, 0, 0);
- }
-}
-
-.fadeOutRight {
- animation-name: fadeOutRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutRightBig.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutRightBig.css
deleted file mode 100644
index f60617093..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutRightBig.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutRightBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(2000px, 0, 0);
- }
-}
-
-.fadeOutRightBig {
- animation-name: fadeOutRightBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutTopLeft.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutTopLeft.css
deleted file mode 100644
index 87d4de0e7..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutTopLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutTopLeft {
- from {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- transform: translate3d(-100%, -100%, 0);
- }
-}
-
-.fadeOutTopLeft {
- animation-name: fadeOutTopLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutTopRight.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutTopRight.css
deleted file mode 100644
index 65bcc18bb..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutTopRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutTopRight {
- from {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
- to {
- opacity: 0;
- transform: translate3d(100%, -100%, 0);
- }
-}
-
-.fadeOutTopRight {
- animation-name: fadeOutTopRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutUp.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutUp.css
deleted file mode 100644
index fbafcac78..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutUp.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutUp {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(0, -100%, 0);
- }
-}
-
-.fadeOutUp {
- animation-name: fadeOutUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutUpBig.css b/src/LP/Vendor/animate.css/source/fading_exits/fadeOutUpBig.css
deleted file mode 100644
index 5583bd04e..000000000
--- a/src/LP/Vendor/animate.css/source/fading_exits/fadeOutUpBig.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes fadeOutUpBig {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(0, -2000px, 0);
- }
-}
-
-.fadeOutUpBig {
- animation-name: fadeOutUpBig;
-}
diff --git a/src/LP/Vendor/animate.css/source/flippers/flip.css b/src/LP/Vendor/animate.css/source/flippers/flip.css
deleted file mode 100644
index 05e553ecd..000000000
--- a/src/LP/Vendor/animate.css/source/flippers/flip.css
+++ /dev/null
@@ -1,34 +0,0 @@
-@keyframes flip {
- from {
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
- animation-timing-function: ease-out;
- }
-
- 40% {
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -190deg);
- animation-timing-function: ease-out;
- }
-
- 50% {
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
- rotate3d(0, 1, 0, -170deg);
- animation-timing-function: ease-in;
- }
-
- 80% {
- transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
- rotate3d(0, 1, 0, 0deg);
- animation-timing-function: ease-in;
- }
-
- to {
- transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
- animation-timing-function: ease-in;
- }
-}
-
-.animated.flip {
- backface-visibility: visible;
- animation-name: flip;
-}
diff --git a/src/LP/Vendor/animate.css/source/flippers/flipInX.css b/src/LP/Vendor/animate.css/source/flippers/flipInX.css
deleted file mode 100644
index 2135029f3..000000000
--- a/src/LP/Vendor/animate.css/source/flippers/flipInX.css
+++ /dev/null
@@ -1,30 +0,0 @@
-@keyframes flipInX {
- from {
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- animation-timing-function: ease-in;
- opacity: 0;
- }
-
- 40% {
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- animation-timing-function: ease-in;
- }
-
- 60% {
- transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
- opacity: 1;
- }
-
- 80% {
- transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
- }
-
- to {
- transform: perspective(400px);
- }
-}
-
-.flipInX {
- backface-visibility: visible !important;
- animation-name: flipInX;
-}
diff --git a/src/LP/Vendor/animate.css/source/flippers/flipInY.css b/src/LP/Vendor/animate.css/source/flippers/flipInY.css
deleted file mode 100644
index 950886292..000000000
--- a/src/LP/Vendor/animate.css/source/flippers/flipInY.css
+++ /dev/null
@@ -1,30 +0,0 @@
-@keyframes flipInY {
- from {
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- animation-timing-function: ease-in;
- opacity: 0;
- }
-
- 40% {
- transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
- animation-timing-function: ease-in;
- }
-
- 60% {
- transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
- opacity: 1;
- }
-
- 80% {
- transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
- }
-
- to {
- transform: perspective(400px);
- }
-}
-
-.flipInY {
- backface-visibility: visible !important;
- animation-name: flipInY;
-}
diff --git a/src/LP/Vendor/animate.css/source/flippers/flipOutX.css b/src/LP/Vendor/animate.css/source/flippers/flipOutX.css
deleted file mode 100644
index 67720abfe..000000000
--- a/src/LP/Vendor/animate.css/source/flippers/flipOutX.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@keyframes flipOutX {
- from {
- transform: perspective(400px);
- }
-
- 30% {
- transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
- opacity: 1;
- }
-
- to {
- transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
- opacity: 0;
- }
-}
-
-.flipOutX {
- animation-duration: calc(var(--animate-duration) * 0.75);
- animation-name: flipOutX;
- backface-visibility: visible !important;
-}
diff --git a/src/LP/Vendor/animate.css/source/flippers/flipOutY.css b/src/LP/Vendor/animate.css/source/flippers/flipOutY.css
deleted file mode 100644
index cd791b32d..000000000
--- a/src/LP/Vendor/animate.css/source/flippers/flipOutY.css
+++ /dev/null
@@ -1,21 +0,0 @@
-@keyframes flipOutY {
- from {
- transform: perspective(400px);
- }
-
- 30% {
- transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
- opacity: 1;
- }
-
- to {
- transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
- opacity: 0;
- }
-}
-
-.flipOutY {
- animation-duration: calc(var(--animate-duration) * 0.75);
- backface-visibility: visible !important;
- animation-name: flipOutY;
-}
diff --git a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedInLeft.css b/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedInLeft.css
deleted file mode 100644
index 8d57912c3..000000000
--- a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedInLeft.css
+++ /dev/null
@@ -1,24 +0,0 @@
-@keyframes lightSpeedInLeft {
- from {
- transform: translate3d(-100%, 0, 0) skewX(30deg);
- opacity: 0;
- }
-
- 60% {
- transform: skewX(-20deg);
- opacity: 1;
- }
-
- 80% {
- transform: skewX(5deg);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.lightSpeedInLeft {
- animation-name: lightSpeedInLeft;
- animation-timing-function: ease-out;
-}
diff --git a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedInRight.css b/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedInRight.css
deleted file mode 100644
index e52e917fe..000000000
--- a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedInRight.css
+++ /dev/null
@@ -1,24 +0,0 @@
-@keyframes lightSpeedInRight {
- from {
- transform: translate3d(100%, 0, 0) skewX(-30deg);
- opacity: 0;
- }
-
- 60% {
- transform: skewX(20deg);
- opacity: 1;
- }
-
- 80% {
- transform: skewX(-5deg);
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.lightSpeedInRight {
- animation-name: lightSpeedInRight;
- animation-timing-function: ease-out;
-}
diff --git a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedOutLeft.css b/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedOutLeft.css
deleted file mode 100644
index 55edc4448..000000000
--- a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedOutLeft.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes lightSpeedOutLeft {
- from {
- opacity: 1;
- }
-
- to {
- transform: translate3d(-100%, 0, 0) skewX(-30deg);
- opacity: 0;
- }
-}
-
-.lightSpeedOutLeft {
- animation-name: lightSpeedOutLeft;
- animation-timing-function: ease-in;
-}
diff --git a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedOutRight.css b/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedOutRight.css
deleted file mode 100644
index dabaf6121..000000000
--- a/src/LP/Vendor/animate.css/source/lightspeed/lightSpeedOutRight.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes lightSpeedOutRight {
- from {
- opacity: 1;
- }
-
- to {
- transform: translate3d(100%, 0, 0) skewX(30deg);
- opacity: 0;
- }
-}
-
-.lightSpeedOutRight {
- animation-name: lightSpeedOutRight;
- animation-timing-function: ease-in;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateIn.css b/src/LP/Vendor/animate.css/source/rotating_entrances/rotateIn.css
deleted file mode 100644
index e62b2eae6..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateIn.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes rotateIn {
- from {
- transform: rotate3d(0, 0, 1, -200deg);
- opacity: 0;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-
-.rotateIn {
- animation-name: rotateIn;
- transform-origin: center;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInDownLeft.css b/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInDownLeft.css
deleted file mode 100644
index 85af5c636..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInDownLeft.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes rotateInDownLeft {
- from {
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-
-.rotateInDownLeft {
- animation-name: rotateInDownLeft;
- transform-origin: left bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInDownRight.css b/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInDownRight.css
deleted file mode 100644
index 00029d83a..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInDownRight.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes rotateInDownRight {
- from {
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-
-.rotateInDownRight {
- animation-name: rotateInDownRight;
- transform-origin: right bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInUpLeft.css b/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInUpLeft.css
deleted file mode 100644
index b29ce91e2..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInUpLeft.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes rotateInUpLeft {
- from {
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-
-.rotateInUpLeft {
- animation-name: rotateInUpLeft;
- transform-origin: left bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInUpRight.css b/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInUpRight.css
deleted file mode 100644
index 8b0ea1b10..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_entrances/rotateInUpRight.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes rotateInUpRight {
- from {
- transform: rotate3d(0, 0, 1, -90deg);
- opacity: 0;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- opacity: 1;
- }
-}
-
-.rotateInUpRight {
- animation-name: rotateInUpRight;
- transform-origin: right bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOut.css b/src/LP/Vendor/animate.css/source/rotating_exits/rotateOut.css
deleted file mode 100644
index 914c90480..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOut.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes rotateOut {
- from {
- opacity: 1;
- }
-
- to {
- transform: rotate3d(0, 0, 1, 200deg);
- opacity: 0;
- }
-}
-
-.rotateOut {
- animation-name: rotateOut;
- transform-origin: center;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutDownLeft.css b/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutDownLeft.css
deleted file mode 100644
index c4ccabcd0..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutDownLeft.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes rotateOutDownLeft {
- from {
- opacity: 1;
- }
-
- to {
- transform: rotate3d(0, 0, 1, 45deg);
- opacity: 0;
- }
-}
-
-.rotateOutDownLeft {
- animation-name: rotateOutDownLeft;
- transform-origin: left bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutDownRight.css b/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutDownRight.css
deleted file mode 100644
index 81113fee3..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutDownRight.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes rotateOutDownRight {
- from {
- opacity: 1;
- }
-
- to {
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-}
-
-.rotateOutDownRight {
- animation-name: rotateOutDownRight;
- transform-origin: right bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutUpLeft.css b/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutUpLeft.css
deleted file mode 100644
index 885c9d00b..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutUpLeft.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes rotateOutUpLeft {
- from {
- opacity: 1;
- }
-
- to {
- transform: rotate3d(0, 0, 1, -45deg);
- opacity: 0;
- }
-}
-
-.rotateOutUpLeft {
- animation-name: rotateOutUpLeft;
- transform-origin: left bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutUpRight.css b/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutUpRight.css
deleted file mode 100644
index 3ac68fbbc..000000000
--- a/src/LP/Vendor/animate.css/source/rotating_exits/rotateOutUpRight.css
+++ /dev/null
@@ -1,15 +0,0 @@
-@keyframes rotateOutUpRight {
- from {
- opacity: 1;
- }
-
- to {
- transform: rotate3d(0, 0, 1, 90deg);
- opacity: 0;
- }
-}
-
-.rotateOutUpRight {
- animation-name: rotateOutUpRight;
- transform-origin: right bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInDown.css b/src/LP/Vendor/animate.css/source/sliding_entrances/slideInDown.css
deleted file mode 100644
index d6373677d..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInDown.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideInDown {
- from {
- transform: translate3d(0, -100%, 0);
- visibility: visible;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.slideInDown {
- animation-name: slideInDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInLeft.css b/src/LP/Vendor/animate.css/source/sliding_entrances/slideInLeft.css
deleted file mode 100644
index 93370a830..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideInLeft {
- from {
- transform: translate3d(-100%, 0, 0);
- visibility: visible;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.slideInLeft {
- animation-name: slideInLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInRight.css b/src/LP/Vendor/animate.css/source/sliding_entrances/slideInRight.css
deleted file mode 100644
index 209a99c71..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideInRight {
- from {
- transform: translate3d(100%, 0, 0);
- visibility: visible;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.slideInRight {
- animation-name: slideInRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInUp.css b/src/LP/Vendor/animate.css/source/sliding_entrances/slideInUp.css
deleted file mode 100644
index 37b6cde60..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_entrances/slideInUp.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideInUp {
- from {
- transform: translate3d(0, 100%, 0);
- visibility: visible;
- }
-
- to {
- transform: translate3d(0, 0, 0);
- }
-}
-
-.slideInUp {
- animation-name: slideInUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutDown.css b/src/LP/Vendor/animate.css/source/sliding_exits/slideOutDown.css
deleted file mode 100644
index e8e0c7d47..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutDown.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideOutDown {
- from {
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- transform: translate3d(0, 100%, 0);
- }
-}
-
-.slideOutDown {
- animation-name: slideOutDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutLeft.css b/src/LP/Vendor/animate.css/source/sliding_exits/slideOutLeft.css
deleted file mode 100644
index cf444546b..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutLeft.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideOutLeft {
- from {
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- transform: translate3d(-100%, 0, 0);
- }
-}
-
-.slideOutLeft {
- animation-name: slideOutLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutRight.css b/src/LP/Vendor/animate.css/source/sliding_exits/slideOutRight.css
deleted file mode 100644
index 95f7f22f1..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutRight.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideOutRight {
- from {
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- transform: translate3d(100%, 0, 0);
- }
-}
-
-.slideOutRight {
- animation-name: slideOutRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutUp.css b/src/LP/Vendor/animate.css/source/sliding_exits/slideOutUp.css
deleted file mode 100644
index 27541b534..000000000
--- a/src/LP/Vendor/animate.css/source/sliding_exits/slideOutUp.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes slideOutUp {
- from {
- transform: translate3d(0, 0, 0);
- }
-
- to {
- visibility: hidden;
- transform: translate3d(0, -100%, 0);
- }
-}
-
-.slideOutUp {
- animation-name: slideOutUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/specials/hinge.css b/src/LP/Vendor/animate.css/source/specials/hinge.css
deleted file mode 100644
index a728ea709..000000000
--- a/src/LP/Vendor/animate.css/source/specials/hinge.css
+++ /dev/null
@@ -1,29 +0,0 @@
-@keyframes hinge {
- 0% {
- animation-timing-function: ease-in-out;
- }
-
- 20%,
- 60% {
- transform: rotate3d(0, 0, 1, 80deg);
- animation-timing-function: ease-in-out;
- }
-
- 40%,
- 80% {
- transform: rotate3d(0, 0, 1, 60deg);
- animation-timing-function: ease-in-out;
- opacity: 1;
- }
-
- to {
- transform: translate3d(0, 700px, 0);
- opacity: 0;
- }
-}
-
-.hinge {
- animation-duration: calc(var(--animate-duration) * 2);
- animation-name: hinge;
- transform-origin: top left;
-}
diff --git a/src/LP/Vendor/animate.css/source/specials/jackInTheBox.css b/src/LP/Vendor/animate.css/source/specials/jackInTheBox.css
deleted file mode 100644
index 7c88f06c0..000000000
--- a/src/LP/Vendor/animate.css/source/specials/jackInTheBox.css
+++ /dev/null
@@ -1,24 +0,0 @@
-@keyframes jackInTheBox {
- from {
- opacity: 0;
- transform: scale(0.1) rotate(30deg);
- transform-origin: center bottom;
- }
-
- 50% {
- transform: rotate(-10deg);
- }
-
- 70% {
- transform: rotate(3deg);
- }
-
- to {
- opacity: 1;
- transform: scale(1);
- }
-}
-
-.jackInTheBox {
- animation-name: jackInTheBox;
-}
diff --git a/src/LP/Vendor/animate.css/source/specials/rollIn.css b/src/LP/Vendor/animate.css/source/specials/rollIn.css
deleted file mode 100644
index 66f6b65d0..000000000
--- a/src/LP/Vendor/animate.css/source/specials/rollIn.css
+++ /dev/null
@@ -1,17 +0,0 @@
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@keyframes rollIn {
- from {
- opacity: 0;
- transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
- }
-
- to {
- opacity: 1;
- transform: translate3d(0, 0, 0);
- }
-}
-
-.rollIn {
- animation-name: rollIn;
-}
diff --git a/src/LP/Vendor/animate.css/source/specials/rollOut.css b/src/LP/Vendor/animate.css/source/specials/rollOut.css
deleted file mode 100644
index 52750f77a..000000000
--- a/src/LP/Vendor/animate.css/source/specials/rollOut.css
+++ /dev/null
@@ -1,16 +0,0 @@
-/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
-
-@keyframes rollOut {
- from {
- opacity: 1;
- }
-
- to {
- opacity: 0;
- transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
- }
-}
-
-.rollOut {
- animation-name: rollOut;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomIn.css b/src/LP/Vendor/animate.css/source/zooming_entrances/zoomIn.css
deleted file mode 100644
index 460afc519..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomIn.css
+++ /dev/null
@@ -1,14 +0,0 @@
-@keyframes zoomIn {
- from {
- opacity: 0;
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- 50% {
- opacity: 1;
- }
-}
-
-.zoomIn {
- animation-name: zoomIn;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInDown.css b/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInDown.css
deleted file mode 100644
index 156e37150..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInDown.css
+++ /dev/null
@@ -1,17 +0,0 @@
-@keyframes zoomInDown {
- from {
- opacity: 0;
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-
-.zoomInDown {
- animation-name: zoomInDown;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInLeft.css b/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInLeft.css
deleted file mode 100644
index e7b89213b..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInLeft.css
+++ /dev/null
@@ -1,17 +0,0 @@
-@keyframes zoomInLeft {
- from {
- opacity: 0;
- transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-
-.zoomInLeft {
- animation-name: zoomInLeft;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInRight.css b/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInRight.css
deleted file mode 100644
index 5362f4b6a..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInRight.css
+++ /dev/null
@@ -1,17 +0,0 @@
-@keyframes zoomInRight {
- from {
- opacity: 0;
- transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-
-.zoomInRight {
- animation-name: zoomInRight;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInUp.css b/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInUp.css
deleted file mode 100644
index 639e992f3..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_entrances/zoomInUp.css
+++ /dev/null
@@ -1,17 +0,0 @@
-@keyframes zoomInUp {
- from {
- opacity: 0;
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- 60% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-
-.zoomInUp {
- animation-name: zoomInUp;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOut.css b/src/LP/Vendor/animate.css/source/zooming_exits/zoomOut.css
deleted file mode 100644
index b284cd58c..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOut.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@keyframes zoomOut {
- from {
- opacity: 1;
- }
-
- 50% {
- opacity: 0;
- transform: scale3d(0.3, 0.3, 0.3);
- }
-
- to {
- opacity: 0;
- }
-}
-
-.zoomOut {
- animation-name: zoomOut;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutDown.css b/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutDown.css
deleted file mode 100644
index 168e0a7f2..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutDown.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@keyframes zoomOutDown {
- 40% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- to {
- opacity: 0;
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-
-.zoomOutDown {
- animation-name: zoomOutDown;
- transform-origin: center bottom;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutLeft.css b/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutLeft.css
deleted file mode 100644
index 68753653f..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutLeft.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes zoomOutLeft {
- 40% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
- }
-
- to {
- opacity: 0;
- transform: scale(0.1) translate3d(-2000px, 0, 0);
- }
-}
-
-.zoomOutLeft {
- animation-name: zoomOutLeft;
- transform-origin: left center;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutRight.css b/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutRight.css
deleted file mode 100644
index 76ec95a33..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutRight.css
+++ /dev/null
@@ -1,16 +0,0 @@
-@keyframes zoomOutRight {
- 40% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
- }
-
- to {
- opacity: 0;
- transform: scale(0.1) translate3d(2000px, 0, 0);
- }
-}
-
-.zoomOutRight {
- animation-name: zoomOutRight;
- transform-origin: right center;
-}
diff --git a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutUp.css b/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutUp.css
deleted file mode 100644
index a4e505136..000000000
--- a/src/LP/Vendor/animate.css/source/zooming_exits/zoomOutUp.css
+++ /dev/null
@@ -1,18 +0,0 @@
-@keyframes zoomOutUp {
- 40% {
- opacity: 1;
- transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
- animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
- }
-
- to {
- opacity: 0;
- transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
- animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
- }
-}
-
-.zoomOutUp {
- animation-name: zoomOutUp;
- transform-origin: center bottom;
-}
diff --git a/src/LP/interactive/adapt-contrib-interactivevideo b/src/LP/interactive/adapt-contrib-interactivevideo
deleted file mode 160000
index 5b32c84a5..000000000
--- a/src/LP/interactive/adapt-contrib-interactivevideo
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5b32c84a56b216b48ebe5704657cdaa55f33ddd5
diff --git a/src/Themes/adapt-contrib-vanilla b/src/Themes/adapt-contrib-vanilla
deleted file mode 160000
index be9726243..000000000
--- a/src/Themes/adapt-contrib-vanilla
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit be9726243f0388bbc2615273110f8a3145b06cc6
diff --git a/src/core b/src/core
deleted file mode 160000
index 7a8619cbd..000000000
--- a/src/core
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 7a8619cbd54f8078ccdf668f20e2894c74f14591
diff --git a/src/course/config.json b/src/course/config.json
deleted file mode 100644
index 4a25acc90..000000000
--- a/src/course/config.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "_defaultLanguage": "en",
- "_defaultDirection": "ltr",
- "_questionWeight": 1,
- "_logging": {
- "_isEnabled": true,
- "_level": "debug",
- "_console": true,
- "_warnFirstOnly": true
- },
- "_accessibility": {
- "_isEnabled": true,
- "_isSkipNavigationEnabled": true,
- "_ariaLevels": {
- "_menu": 1,
- "_menuGroup": "@menu+1",
- "_menuItem": "@menu+1",
- "_page": 1,
- "_article": "@page+1",
- "_block": "@article+1",
- "_component": "@block+1",
- "_componentItem": "@component+1",
- "_notify": 1
- },
- "_options": {
- "_isPrefersReducedMotionEnabled": true,
- "_isFocusOutlineKeyboardOnlyEnabled": true,
- "_isFocusOutlineDisabled": false,
- "_isFocusAssignmentEnabled": true,
- "_isFocusOnClickEnabled": true,
- "_isFocusNextOnDisabled": true,
- "_isScrollDisableEnabled": true,
- "_isAriaHiddenManagementEnabled": true,
- "_isPopupManagementEnabled": true,
- "_isPopupWrapFocusEnabled": true,
- "_isPopupAriaHiddenManagementEnabled": true,
- "_isPopupTabIndexManagementEnabled": true,
- "_warn": true,
- "_warnFirstOnly": true
- }
- },
- "_fixes": {
- "_imgLazyLoad": true
- },
- "_drawer": {
- "_showEasing": "easeOutQuart",
- "_hideEasing": "easeInQuart",
- "_duration": 400
- },
- "_completionCriteria": {
- "_requireContentCompleted": false,
- "_requireAssessmentCompleted": true,
- "_shouldSubmitScore": true,
- "_submitOnEveryAssessmentAttempt": true
- },
- "_spoor": {
- "_isEnabled": true,
- "_tracking": {
- "_shouldStoreResponses": true,
- "_shouldStoreAttempts": false,
- "_shouldRecordInteractions": true
- },
- "_reporting": {
- "_comment": "Your options here are 'completed', 'passed', 'failed', and 'incomplete'",
- "_onTrackingCriteriaMet": "completed",
- "_onAssessmentFailure": "incomplete",
- "_resetStatusOnLanguageChange": false
- }
- },
- "_disableAnimationFor": [],
- "_disableAnimation": false,
- "_scrollingContainer": {
- "_isEnabled": false,
- "_limitToSelector": ""
- },
- "build": {
- "strictMode": true
- }
-}
diff --git a/src/course/en/articles.json b/src/course/en/articles.json
deleted file mode 100755
index e06d32a7a..000000000
--- a/src/course/en/articles.json
+++ /dev/null
@@ -1,76 +0,0 @@
-[
- {
- "_id": "a-05",
- "_parentId": "co-05",
- "_type": "article",
- "_classes": "",
- "title": "a-05",
- "displayTitle": "",
- "body": "",
- "instruction": ""
- },
- {
- "_id": "a-10",
- "_parentId": "co-10",
- "_type": "article",
- "_classes": "",
- "title": "a-10",
- "displayTitle": "",
- "body": "",
- "instruction": ""
- },
- {
- "_id": "a-15",
- "_parentId": "co-15",
- "_type": "article",
- "_classes": "",
- "title": "a-15",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_isEnabled": true,
- "_id": "a-15",
- "_suppressMarking": false,
- "_scoreToPass": 75,
- "_correctToPass": 75,
- "_isPercentageBased": true,
- "_includeInTotalScore": true,
- "_assessmentWeight": 1,
- "_isResetOnRevisit": true,
- "_attempts": "infinite",
- "_allowResetIfPassed": false,
- "_scrollToOnReset": false,
- "_banks": {
- "_isEnabled": true,
- "_split": "2,2",
- "_randomisation": true
- },
- "_randomisation": {
- "_isEnabled": false,
- "_blockCount": 1
- },
- "_questions": {
- "_resetType": "hard",
- "_canShowFeedback": false,
- "_canShowMarking": false,
- "_canShowModelAnswer": false
- }
- },
- "_trickle": {
- "_isEnabled": true,
- "_button": {
- "_isEnabled": true,
- "startText": "Continue"
- }
- }
- },
- {
- "_id": "a-20",
- "_parentId": "co-15",
- "_type": "article",
- "_classes": "",
- "title": "a-20",
- "displayTitle": "",
- "body": ""
- }
-]
diff --git a/src/course/en/blocks.json b/src/course/en/blocks.json
deleted file mode 100644
index 020677d42..000000000
--- a/src/course/en/blocks.json
+++ /dev/null
@@ -1,236 +0,0 @@
-[
- {
- "_id": "b-05",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-05",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_trackingId": 0,
- "_onScreen": {
- "_isEnabled": true,
- "_classes": "fade-in-bottom",
- "_percentInviewVertical": 50
- }
- },
- {
- "_id": "b-10",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-10",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_trackingId": 1
- },
- {
- "_id": "b-15",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-15",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_trackingId": 2
- },
- {
- "_id": "b-20",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-20",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_trackingId": 3
- },
- {
- "_id": "b-25",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-25",
- "displayTitle": "",
- "body": "",
- "_trackingId": 4
- },
- {
- "_id": "b-30",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-30",
- "displayTitle": "",
- "body": "",
- "_trackingId": 5
- },
- {
- "_id": "b-35",
- "_parentId": "a-05",
- "_type": "block",
- "_classes": "",
- "title": "b-35",
- "displayTitle": "",
- "body": "",
- "_trackingId": 6
- },
- {
- "_id": "b-40",
- "_parentId": "a-10",
- "_type": "block",
- "_classes": "",
- "title": "b-40",
- "displayTitle": "",
- "body": "",
- "_trackingId": 7
- },
- {
- "_id": "b-45",
- "_parentId": "a-10",
- "_type": "block",
- "_classes": "",
- "title": "b-45",
- "displayTitle": "",
- "body": "",
- "_trackingId": 8
- },
- {
- "_id": "b-50",
- "_parentId": "a-10",
- "_type": "block",
- "_classes": "",
- "title": "b-50",
- "displayTitle": "",
- "body": "",
- "_trackingId": 9
- },
- {
- "_id": "b-55",
- "_parentId": "a-10",
- "_type": "block",
- "_classes": "",
- "title": "b-55",
- "displayTitle": "",
- "body": "",
- "_trackingId": 10
- },
- {
- "_id": "b-60",
- "_parentId": "a-10",
- "_type": "block",
- "_classes": "",
- "title": "b-60",
- "displayTitle": "",
- "body": "",
- "_trackingId": 11
- },
- {
- "_id": "b-65",
- "_parentId": "a-15",
- "_type": "block",
- "_classes": "",
- "title": "b-65",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_quizBankID": 1
- },
- "_trackingId": 12
- },
- {
- "_id": "b-75",
- "_parentId": "a-15",
- "_type": "block",
- "_classes": "",
- "title": "b-75",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_quizBankID": 1
- },
- "_trackingId": 13
- },
- {
- "_id": "b-80",
- "_parentId": "a-15",
- "_type": "block",
- "_classes": "",
- "title": "b-80",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_quizBankID": 1
- },
- "_trackingId": 14
- },
- {
- "_id": "b-85",
- "_parentId": "a-15",
- "_type": "block",
- "_classes": "",
- "title": "b-85",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_quizBankID": 2
- },
- "_trackingId": 15
- },
- {
- "_id": "b-90",
- "_parentId": "a-15",
- "_type": "block",
- "_classes": "",
- "title": "b-90",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_quizBankID": 2
- },
- "_trackingId": 16
- },
- {
- "_id": "b-95",
- "_parentId": "a-15",
- "_type": "block",
- "_classes": "",
- "title": "b-95",
- "displayTitle": "",
- "body": "",
- "_assessment": {
- "_quizBankID": 2
- },
- "_trackingId": 17
- },
- {
- "_id": "b-100",
- "_parentId": "a-20",
- "_type": "block",
- "_classes": "background-color-inverted",
- "title": "b-100",
- "displayTitle": "",
- "body": "",
- "_trickle": {
- "_isEnabled": true,
- "_button": {
- "_isEnabled": true,
- "text": "Show results"
- }
- },
- "_trackingId": 18
- },
- {
- "_id": "b-105",
- "_parentId": "a-20",
- "_type": "block",
- "_classes": "",
- "title": "b-105",
- "displayTitle": "",
- "body": "",
- "_trackingId": 19
- }
-]
diff --git a/src/course/en/components.json b/src/course/en/components.json
deleted file mode 100755
index 8fd0fed5c..000000000
--- a/src/course/en/components.json
+++ /dev/null
@@ -1,1100 +0,0 @@
-[
- {
- "_id": "c-05",
- "_parentId": "b-05",
- "_type": "component",
- "_component": "text",
- "_classes": "",
- "_layout": "left",
- "title": "Introduction",
- "displayTitle": "",
- "body": "Adapt allows you to combine Text and Graphic components on the scrolling page to create rich and varied learning experiences. In addition, a wide range of interactive components are also available to help encourage deeper engagement with the material.These presentation components can be structured in any way to help you create learning experiences that meet the needs of your learners. In addition, if your course is being launched from an LMS or LRS , you can personalise the course content by having the learner's name dynamically displayed in the body, instruction or feedback text.",
- "instruction": "{{_globals._learnerInfo.firstname}}, scroll down to see what presentation components are available as part of the core bundle.",
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-10",
- "_parentId": "b-05",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-10",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "large": "course/en/images/single-width.png",
- "small": "course/en/images/full-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-15",
- "_parentId": "b-10",
- "_type": "component",
- "_component": "text",
- "_classes": "",
- "_layout": "left",
- "title": "Text",
- "displayTitle": "Text",
- "body": "The simple Text component can often be the best choice for imparting information, particularly when used in conjunction with complementary graphics. In this example we’ve used the Blank component to the right to create a window through to the block background. Remember, content doesn’t always warrant an interaction so less can often be really be more. Instead, look to intersperse more interactive components with text and graphics where they add the maximum value. Component can either be single or spanned.",
- "instruction": "",
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-20",
- "_parentId": "b-10",
- "_type": "component",
- "_component": "blank",
- "_classes": "",
- "_layout": "right",
- "title": "c-20",
- "_isOptional": true
- },
- {
- "_id": "c-25",
- "_parentId": "b-15",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "full",
- "title": "Graphic",
- "displayTitle": "Graphic",
- "body": "This is the Graphic component body. You can introduce your graphic or you may just want to let the graphics do the talking. Component can either be single or spanned.",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/full-width.png",
- "alt": "",
- "attribution": ""
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-30",
- "_parentId": "b-20",
- "_type": "component",
- "_component": "narrative",
- "_classes": "",
- "_layout": "full",
- "_comment": "setCompletionOn = inview | allItems",
- "_setCompletionOn": "allItems",
- "_hasNavigationInTextArea": false,
- "title": "Narrative",
- "displayTitle": "Narrative",
- "body": "The Narrative component lets you scroll through a series of images each with some accompanying text. This component is always spanned.",
- "instruction": "Select the next and back arrows to find out more.",
- "mobileInstruction": "Select the plus icon followed by the next arrow to find out more.",
- "_items": [
- {
- "title": "Narrative item 1",
- "body": "Narratives are particularly good for showing dialogue between two or more characters, with each step of the conversation being accompanied by an image. This photo story approach can be used to provide context for the learning to follow, to illustrate real-world application of the learning or to show the impact on people when the learning hasn’t been applied correctly.",
- "_graphic": {
- "src": "course/en/images/narrative.png",
- "alt": "alt text"
- },
- "strapline": "Narrative item 1"
- },
- {
- "title": "Narrative item 2",
- "body": "It can also be used to present case studies, where the different displays are used to set the scene, show the key events and then the outcome.",
- "_graphic": {
- "src": "course/en/images/narrative.png",
- "alt": "alt text"
- },
- "strapline": "Narrative item 2"
- },
- {
- "title": "Narrative item 3",
- "body": "This component can also be useful when you want to illustrate the constituent steps that make up a larger process.",
- "_graphic": {
- "src": "course/en/images/narrative.png",
- "alt": "alt text"
- },
- "strapline": "Narrative item 3"
- }
- ],
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-35",
- "_parentId": "b-25",
- "_type": "component",
- "_component": "hotgraphic",
- "_classes": "",
- "_layout": "full",
- "_comment": "setCompletionOn = inview | allItems",
- "_setCompletionOn": "allItems",
- "_canCycleThroughPagination": false,
- "_hidePagination": false,
- "_isNarrativeOnMobile": true,
- "_useNumberedPins": false,
- "_useGraphicsAsPins": false,
- "title": "Hot Graphic",
- "displayTitle": "Hot Graphic",
- "body": "You can add interactivity to an image by using the Hot Graphic . This component allows you to position icons over an image. When an icon is selected, content associated with its corresponding location is displayed in a window over the image. This component will fall back to a Narrative when viewed on mobile. This component is always spanned.",
- "instruction": "Select the icons to find out more.",
- "mobileInstruction": "Select the plus icon followed by the next arrow to find out more.",
- "_graphic": {
- "src": "course/en/images/hotgraphic.png",
- "alt": "alt text"
- },
- "_items": [
- {
- "title": "Hot Graphic item 1",
- "body": "This is display text associated with item 1.",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "_classes": ""
- },
- "strapline": "Hot Graphic strapline 1",
- "_classes": "",
- "_top": 42,
- "_left": 8.5
- },
- {
- "title": "Hot Graphic item 2",
- "body": "This is display text associated with item 2.",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "_classes": ""
- },
- "strapline": "Hot Graphic strapline 2",
- "_classes": "",
- "_top": 62,
- "_left": 26.5
- },
- {
- "title": "Hot Graphic item 3",
- "body": "This is display text associated with item 3.",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "_classes": ""
- },
- "strapline": "Hot Graphic strapline 3",
- "_classes": "",
- "_top": 62,
- "_left": 49
- }
- ],
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-40",
- "_parentId": "b-30",
- "_type": "component",
- "_component": "media",
- "_classes": "",
- "_layout": "full",
- "_comment": "_setCompletionOn = inview | play | ended",
- "_setCompletionOn": "play",
- "_useClosedCaptions": true,
- "_allowFullScreen": true,
- "_startLanguage": "en",
- "title": "Media",
- "displayTitle": "Media",
- "body": "Sometimes we need to make use of rich media to really drive home a point, bring a complex subject to life or simply use audio to literally do the talking. This is when the Media component comes to the fore. Component can be either single or spanned.",
- "instruction": "Select the play button to start the video.",
- "_media": {
- "mp4": "course/en/video/c-40.mp4",
- "poster": "course/en/video/c-40.jpg",
- "cc": [
- {
- "srclang": "en",
- "src": "course/en/video/c-40.vtt"
- }
- ]
- },
- "_playerOptions": {
- "alwaysShowControls": true,
- "toggleCaptionsButtonWhenOnlyOne": true,
- "iPadUseNativeControls": true,
- "iPhoneUseNativeControls": true,
- "AndroidUseNativeControls": true
- },
- "_transcript": {
- "_inlineTranscript": true,
- "_externalTranscript": false,
- "inlineTranscriptButton": "Transcript",
- "inlineTranscriptCloseButton": "Close Transcript",
- "inlineTranscriptBody": "Responsive design means you can create a course once but view it on a wide range of browsers, devices or operating systems. This is achieved by using fluid layouts to ensure the presentation of content is tailored to suit the size of the screen. This means you can start a course on your laptop and finish it later on your mobile or tablet. We call it Adapt",
- "transcriptLinkButton": "Transcript",
- "transcriptLink": ""
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-45",
- "_parentId": "b-35",
- "_type": "component",
- "_component": "accordion",
- "_classes": "",
- "_layout": "full",
- "title": "Accordion",
- "displayTitle": "Accordion",
- "body": "You can use the Accordion component to present learners with a series of headings which, once selected, expand to reveal associated text. Select each of the headings below to find out more about how accordions can be used. These components can be either single or spanned. If spanned they can also contain a graphic.",
- "instruction": "Select the headings to find out more.",
- "_items": [
- {
- "title": "Lists",
- "body": "This is display text 1 and we’re using it to discuss lists. If you need to present a list that can stand alone as a piece of content, but which can also be explored in more detail, accordions are a great choice.",
- "_classes": "align-image-left",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": ""
- }
- },
- {
- "title": "Steps in a process",
- "body": "This is display text 2 and now we’re discussing how accordions can be great at presenting a process. The headings can be used to present the high-level stages in the process, which once selected, provide a more extensive explanation of what happens at that specific point.",
- "_classes": "align-image-right",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": ""
- }
- },
- {
- "title": "Recaps",
- "body": "This is display text 3 and we’re now talking about using accordions to provide the learner with a summary. Each accordion item corresponds to a key piece of learning presented on the page. When this item is selected a short summary of the learning point is provided.",
- "_graphic": {
- "src": "course/en/images/accordion-full.png",
- "alt": ""
- }
- }
- ],
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-60",
- "_parentId": "b-40",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": true,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 1,
- "title": "Multiple Choice Question",
- "displayTitle": "Multiple Choice Question",
- "body": "In what year was the first recorded instance of a large scale assessment that consists solely of multiple choice questions?",
- "instruction": "Choose one option and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "1917",
- "_shouldBeSelected": true
- },
- {
- "text": "1888",
- "_shouldBeSelected": false
- },
- {
- "text": "1953",
- "_shouldBeSelected": false
- },
- {
- "text": "1977",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "Feedback",
- "correct": "Correct feedback text. That’s correct. The first large assessment to consist solely of the multiple choice question type was the Army Alpha test, used from 1917 to evaluate U.S. military recruits in the First World War. Source: Wikipedia Component facts: Multiple Choice Questions (or MCQs) are a tried and tested method for presenting learners with a simple text-based question. Component is either single or spanned. ",
- "_incorrect": {
- "final": "Incorrect feedback text. That’s not right. The first large assessment to consist solely of the multiple choice question type was the Army Alpha test, used from 1917 to evaluate U.S. military recruits in the First World War. Source: Wikipedia Component facts: Multiple Choice Questions (or MCQs) are a tried and tested method for presenting learners with a simple text-based question. Component is either single or spanned. "
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-62",
- "_parentId": "b-40",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-62",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-65",
- "_parentId": "b-45",
- "_type": "component",
- "_component": "gmcq",
- "_classes": "",
- "_layout": "full",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": true,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 1,
- "title": "Graphical Multiple Choice Question",
- "displayTitle": "Graphical Multiple Choice Question",
- "body": "The Graphical Multiple Choice Question is an alternative to the standard MCQ , and allows you to ask a question and present the options as graphics (with accompanying captions). This component is always spanned.",
- "instruction": "Choose option 2 and select Submit.",
- "ariaQuestion": "",
- "_columns": 3,
- "_items": [
- {
- "text": "Option 1",
- "_shouldBeSelected": false,
- "_graphic": {
- "large": "course/en/images/gmcq.png",
- "small": "course/en/images/gmcq.png",
- "alt": "alt text"
- }
- },
- {
- "text": "Option 2",
- "_shouldBeSelected": true,
- "_graphic": {
- "large": "course/en/images/gmcq.png",
- "small": "course/en/images/gmcq.png",
- "alt": "alt text"
- }
- },
- {
- "text": "Option 3",
- "_shouldBeSelected": false,
- "_graphic": {
- "large": "course/en/images/gmcq.png",
- "small": "course/en/images/gmcq.png",
- "alt": "alt text"
- }
- }
- ],
- "_feedback": {
- "title": "Feedback",
- "correct": "Correct feedback text. That’s correct. Option 2 is what we were looking for!",
- "_incorrect": {
- "final": "Incorrect feedback text. Sorry, that’s not right. In fact Option 2 is what we were looking for (the clue was in the instruction text!)."
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-70",
- "_parentId": "b-50",
- "_type": "component",
- "_component": "textinput",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": true,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_allowsAnyCase": true,
- "_allowsPunctuation": true,
- "title": "Text Input",
- "displayTitle": "Text Input",
- "body": "Can you name one of the three companies that established Adapt as a community-led open source project?",
- "instruction": "Input your answer and select Submit.",
- "ariaQuestion": "",
- "_answers": [
- ["City & Guilds Kineo", "Kineo"],
- ["Learning Pool"],
- ["Sponge"]
- ],
- "_items": [
- {
- "prefix": "",
- "placeholder": "Enter answer here",
- "suffix": ""
- }
- ],
- "_feedback": {
- "title": "Feedback",
- "correct": "Correct answer feedback. That’s correct. The Adapt open source project was established by Kineo, Learning Pool and Sponge. At the time of writing, there were a total of nine official collaborators .Component facts: Text input components let learners enter their own answers, which is great for questions that require a bit more flexibility, like those with answers that could be written as both full words and numbers. ",
- "_partlyCorrect": {
- "final": "Partially correct answer feedback. That’s partially correct. The Adapt open source project was established by Kineo, Learning Pool and Sponge. At the time of writing, there were a total of nine official collaborators .Component facts: Text input components let learners enter their own answers, which is great for questions that require a bit more flexibility, like those with answers that could be written as both full words and numbers. "
- },
- "_incorrect": {
- "final": "Incorrect answer feedback. Sorry, that’s not right. The Adapt open source project was established by Kineo, Learning Pool and Sponge. At the time of writing, there were a total of nine official collaborators .Component facts: Text input components let learners enter their own answers, which is great for questions that require a bit more flexibility, like those with answers that could be written as both full words and numbers. "
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-72",
- "_parentId": "b-50",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-72",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-75",
- "_parentId": "b-55",
- "_type": "component",
- "_component": "matching",
- "_classes": "",
- "_layout": "full",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": true,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "title": "Matching",
- "displayTitle": "Matching",
- "body": "Can you identify some of the key facts and figures associated with the Adapt Open Source project?",
- "instruction": "Choose an option from each dropdown list and select Submit.",
- "ariaQuestion": "",
- "placeholder": "Select an option",
- "_items": [
- {
- "text": "The Adapt Open Source project was formed in:",
- "_options": [
- {
- "text": "2008",
- "_isCorrect": false
- },
- {
- "text": "2010",
- "_isCorrect": false
- },
- {
- "text": "2013",
- "_isCorrect": true
- },
- {
- "text": "2015",
- "_isCorrect": false
- }
- ]
- },
- {
- "text": "Adapt adheres to level 'AA' of the WCAG version 2, but when were these published?",
- "_options": [
- {
- "text": "2008",
- "_isCorrect": true
- },
- {
- "text": "2010",
- "_isCorrect": false
- },
- {
- "text": "2013",
- "_isCorrect": false
- },
- {
- "text": "2015",
- "_isCorrect": false
- }
- ]
- },
- {
- "text": "Which of these languages would benefit from using the recent addition of Right To Left (RTL) language support within Adapt?",
- "_options": [
- {
- "text": "Portuguese",
- "_isCorrect": false
- },
- {
- "text": "Hebrew",
- "_isCorrect": true
- },
- {
- "text": "Finnish",
- "_isCorrect": false
- },
- {
- "text": "Esperanto",
- "_isCorrect": false
- }
- ]
- }
- ],
- "_feedback": {
- "title": "Feedback",
- "correct": "Correct answer feedback. Yes, that’s right. Adapt was established as an Open Source project in 2013. The Web Accessibility Initiative (WAI) published the WCAG 2.0 guidelines in 2008 and Hebrew is the only language of the four shown which reads right to left.Component facts: The Matching component lets you match a series of questions or statements with the corresponding options from the dropdown box. Component is either single or spanned. ",
- "_partlyCorrect": {
- "final": "Partially correct answer feedback. That’s partially correct. Adapt was established as an Open Source project in 2013. The Web Accessibility Initiative (WAI) published the WCAG 2.0 guidelines in 2008 and Hebrew is the only language of the four shown which reads right to left.Component facts: The Matching component lets you match a series of questions or statements with the corresponding options from the dropdown box. Component is either single or spanned. "
- },
- "_incorrect": {
- "final": "Incorrect answer feedback. Sorry, that’s not right. Adapt was established as an Open Source project in 2013. The Web Accessibility Initiative (WAI) published the WCAG 2.0 guidelines in 2008 and Hebrew is the only language of the four shown which reads right to left.Component facts: The Matching component lets you match a series of questions or statements with the corresponding options from the dropdown box. Component is either single or spanned. "
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-80",
- "_parentId": "b-60",
- "_type": "component",
- "_component": "slider",
- "_classes": "",
- "_layout": "full",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": true,
- "_shouldDisplayAttempts": false,
- "_showNumber": true,
- "_showScaleIndicator": true,
- "_scaleStart": 1,
- "_scaleEnd": 10,
- "title": "Slider",
- "displayTitle": "Slider",
- "body": "Working memory is thought to be responsible for our ability to temporarily hold and manipulate information, but according to a paper by Miller (1956) what ‘magic number’ describes its capacity?",
- "instruction": "Drag the slider to make your choice and select Submit.",
- "ariaQuestion": "",
- "labelStart": "",
- "labelEnd": "",
- "_correctAnswer": "",
- "_correctRange": {
- "_bottom": 5,
- "_top": 9
- },
- "_feedback": {
- "title": "Feedback",
- "correct": "Correct answer feedback. Yes, that’s right. According to Miller’s paper 7 +/- 2 chunks of information was the limited capacity of working memory. Various theories from the field of cognitive psychology such as Miller’s magical number , chunking , the forgetting curve and spaced repetition have all influenced learning theory over the last 50 years or so.Component facts: The correct answer for a Slider component can be an exact number or a range. In this instance we have set the correct answer to a range of 5-9 due to the correct answer being seven plus or minus two. Component is either single or spanned. ",
- "_incorrect": {
- "final": "Incorrect answer feedback. Sorry, that’s not right. According to Miller’s paper 7 +/- 2 chunks of information was the limited capacity of working memory. Various theories from the field of cognitive psychology such as Miller’s magical number , chunking , the forgetting curve and spaced repetition have all influenced learning theory over the last 50 years or so.Component facts: The correct answer for a Slider component can be an exact number or a range. In this instance we have set the correct answer to a range of 5-9 due to the correct answer being seven plus or minus two. Component is either single or spanned. "
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": true
- }
- },
- {
- "_id": "c-90",
- "_parentId": "b-65",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": false,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 4,
- "title": "To scroll or not to scroll?",
- "displayTitle": "To scroll or not to scroll?",
- "body": "Can you identify a few of the benefits that a vertical scrolling approach offers over the traditional back and next approach?",
- "instruction": "Choose one or more options and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "Scrolling is common place on the web and therefore familiar to the learner",
- "_shouldBeSelected": true
- },
- {
- "text": "Scrolling reduces the need for unnecessary navigation as pages can be as long (or as short) as they need to be",
- "_shouldBeSelected": true
- },
- {
- "text": "Scrolling helps ensure designs are more mobile friendly",
- "_shouldBeSelected": true
- },
- {
- "text": "Scrolling means you no longer need to first gain learners attention",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "",
- "correct": "",
- "_partlyCorrect": {
- "final": ""
- },
- "_incorrect": {
- "final": ""
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-95",
- "_parentId": "b-65",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-95",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-100",
- "_parentId": "b-75",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": false,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 5,
- "title": "Do you know your plugins?",
- "displayTitle": "Do you know your plugins?",
- "body": "Which of the following are types of Adapt plugins?",
- "instruction": "Choose one or more options and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "Component",
- "_shouldBeSelected": true
- },
- {
- "text": "Extension",
- "_shouldBeSelected": true
- },
- {
- "text": "Schema",
- "_shouldBeSelected": false
- },
- {
- "text": "Block",
- "_shouldBeSelected": false
- },
- {
- "text": "App Wrapper",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "",
- "correct": "",
- "_partlyCorrect": {
- "final": ""
- },
- "_incorrect": {
- "final": ""
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-105",
- "_parentId": "b-75",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-105",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-110",
- "_parentId": "b-80",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": false,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 1,
- "title": "It’s as simple as A, B, C",
- "displayTitle": "It’s as simple as A, B, C",
- "body": "Can you identify the missing word in the following sequence? Article / ..... / Component.",
- "instruction": "Choose an option and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "Block",
- "_shouldBeSelected": true
- },
- {
- "text": "Bridge",
- "_shouldBeSelected": false
- },
- {
- "text": "Brace",
- "_shouldBeSelected": false
- },
- {
- "text": "Base",
- "_shouldBeSelected": false
- },
- {
- "text": "Bearing",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "",
- "correct": "",
- "_incorrect": {
- "final": ""
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-115",
- "_parentId": "b-80",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-115",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-120",
- "_parentId": "b-85",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": false,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 4,
- "title": "Content Objects",
- "displayTitle": "Content Objects",
- "body": "What would you be referring to when describing a Content Object within Adapt?",
- "instruction": "Choose one or more options and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "Page",
- "_shouldBeSelected": true
- },
- {
- "text": "Menu",
- "_shouldBeSelected": true
- },
- {
- "text": "Component",
- "_shouldBeSelected": false
- },
- {
- "text": "Course configuration options",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "",
- "correct": "",
- "_partlyCorrect": {
- "final": ""
- },
- "_incorrect": {
- "final": ""
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-125",
- "_parentId": "b-85",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-95",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-130",
- "_parentId": "b-90",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": false,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 1,
- "title": "Adding titles to icons",
- "displayTitle": "Adding titles to icons",
- "body": "What JSON file would you need to edit in order to add a title to an icon in the navigation bar?",
- "instruction": "Choose an option and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "course.json",
- "_shouldBeSelected": true
- },
- {
- "text": "config.json",
- "_shouldBeSelected": false
- },
- {
- "text": "contentObjects.json",
- "_shouldBeSelected": false
- },
- {
- "text": "components.json",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "",
- "correct": "",
- "_incorrect": {
- "final": ""
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-135",
- "_parentId": "b-90",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-95",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-140",
- "_parentId": "b-95",
- "_type": "component",
- "_component": "mcq",
- "_classes": "",
- "_layout": "left",
- "_attempts": 1,
- "_questionWeight": 1,
- "_canShowModelAnswer": false,
- "_shouldDisplayAttempts": false,
- "_isRandom": true,
- "_selectable": 4,
- "title": "Control the scroll",
- "displayTitle": "Control the scroll",
- "body": "The Trickle extension makes it possible to control how the learner scrolls down the page, but what elements of a page can it be applied to?",
- "instruction": "Choose an option and select Submit.",
- "ariaQuestion": "",
- "_items": [
- {
- "text": "Article",
- "_shouldBeSelected": true
- },
- {
- "text": "Block",
- "_shouldBeSelected": true
- },
- {
- "text": "Component",
- "_shouldBeSelected": false
- },
- {
- "text": "Other extensions",
- "_shouldBeSelected": false
- }
- ],
- "_feedback": {
- "title": "",
- "correct": "",
- "_partlyCorrect": {
- "final": ""
- },
- "_incorrect": {
- "final": ""
- }
- },
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-145",
- "_parentId": "b-95",
- "_type": "component",
- "_component": "graphic",
- "_classes": "",
- "_layout": "right",
- "_isOptional": true,
- "title": "c-95",
- "displayTitle": "",
- "body": "",
- "instruction": "",
- "_graphic": {
- "src": "course/en/images/single-width.png",
- "alt": "",
- "attribution": ""
- }
- },
- {
- "_id": "c-147",
- "_parentId": "b-100",
- "_type": "component",
- "_component": "text",
- "_classes": "",
- "_layout": "full",
- "title": "Scoring bands",
- "displayTitle": "",
- "body": "The Assessment Results component allows you to specify the assessment pass mark, and provide tailored feedback to as many scoring bands as you wish. In this short assessment we set the pass mark at 75% or above and provided four scoring bands, each of which has some accompanying feedback. The four scoring bands were:0-49% (fail) 50-74% (fail) 75-99% (pass) 100% (perfect score) So, how did you do? Let’s find out.",
- "_canReset": true,
- "_isResetOnRevisit": "hard",
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "c-150",
- "_parentId": "b-105",
- "_type": "component",
- "_component": "assessmentResults",
- "_classes": "",
- "_layout": "full",
- "_isVisibleBeforeCompletion": false,
- "_assessmentId": "a-15",
- "title": "Results",
- "displayTitle": "Results",
- "body": "",
- "instruction": "",
- "_retry": {
- "button": "Retry Assessment",
- "_comment": "use {{attempts}}, {{attemptsSpent}} and {{attemptsLeft}} to display attempts",
- "feedback": ""
- },
- "_comment": "use {{score}}, {{maxScore}} and {{scoreAsPercent}} to display score and percentage",
- "_completionBody": "{{{feedback}}}",
- "_bands": [
- {
- "_score": 0,
- "feedback": "You didn’t pass, achieving a score of {{scoreAsPercent}}%. You didn’t do so well in the Adapt assessment demo, but don’t worry. There’s lots of information about the Adapt basics on our site . We’d also suggest you pay a visit to the forum or chat room and ask our ever-helpful community to answer any questions that you might have.",
- "_allowRetry": true
- },
- {
- "_score": 50,
- "feedback": "You didn’t pass, achieving a score of {{scoreAsPercent}}%. You already know some of the Adapt basics but please explore our site for more information. Also pay a visit to the forum or chat room and ask our ever-helpful community to answer any questions that you might have.",
- "_allowRetry": true
- },
- {
- "_score": 75,
- "feedback": "You passed, achieving a score of {{scoreAsPercent}}%. You’re clearly already pretty knowledgeable about Adapt so, if you haven’t already, please consider sharing your expertise on the Adapt community forums .",
- "_allowRetry": true
- },
- {
- "_score": 100,
- "feedback": "You passed, achieving a score of {{scoreAsPercent}}%. You’re clearly already a black belt in Adapt! If you haven’t already, please consider sharing your expertise on the Adapt community forums .",
- "_allowRetry": false
- }
- ],
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_isCompletionIndicatorEnabled": false
- }
- }
-]
diff --git a/src/course/en/contentObjects.json b/src/course/en/contentObjects.json
deleted file mode 100755
index 0501c5180..000000000
--- a/src/course/en/contentObjects.json
+++ /dev/null
@@ -1,74 +0,0 @@
-[
- {
- "_id": "co-05",
- "_parentId": "course",
- "_type": "page",
- "_classes": "",
- "_htmlClasses": "",
- "title": "Presentation Components",
- "displayTitle": "Presentation Components",
- "body": "Find out what presentation components are available within the core bundle and how you might consider using them within your courses.",
- "pageBody": "",
- "instruction": "Scroll down to see what presentation components are available as part of the v5 core bundle.",
- "_graphic": {
- "src": "course/en/images/menu-item.png",
- "alt": ""
- },
- "linkText": "View",
- "duration": "2 mins",
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_showPageCompletion": false,
- "_excludeAssessments": false,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "co-10",
- "_parentId": "course",
- "_type": "page",
- "_classes": "",
- "_htmlClasses": "",
- "title": "Question Components",
- "displayTitle": "Question Components",
- "body": "Discover what question components are available within the framework, along with some tips on how to use them.",
- "pageBody": "Without a range of question components, we can’t easily measure if learners are meeting the intended course objectives, provide guidance and feedback if they’re not, or give them opportunities to practise in a ‘safe environment’. Discover what question components are available within the framework, along with some tips on how to use them.",
- "instruction": "Scroll down to see what question components are available as part of the v5 core bundle.",
- "_graphic": {
- "src": "course/en/images/menu-item.png",
- "alt": ""
- },
- "linkText": "View",
- "duration": "2 mins",
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_showPageCompletion": false,
- "_excludeAssessments": false,
- "_isCompletionIndicatorEnabled": false
- }
- },
- {
- "_id": "co-15",
- "_parentId": "course",
- "_type": "page",
- "_classes": "assessment",
- "_htmlClasses": "",
- "title": "Adapt Assessment",
- "displayTitle": "Adapt Assessment",
- "body": "Find out more about the assessment functionality introduced in Adapt v2, including randomised banks and an improved results feature.",
- "pageBody": "We’ve put together a very short quiz to demonstrate the new assessment functionality. In this simple example there are two banks that each contain three questions with two being taken from each bank at random. The order in which the questions are presented is then also randomised, as is the order of each question’s options.",
- "instruction": "Think you can get a perfect score? Scroll down to attempt the first question.",
- "_graphic": {
- "src": "course/en/images/menu-item.png",
- "alt": ""
- },
- "linkText": "View",
- "duration": "2 mins",
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_showPageCompletion": false,
- "_excludeAssessments": false,
- "_isCompletionIndicatorEnabled": false
- }
- }
-]
diff --git a/src/course/en/course.json b/src/course/en/course.json
deleted file mode 100755
index 57badfefc..000000000
--- a/src/course/en/course.json
+++ /dev/null
@@ -1,169 +0,0 @@
-{
- "_id": "course",
- "_type": "course",
- "_classes": "",
- "_htmlClasses": "",
- "title": "Adapt v5",
- "displayTitle": "Adapt Version 5",
- "description": "A sample course demonstrating the capabilities of the Adapt Framework",
- "body": "Welcome to the demonstration build for version 5 of the Adapt framework.",
- "instruction": "",
- "_buttons": {
- "_submit": {
- "buttonText": "Submit",
- "ariaLabel": "Submit"
- },
- "_reset": {
- "buttonText": "Reset",
- "ariaLabel": "Reset"
- },
- "_showCorrectAnswer": {
- "buttonText": "Show correct answer",
- "ariaLabel": "Show correct answer"
- },
- "_hideCorrectAnswer": {
- "buttonText": "Show your answer",
- "ariaLabel": "Show your answer"
- },
- "_showFeedback": {
- "buttonText": "Show feedback",
- "ariaLabel": "Show feedback"
- },
- "remainingAttemptsText": "attempts remaining",
- "remainingAttemptText": "final attempt",
- "disabledAriaLabel": "This button is disabled at the moment"
- },
- "_globals": {
- "_learnerInfo": {
- "id": "student.name@example.org",
- "name": "Name, Student",
- "firstname": "Student",
- "lastname": "Name"
- },
- "_accessibility": {
- "skipNavigationText": "Skip navigation",
- "_ariaLabels": {
- "answeredIncorrectly": "You answered incorrectly",
- "answeredCorrectly": "You answered correctly",
- "selectedAnswer": "selected",
- "unselectedAnswer": "not selected",
- "skipNavigation": "Skip Navigation",
- "previous": "Back",
- "navigationDrawer": "Open course resources.",
- "close": "Close",
- "closeDrawer": "Close drawer",
- "closeResources": "Close resources",
- "drawer": "Top of side drawer",
- "closePopup": "Close popup",
- "next": "Next",
- "done": "Done",
- "complete": "Completed",
- "incomplete": "Incomplete",
- "incorrect": "Incorrect",
- "correct": "Correct",
- "locked": "Locked",
- "visited": "Visited"
- }
- },
- "_extensions": {
- "_drawer": {
- "_navOrder": 100
- },
- "_navigation": {
- "_skipButton": {
- "_navOrder": -100
- },
- "_backButton": {
- "_navOrder": 0
- },
- "_spacers": [
- {
- "_navOrder": 0
- }
- ]
- }
- }
- },
- "_latestTrackingId": 19,
- "_pageLevelProgress": {
- "_isEnabled": true,
- "_showPageCompletion": false,
- "_isCompletionIndicatorEnabled": false,
- "_isShownInNavigationBar": true
- },
- "_resources": {
- "_isEnabled": true,
- "title": "Resources",
- "description": "View resources for this course by clicking here.",
- "_filterButtons": {
- "all": "All",
- "document": "Document",
- "media": "Media",
- "link": "Link"
- },
- "_filterAria": {
- "allAria": "View all resources",
- "documentAria": "View document resources",
- "mediaAria": "View media resources",
- "linkAria": "View resource links"
- },
- "_resourcesItems": [
- {
- "_type": "document",
- "title": "Vanilla Theme Swatch",
- "description": "See the swatch for the vanilla theme by clicking here.",
- "_link": "course/en/images/vanilla-swatch.jpg"
- },
- {
- "_type": "media",
- "title": "Adapt Learning YouTube Channel",
- "description": "Fancy catching up on some Adapt material? Click here.",
- "_link": "https://www.youtube.com/channel/UCW8SlSFuCc--B66Gf9fAEcQ"
- },
- {
- "_type": "link",
- "title": "Adapt Project Site",
- "description": "View the project's web site by clicking here.",
- "_link": "https://www.adaptlearning.org/"
- },
- {
- "_type": "link",
- "title": "Framework chat",
- "description": "Join the framework chat room by clicking here.",
- "_link": "https://gitter.im/adaptlearning/adapt_framework"
- }
- ]
- },
- "_start": {
- "_isEnabled": false,
- "_startIds": [
- {
- "_id": "co-05",
- "_skipIfComplete": true,
- "_className": ""
- }
- ],
- "_force": false,
- "_isMenuDisabled": false
- },
- "_assessment": {
- "_isPercentageBased": true,
- "_scoreToPass": 75,
- "_correctToPass": 75
- },
- "_bookmarking": {
- "_isEnabled": true,
- "_level": "component",
- "title": "Resume?",
- "body": "Would you like to resume the course from the location you were at last time?",
- "_buttons": {
- "yes": "Yes",
- "no": "No"
- }
- },
- "_vanilla": {
- "_favIcon": {
- "_src": ""
- }
- }
-}
diff --git a/src/course/en/images/accordion-full.png b/src/course/en/images/accordion-full.png
deleted file mode 100644
index a42f47e8f..000000000
Binary files a/src/course/en/images/accordion-full.png and /dev/null differ
diff --git a/src/course/en/images/full-width.png b/src/course/en/images/full-width.png
deleted file mode 100644
index 123eb64e5..000000000
Binary files a/src/course/en/images/full-width.png and /dev/null differ
diff --git a/src/course/en/images/gmcq.png b/src/course/en/images/gmcq.png
deleted file mode 100644
index f39355a58..000000000
Binary files a/src/course/en/images/gmcq.png and /dev/null differ
diff --git a/src/course/en/images/hotgraphic.png b/src/course/en/images/hotgraphic.png
deleted file mode 100644
index 0461acf25..000000000
Binary files a/src/course/en/images/hotgraphic.png and /dev/null differ
diff --git a/src/course/en/images/menu-item.png b/src/course/en/images/menu-item.png
deleted file mode 100644
index c77ac9984..000000000
Binary files a/src/course/en/images/menu-item.png and /dev/null differ
diff --git a/src/course/en/images/narrative.png b/src/course/en/images/narrative.png
deleted file mode 100644
index 6c0ce55a4..000000000
Binary files a/src/course/en/images/narrative.png and /dev/null differ
diff --git a/src/course/en/images/single-width.png b/src/course/en/images/single-width.png
deleted file mode 100644
index 3bcb144ea..000000000
Binary files a/src/course/en/images/single-width.png and /dev/null differ
diff --git a/src/course/en/images/vanilla-swatch.jpg b/src/course/en/images/vanilla-swatch.jpg
deleted file mode 100644
index 0eedf0d9c..000000000
Binary files a/src/course/en/images/vanilla-swatch.jpg and /dev/null differ
diff --git a/src/course/en/video/c-40.jpg b/src/course/en/video/c-40.jpg
deleted file mode 100644
index 74bdda4f1..000000000
Binary files a/src/course/en/video/c-40.jpg and /dev/null differ
diff --git a/src/course/en/video/c-40.mp4 b/src/course/en/video/c-40.mp4
deleted file mode 100644
index f6936f43b..000000000
Binary files a/src/course/en/video/c-40.mp4 and /dev/null differ
diff --git a/src/course/en/video/c-40.vtt b/src/course/en/video/c-40.vtt
deleted file mode 100644
index cb225d1ea..000000000
--- a/src/course/en/video/c-40.vtt
+++ /dev/null
@@ -1,25 +0,0 @@
-WEBVTT
-
-00:00:01.101 --> 00:00:03.684
-Responsive design means you can create a course once
-
-00:00:03.709 --> 00:00:07.024
-but view it on a wide range of browsers, devices or operating systems.
-
-00:00:07.100 --> 00:00:08.838
-This is achieved by using fluid layouts
-
-00:00:08.863 --> 00:00:11.166
-to ensure the presentation of content
-
-00:00:11.193 --> 00:00:13.371
-is tailored to suit the size of the screen.
-
-00:00:14.180 --> 00:00:16.314
-This means you can start a course on your laptop
-
-00:00:16.339 --> 00:00:20.000
-and finish it later on your mobile or tablet.
-
-00:00:20.210 --> 00:00:25.000
-We call it Adapt
\ No newline at end of file
diff --git a/yarn-error.log b/yarn-error.log
index ea12e051d..b5a4e81dd 100644
--- a/yarn-error.log
+++ b/yarn-error.log
@@ -14,7 +14,7 @@ Platform:
darwin x64
Trace:
- SyntaxError: /Users/eleanorheath/Desktop/Adapt/adapt_framework/package.json: Unexpected token < in JSON at position 352
+ SyntaxError: /Users/eleanorheath/Desktop/Adapt/adapt_framework/package.json: Unexpected token < in JSON at position 2854
at JSON.parse ()
at /usr/local/lib/node_modules/yarn/lib/cli.js:1629:59
at Generator.next ()
@@ -33,12 +33,8 @@ npm manifest:
"scripts": {
"preinstall": "node gitmodules.js",
"lint": "node node_modules/eslint/bin/eslint.js ./",
- <<<<<<< HEAD
"test": "jest",
"clearjest": "jest --clearCache"
- =======
- "test": "node ./test.js"
- >>>>>>> 3d7d5b64d83f9ae5b59bb5bf1026e83d104458ae
},
"license": "GPL-3.0",
"bugs": {