From 8f87cda24d36dcda869b9d9cd2a96c2852b9f98b Mon Sep 17 00:00:00 2001 From: Arkadii Ivanov Date: Thu, 17 Jun 2021 07:57:06 +0100 Subject: [PATCH] Add web app for the TodoApp example (#778) * Prepare the TodoApp example for adding the JavaScript app * Add the JavaScript app for the TodoApp example * TodoApp. Update Compose to 0.5.0-build225. --- .../java/example/todo/android/MainActivity.kt | 4 +- .../buildSrc/buildSrc/src/main/kotlin/Deps.kt | 6 +- .../kotlin/multiplatform-setup.gradle.kts | 9 + .../example/todo/common/ui/TodoMainUi.kt | 2 + .../todoapp/common/database/build.gradle.kts | 6 + .../database/TestDatabaseDriverFactory.kt | 13 -- .../database/DefaultTodoSharedDatabase.kt | 91 +++++++++ .../todo/common/database/ReaktiveExt.kt | 28 --- .../database/TestDatabaseDriverFactory.kt | 6 - .../common/database/TestTodoSharedDatabase.kt | 105 ++++++++++ .../common/database/TodoSharedDatabase.kt | 22 ++ .../database/TestDatabaseDriverFactory.kt | 13 -- .../database/TestDatabaseDriverFactory.kt | 26 --- .../database/TodoDatabaseDriverFactory.kt | 10 + .../edit/integration/TodoEditComponent.kt | 6 +- .../edit/integration/TodoEditStoreDatabase.kt | 23 +-- .../main/integration/TodoMainComponent.kt | 6 +- .../main/integration/TodoMainStoreDatabase.kt | 23 +-- .../common/main/integration/TodoMainTest.kt | 45 ++--- .../root/integration/TodoRootComponent.kt | 4 +- .../kotlin/example/todo/desktop/Main.kt | 4 +- examples/todoapp/ios/ios/ContentView.swift | 2 +- examples/todoapp/settings.gradle.kts | 3 +- examples/todoapp/web/build.gradle.kts | 34 ++++ .../src/jsMain/kotlin/example/todo/web/App.kt | 35 ++++ .../kotlin/example/todo/web/Components.kt | 174 ++++++++++++++++ .../kotlin/example/todo/web/Crossfade.kt | 115 +++++++++++ .../kotlin/example/todo/web/TodoEditUi.kt | 96 +++++++++ .../kotlin/example/todo/web/TodoMainUi.kt | 189 ++++++++++++++++++ .../kotlin/example/todo/web/TodoRootUi.kt | 54 +++++ .../kotlin/example/todo/web/ValueExt.kt | 26 +++ .../resources/MaterialIcons-Regular.ttf | Bin 0 -> 285724 bytes .../web/src/jsMain/resources/index.html | 30 +++ .../src/jsMain/resources/materialize.min.css | 13 ++ .../src/jsMain/resources/materialize.min.js | 6 + .../web/src/jsMain/resources/styles.css | 34 ++++ examples/todoapp/web/webpack.config.d/fs.js | 9 + examples/todoapp/web/webpack.config.d/wasm.js | 12 ++ 38 files changed, 1124 insertions(+), 160 deletions(-) delete mode 100644 examples/todoapp/common/database/src/androidMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt create mode 100644 examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/DefaultTodoSharedDatabase.kt delete mode 100644 examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/ReaktiveExt.kt delete mode 100644 examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt create mode 100644 examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestTodoSharedDatabase.kt create mode 100644 examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TodoSharedDatabase.kt delete mode 100644 examples/todoapp/common/database/src/desktopMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt delete mode 100644 examples/todoapp/common/database/src/iosMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt create mode 100644 examples/todoapp/common/database/src/jsMain/kotlin/example/todo/common/database/TodoDatabaseDriverFactory.kt create mode 100755 examples/todoapp/web/build.gradle.kts create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/App.kt create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Components.kt create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Crossfade.kt create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoEditUi.kt create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoMainUi.kt create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoRootUi.kt create mode 100644 examples/todoapp/web/src/jsMain/kotlin/example/todo/web/ValueExt.kt create mode 100644 examples/todoapp/web/src/jsMain/resources/MaterialIcons-Regular.ttf create mode 100644 examples/todoapp/web/src/jsMain/resources/index.html create mode 100644 examples/todoapp/web/src/jsMain/resources/materialize.min.css create mode 100644 examples/todoapp/web/src/jsMain/resources/materialize.min.js create mode 100644 examples/todoapp/web/src/jsMain/resources/styles.css create mode 100644 examples/todoapp/web/webpack.config.d/fs.js create mode 100644 examples/todoapp/web/webpack.config.d/wasm.js diff --git a/examples/todoapp/android/src/main/java/example/todo/android/MainActivity.kt b/examples/todoapp/android/src/main/java/example/todo/android/MainActivity.kt index 7845540d8c..3c06a1fc99 100755 --- a/examples/todoapp/android/src/main/java/example/todo/android/MainActivity.kt +++ b/examples/todoapp/android/src/main/java/example/todo/android/MainActivity.kt @@ -10,11 +10,11 @@ import com.arkivanov.decompose.extensions.compose.jetbrains.rememberRootComponen import com.arkivanov.mvikotlin.logging.store.LoggingStoreFactory import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory import com.arkivanov.mvikotlin.timetravel.store.TimeTravelStoreFactory +import example.todo.common.database.DefaultTodoSharedDatabase import example.todo.common.database.TodoDatabaseDriver import example.todo.common.root.TodoRoot import example.todo.common.root.integration.TodoRootComponent import example.todo.common.ui.TodoRootContent -import example.todo.database.TodoDatabase class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -33,6 +33,6 @@ class MainActivity : AppCompatActivity() { TodoRootComponent( componentContext = componentContext, storeFactory = LoggingStoreFactory(TimeTravelStoreFactory(DefaultStoreFactory)), - database = TodoDatabase(TodoDatabaseDriver(context = this)) + database = DefaultTodoSharedDatabase(TodoDatabaseDriver(context = this)) ) } diff --git a/examples/todoapp/buildSrc/buildSrc/src/main/kotlin/Deps.kt b/examples/todoapp/buildSrc/buildSrc/src/main/kotlin/Deps.kt index 4d14984b7c..39e1dcfb93 100644 --- a/examples/todoapp/buildSrc/buildSrc/src/main/kotlin/Deps.kt +++ b/examples/todoapp/buildSrc/buildSrc/src/main/kotlin/Deps.kt @@ -7,12 +7,13 @@ object Deps { const val gradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$VERSION" const val testCommon = "org.jetbrains.kotlin:kotlin-test-common:$VERSION" const val testJunit = "org.jetbrains.kotlin:kotlin-test-junit:$VERSION" + const val testJs = "org.jetbrains.kotlin:kotlin-test-js:$VERSION" const val testAnnotationsCommon = "org.jetbrains.kotlin:kotlin-test-annotations-common:$VERSION" } object Compose { // __LATEST_COMPOSE_RELEASE_VERSION__ - private const val VERSION = "0.4.0" + private const val VERSION = "0.5.0-build225" const val gradlePlugin = "org.jetbrains.compose:compose-gradle-plugin:$VERSION" } } @@ -37,7 +38,7 @@ object Deps { object ArkIvanov { object MVIKotlin { - private const val VERSION = "2.0.2" + private const val VERSION = "2.0.3" const val rx = "com.arkivanov.mvikotlin:rx:$VERSION" const val mvikotlin = "com.arkivanov.mvikotlin:mvikotlin:$VERSION" const val mvikotlinMain = "com.arkivanov.mvikotlin:mvikotlin-main:$VERSION" @@ -71,6 +72,7 @@ object Deps { const val androidDriver = "com.squareup.sqldelight:android-driver:$VERSION" const val sqliteDriver = "com.squareup.sqldelight:sqlite-driver:$VERSION" const val nativeDriver = "com.squareup.sqldelight:native-driver:$VERSION" + const val sqljsDriver = "com.squareup.sqldelight:sqljs-driver:$VERSION" } } } diff --git a/examples/todoapp/buildSrc/src/main/kotlin/multiplatform-setup.gradle.kts b/examples/todoapp/buildSrc/src/main/kotlin/multiplatform-setup.gradle.kts index b231618458..b1643f4029 100644 --- a/examples/todoapp/buildSrc/src/main/kotlin/multiplatform-setup.gradle.kts +++ b/examples/todoapp/buildSrc/src/main/kotlin/multiplatform-setup.gradle.kts @@ -8,6 +8,10 @@ kotlin { android() ios() + js(IR) { + browser() + } + sourceSets { named("commonTest") { dependencies { @@ -26,6 +30,11 @@ kotlin { implementation(Deps.JetBrains.Kotlin.testJunit) } } + named("jsTest") { + dependencies { + implementation(Deps.JetBrains.Kotlin.testJs) + } + } } tasks.withType { diff --git a/examples/todoapp/common/compose-ui/src/commonMain/kotlin/example/todo/common/ui/TodoMainUi.kt b/examples/todoapp/common/compose-ui/src/commonMain/kotlin/example/todo/common/ui/TodoMainUi.kt index e1548dcda7..aa5d464c0d 100644 --- a/examples/todoapp/common/compose-ui/src/commonMain/kotlin/example/todo/common/ui/TodoMainUi.kt +++ b/examples/todoapp/common/compose-ui/src/commonMain/kotlin/example/todo/common/ui/TodoMainUi.kt @@ -24,6 +24,7 @@ import androidx.compose.material.icons.filled.Delete import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment +import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.input.key.Key import androidx.compose.ui.input.key.onKeyEvent @@ -130,6 +131,7 @@ private fun Item( } } +@OptIn(ExperimentalComposeUiApi::class) @Composable private fun TodoInput( text: String, diff --git a/examples/todoapp/common/database/build.gradle.kts b/examples/todoapp/common/database/build.gradle.kts index 1709f8e934..1d0b66c4d4 100755 --- a/examples/todoapp/common/database/build.gradle.kts +++ b/examples/todoapp/common/database/build.gradle.kts @@ -36,5 +36,11 @@ kotlin { implementation(Deps.Squareup.SQLDelight.nativeDriver) } } + + jsMain { + dependencies { + implementation(Deps.Squareup.SQLDelight.sqljsDriver) + } + } } } diff --git a/examples/todoapp/common/database/src/androidMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt b/examples/todoapp/common/database/src/androidMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt deleted file mode 100644 index 4eab94f227..0000000000 --- a/examples/todoapp/common/database/src/androidMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt +++ /dev/null @@ -1,13 +0,0 @@ -package example.todo.common.database - -import com.squareup.sqldelight.db.SqlDriver -import com.squareup.sqldelight.sqlite.driver.JdbcSqliteDriver -import example.todo.database.TodoDatabase - -@Suppress("FunctionName") // FactoryFunction -actual fun TestDatabaseDriver(): SqlDriver { - val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY) - TodoDatabase.Schema.create(driver) - - return driver -} diff --git a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/DefaultTodoSharedDatabase.kt b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/DefaultTodoSharedDatabase.kt new file mode 100644 index 0000000000..08795a6b04 --- /dev/null +++ b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/DefaultTodoSharedDatabase.kt @@ -0,0 +1,91 @@ +package example.todo.common.database + +import com.badoo.reaktive.base.setCancellable +import com.badoo.reaktive.completable.Completable +import com.badoo.reaktive.maybe.Maybe +import com.badoo.reaktive.observable.Observable +import com.badoo.reaktive.observable.autoConnect +import com.badoo.reaktive.observable.firstOrError +import com.badoo.reaktive.observable.map +import com.badoo.reaktive.observable.observable +import com.badoo.reaktive.observable.observeOn +import com.badoo.reaktive.observable.replay +import com.badoo.reaktive.scheduler.ioScheduler +import com.badoo.reaktive.single.Single +import com.badoo.reaktive.single.asCompletable +import com.badoo.reaktive.single.asObservable +import com.badoo.reaktive.single.doOnBeforeSuccess +import com.badoo.reaktive.single.flatMapObservable +import com.badoo.reaktive.single.map +import com.badoo.reaktive.single.mapNotNull +import com.badoo.reaktive.single.observeOn +import com.badoo.reaktive.single.singleOf +import com.squareup.sqldelight.Query +import com.squareup.sqldelight.db.SqlDriver +import example.todo.database.TodoDatabase + +class DefaultTodoSharedDatabase(driver: Single) : TodoSharedDatabase { + + constructor(driver: SqlDriver) : this(singleOf(driver)) + + private val queries: Single = + driver + .map { TodoDatabase(it).todoDatabaseQueries } + .asObservable() + .replay() + .autoConnect() + .firstOrError() + + override fun observeAll(): Observable> = + query(TodoDatabaseQueries::selectAll) + .observe { it.executeAsList() } + + override fun select(id: Long): Maybe = + query { it.select(id = id) } + .mapNotNull { it.executeAsOneOrNull() } + + override fun add(text: String): Completable = + execute { it.add(text = text) } + + override fun setText(id: Long, text: String): Completable = + execute { it.setText(id = id, text = text) } + + override fun setDone(id: Long, isDone: Boolean): Completable = + execute { it.setDone(id = id, isDone = isDone) } + + override fun delete(id: Long): Completable = + execute { it.delete(id = id) } + + override fun clear(): Completable = + execute { it.clear() } + + private fun query(query: (TodoDatabaseQueries) -> Query): Single> = + queries + .observeOn(ioScheduler) + .map(query) + + private fun execute(query: (TodoDatabaseQueries) -> Unit): Completable = + queries + .observeOn(ioScheduler) + .doOnBeforeSuccess(query) + .asCompletable() + + private fun Single>.observe(get: (Query) -> R): Observable = + flatMapObservable { it.observed() } + .observeOn(ioScheduler) + .map(get) + + private fun Query.observed(): Observable> = + observable { emitter -> + val listener = + object : Query.Listener { + override fun queryResultsChanged() { + emitter.onNext(this@observed) + } + } + + emitter.onNext(this@observed) + addListener(listener) + emitter.setCancellable { removeListener(listener) } + } +} diff --git a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/ReaktiveExt.kt b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/ReaktiveExt.kt deleted file mode 100644 index 30dfadbf98..0000000000 --- a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/ReaktiveExt.kt +++ /dev/null @@ -1,28 +0,0 @@ -package example.todo.common.database - -import com.badoo.reaktive.base.setCancellable -import com.badoo.reaktive.observable.Observable -import com.badoo.reaktive.observable.map -import com.badoo.reaktive.observable.observable -import com.badoo.reaktive.observable.observeOn -import com.badoo.reaktive.scheduler.ioScheduler -import com.squareup.sqldelight.Query - -fun Query.asObservable(execute: (Query) -> R): Observable = - asObservable() - .observeOn(ioScheduler) - .map(execute) - -fun Query.asObservable(): Observable> = - observable { emitter -> - val listener = - object : Query.Listener { - override fun queryResultsChanged() { - emitter.onNext(this@asObservable) - } - } - - emitter.onNext(this@asObservable) - addListener(listener) - emitter.setCancellable { removeListener(listener) } - } diff --git a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt deleted file mode 100644 index 8181058503..0000000000 --- a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt +++ /dev/null @@ -1,6 +0,0 @@ -package example.todo.common.database - -import com.squareup.sqldelight.db.SqlDriver - -@Suppress("FunctionName") -expect fun TestDatabaseDriver(): SqlDriver diff --git a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestTodoSharedDatabase.kt b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestTodoSharedDatabase.kt new file mode 100644 index 0000000000..f6d4a76007 --- /dev/null +++ b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TestTodoSharedDatabase.kt @@ -0,0 +1,105 @@ +package example.todo.common.database + +import com.badoo.reaktive.base.invoke +import com.badoo.reaktive.completable.Completable +import com.badoo.reaktive.completable.completableFromFunction +import com.badoo.reaktive.completable.observeOn +import com.badoo.reaktive.maybe.Maybe +import com.badoo.reaktive.maybe.observeOn +import com.badoo.reaktive.observable.Observable +import com.badoo.reaktive.observable.map +import com.badoo.reaktive.observable.observeOn +import com.badoo.reaktive.scheduler.Scheduler +import com.badoo.reaktive.single.notNull +import com.badoo.reaktive.single.singleFromFunction +import com.badoo.reaktive.subject.behavior.BehaviorSubject + +// There were problems when using real database in JS tests, hence the in-memory test implementation +class TestTodoSharedDatabase( + private val scheduler: Scheduler +) : TodoSharedDatabase { + + private val itemsSubject = BehaviorSubject>(emptyMap()) + private val itemsObservable = itemsSubject.observeOn(scheduler) + val testing: Testing = Testing() + + override fun observeAll(): Observable> = + itemsObservable.map { it.values.toList() } + + override fun select(id: Long): Maybe = + singleFromFunction { testing.select(id = id) } + .notNull() + .observeOn(scheduler) + + override fun add(text: String): Completable = + execute { testing.add(text = text) } + + override fun setText(id: Long, text: String): Completable = + execute { testing.setText(id = id, text = text) } + + override fun setDone(id: Long, isDone: Boolean): Completable = + execute { testing.setDone(id = id, isDone = isDone) } + + override fun delete(id: Long): Completable = + execute { testing.delete(id = id) } + + override fun clear(): Completable = + execute { testing.clear() } + + private fun execute(block: () -> Unit): Completable = + completableFromFunction(block) + .observeOn(scheduler) + + inner class Testing { + fun select(id: Long): TodoItemEntity? = + itemsSubject.value[id] + + fun selectRequired(id: Long): TodoItemEntity = + requireNotNull(select(id = id)) + + fun add(text: String) { + updateItems { items -> + val nextId = items.keys.maxOrNull()?.plus(1L) ?: 1L + + val item = + TodoItemEntity( + id = nextId, + orderNum = items.size.toLong(), + text = text, + isDone = false + ) + + items + (nextId to item) + } + } + + fun setText(id: Long, text: String) { + updateItem(id = id) { it.copy(text = text) } + } + + fun setDone(id: Long, isDone: Boolean) { + updateItem(id = id) { it.copy(isDone = isDone) } + } + + fun delete(id: Long) { + updateItems { it - id } + } + + fun clear() { + updateItems { emptyMap() } + } + + fun getLastInsertId(): Long? = + itemsSubject.value.values.lastOrNull()?.id + + private fun updateItems(func: (Map) -> Map) { + itemsSubject(func(itemsSubject.value)) + } + + private fun updateItem(id: Long, func: (TodoItemEntity) -> TodoItemEntity) { + updateItems { + it + (id to it.getValue(id).let(func)) + } + } + } +} diff --git a/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TodoSharedDatabase.kt b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TodoSharedDatabase.kt new file mode 100644 index 0000000000..0c678b9ffb --- /dev/null +++ b/examples/todoapp/common/database/src/commonMain/kotlin/example/todo/common/database/TodoSharedDatabase.kt @@ -0,0 +1,22 @@ +package example.todo.common.database + +import com.badoo.reaktive.completable.Completable +import com.badoo.reaktive.maybe.Maybe +import com.badoo.reaktive.observable.Observable + +interface TodoSharedDatabase { + + fun observeAll(): Observable> + + fun select(id: Long): Maybe + + fun add(text: String): Completable + + fun setText(id: Long, text: String): Completable + + fun setDone(id: Long, isDone: Boolean): Completable + + fun delete(id: Long): Completable + + fun clear(): Completable +} diff --git a/examples/todoapp/common/database/src/desktopMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt b/examples/todoapp/common/database/src/desktopMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt deleted file mode 100644 index 4eab94f227..0000000000 --- a/examples/todoapp/common/database/src/desktopMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt +++ /dev/null @@ -1,13 +0,0 @@ -package example.todo.common.database - -import com.squareup.sqldelight.db.SqlDriver -import com.squareup.sqldelight.sqlite.driver.JdbcSqliteDriver -import example.todo.database.TodoDatabase - -@Suppress("FunctionName") // FactoryFunction -actual fun TestDatabaseDriver(): SqlDriver { - val driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY) - TodoDatabase.Schema.create(driver) - - return driver -} diff --git a/examples/todoapp/common/database/src/iosMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt b/examples/todoapp/common/database/src/iosMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt deleted file mode 100644 index 193e3c4d83..0000000000 --- a/examples/todoapp/common/database/src/iosMain/kotlin/example/todo/common/database/TestDatabaseDriverFactory.kt +++ /dev/null @@ -1,26 +0,0 @@ -package example.todo.common.database - -import co.touchlab.sqliter.DatabaseConfiguration -import com.squareup.sqldelight.db.SqlDriver -import com.squareup.sqldelight.drivers.native.NativeSqliteDriver -import com.squareup.sqldelight.drivers.native.wrapConnection -import example.todo.database.TodoDatabase - -@Suppress("FunctionName") // Factory function -actual fun TestDatabaseDriver(): SqlDriver { - val schema = TodoDatabase.Schema - - return NativeSqliteDriver( - DatabaseConfiguration( - name = ":memory:", - version = schema.version, - create = { wrapConnection(it, schema::create) }, - upgrade = { connection, oldVersion, newVersion -> - wrapConnection(connection) { - schema.migrate(it, oldVersion, newVersion) - } - }, - inMemory = true - ) - ) -} \ No newline at end of file diff --git a/examples/todoapp/common/database/src/jsMain/kotlin/example/todo/common/database/TodoDatabaseDriverFactory.kt b/examples/todoapp/common/database/src/jsMain/kotlin/example/todo/common/database/TodoDatabaseDriverFactory.kt new file mode 100644 index 0000000000..8483a72280 --- /dev/null +++ b/examples/todoapp/common/database/src/jsMain/kotlin/example/todo/common/database/TodoDatabaseDriverFactory.kt @@ -0,0 +1,10 @@ +package example.todo.common.database + +import com.badoo.reaktive.promise.asSingle +import com.badoo.reaktive.single.Single +import com.squareup.sqldelight.db.SqlDriver +import com.squareup.sqldelight.drivers.sqljs.initSqlDriver +import example.todo.database.TodoDatabase + +fun todoDatabaseDriver(): Single = + initSqlDriver(TodoDatabase.Schema).asSingle() diff --git a/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditComponent.kt b/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditComponent.kt index 287dac75bd..195145ab0d 100644 --- a/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditComponent.kt +++ b/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditComponent.kt @@ -6,6 +6,7 @@ import com.arkivanov.decompose.value.operator.map import com.arkivanov.mvikotlin.core.store.StoreFactory import com.badoo.reaktive.base.Consumer import com.badoo.reaktive.base.invoke +import example.todo.common.database.TodoSharedDatabase import example.todo.common.edit.TodoEdit import example.todo.common.edit.TodoEdit.Model import example.todo.common.edit.TodoEdit.Output @@ -13,12 +14,11 @@ import example.todo.common.edit.store.TodoEditStore.Intent import example.todo.common.edit.store.TodoEditStoreProvider import example.todo.common.utils.asValue import example.todo.common.utils.getStore -import example.todo.database.TodoDatabase class TodoEditComponent( componentContext: ComponentContext, storeFactory: StoreFactory, - database: TodoDatabase, + database: TodoSharedDatabase, itemId: Long, private val output: Consumer ) : TodoEdit, ComponentContext by componentContext { @@ -27,7 +27,7 @@ class TodoEditComponent( instanceKeeper.getStore { TodoEditStoreProvider( storeFactory = storeFactory, - database = TodoEditStoreDatabase(queries = database.todoDatabaseQueries), + database = TodoEditStoreDatabase(database = database), id = itemId ).provide() } diff --git a/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditStoreDatabase.kt b/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditStoreDatabase.kt index 0e0c8d8694..8c63bf8138 100644 --- a/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditStoreDatabase.kt +++ b/examples/todoapp/common/edit/src/commonMain/kotlin/example/todo/common/edit/integration/TodoEditStoreDatabase.kt @@ -1,29 +1,20 @@ package example.todo.common.edit.integration import com.badoo.reaktive.completable.Completable -import com.badoo.reaktive.completable.completableFromFunction -import com.badoo.reaktive.completable.subscribeOn import com.badoo.reaktive.maybe.Maybe import com.badoo.reaktive.maybe.map -import com.badoo.reaktive.maybe.maybeFromFunction -import com.badoo.reaktive.maybe.notNull -import com.badoo.reaktive.maybe.subscribeOn -import com.badoo.reaktive.scheduler.ioScheduler -import com.squareup.sqldelight.Query -import example.todo.common.database.TodoDatabaseQueries import example.todo.common.database.TodoItemEntity +import example.todo.common.database.TodoSharedDatabase import example.todo.common.edit.TodoItem import example.todo.common.edit.store.TodoEditStoreProvider.Database internal class TodoEditStoreDatabase( - private val queries: TodoDatabaseQueries + private val database: TodoSharedDatabase ) : Database { override fun load(id: Long): Maybe = - maybeFromFunction { queries.select(id = id) } - .subscribeOn(ioScheduler) - .map(Query::executeAsOne) - .notNull() + database + .select(id = id) .map { it.toItem() } private fun TodoItemEntity.toItem(): TodoItem = @@ -33,10 +24,8 @@ internal class TodoEditStoreDatabase( ) override fun setText(id: Long, text: String): Completable = - completableFromFunction { queries.setText(id = id, text = text) } - .subscribeOn(ioScheduler) + database.setText(id = id, text = text) override fun setDone(id: Long, isDone: Boolean): Completable = - completableFromFunction { queries.setDone(id = id, isDone = isDone) } - .subscribeOn(ioScheduler) + database.setDone(id = id, isDone = isDone) } diff --git a/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainComponent.kt b/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainComponent.kt index ed8efb8cf6..2e70f71fc9 100644 --- a/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainComponent.kt +++ b/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainComponent.kt @@ -6,6 +6,7 @@ import com.arkivanov.decompose.value.operator.map import com.arkivanov.mvikotlin.core.store.StoreFactory import com.badoo.reaktive.base.Consumer import com.badoo.reaktive.base.invoke +import example.todo.common.database.TodoSharedDatabase import example.todo.common.main.TodoMain import example.todo.common.main.TodoMain.Model import example.todo.common.main.TodoMain.Output @@ -13,12 +14,11 @@ import example.todo.common.main.store.TodoMainStore.Intent import example.todo.common.main.store.TodoMainStoreProvider import example.todo.common.utils.asValue import example.todo.common.utils.getStore -import example.todo.database.TodoDatabase class TodoMainComponent( componentContext: ComponentContext, storeFactory: StoreFactory, - database: TodoDatabase, + database: TodoSharedDatabase, private val output: Consumer ) : TodoMain, ComponentContext by componentContext { @@ -26,7 +26,7 @@ class TodoMainComponent( instanceKeeper.getStore { TodoMainStoreProvider( storeFactory = storeFactory, - database = TodoMainStoreDatabase(queries = database.todoDatabaseQueries) + database = TodoMainStoreDatabase(database = database) ).provide() } diff --git a/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainStoreDatabase.kt b/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainStoreDatabase.kt index abbc4d6469..4e70c62166 100644 --- a/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainStoreDatabase.kt +++ b/examples/todoapp/common/main/src/commonMain/kotlin/example/todo/common/main/integration/TodoMainStoreDatabase.kt @@ -1,26 +1,20 @@ package example.todo.common.main.integration import com.badoo.reaktive.completable.Completable -import com.badoo.reaktive.completable.completableFromFunction -import com.badoo.reaktive.completable.subscribeOn import com.badoo.reaktive.observable.Observable import com.badoo.reaktive.observable.mapIterable -import com.badoo.reaktive.scheduler.ioScheduler -import com.squareup.sqldelight.Query -import example.todo.common.database.TodoDatabaseQueries import example.todo.common.database.TodoItemEntity -import example.todo.common.database.asObservable +import example.todo.common.database.TodoSharedDatabase import example.todo.common.main.TodoItem import example.todo.common.main.store.TodoMainStoreProvider internal class TodoMainStoreDatabase( - private val queries: TodoDatabaseQueries + private val database: TodoSharedDatabase ) : TodoMainStoreProvider.Database { override val updates: Observable> = - queries - .selectAll() - .asObservable(Query::executeAsList) + database + .observeAll() .mapIterable { it.toItem() } private fun TodoItemEntity.toItem(): TodoItem = @@ -32,14 +26,11 @@ internal class TodoMainStoreDatabase( ) override fun setDone(id: Long, isDone: Boolean): Completable = - completableFromFunction { queries.setDone(id = id, isDone = isDone) } - .subscribeOn(ioScheduler) + database.setDone(id = id, isDone = isDone) override fun delete(id: Long): Completable = - completableFromFunction { queries.delete(id = id) } - .subscribeOn(ioScheduler) + database.delete(id = id) override fun add(text: String): Completable = - completableFromFunction { queries.add(text = text) } - .subscribeOn(ioScheduler) + database.add(text = text) } diff --git a/examples/todoapp/common/main/src/commonTest/kotlin/example/todo/common/main/integration/TodoMainTest.kt b/examples/todoapp/common/main/src/commonTest/kotlin/example/todo/common/main/integration/TodoMainTest.kt index b57f9e1074..7d34263c38 100644 --- a/examples/todoapp/common/main/src/commonTest/kotlin/example/todo/common/main/integration/TodoMainTest.kt +++ b/examples/todoapp/common/main/src/commonTest/kotlin/example/todo/common/main/integration/TodoMainTest.kt @@ -8,12 +8,11 @@ import com.badoo.reaktive.subject.publish.PublishSubject import com.badoo.reaktive.test.observable.assertValue import com.badoo.reaktive.test.observable.test import com.badoo.reaktive.test.scheduler.TestScheduler -import example.todo.common.database.TestDatabaseDriver +import example.todo.common.database.TestTodoSharedDatabase import example.todo.common.database.TodoItemEntity import example.todo.common.main.TodoItem import example.todo.common.main.TodoMain.Model import example.todo.common.main.TodoMain.Output -import example.todo.database.TodoDatabase import kotlin.test.BeforeTest import kotlin.test.Test import kotlin.test.assertEquals @@ -25,11 +24,10 @@ import kotlin.test.assertTrue class TodoMainTest { private val lifecycle = LifecycleRegistry() - private val database = TodoDatabase(TestDatabaseDriver()) + private val database = TestTodoSharedDatabase(TestScheduler()) private val outputSubject = PublishSubject() private val output = outputSubject.test() - - private val queries = database.todoDatabaseQueries + private val databaseTesting = database.testing private val impl by lazy { TodoMainComponent( @@ -49,29 +47,29 @@ class TodoMainTest { io = { TestScheduler() } ) - queries.clear() + databaseTesting.clear() } @Test fun WHEN_item_added_to_database_THEN_item_displayed() { - queries.add("Item1") + databaseTesting.add("Item1") assertEquals("Item1", firstItem().text) } @Test fun WHEN_item_deleted_from_database_THEN_item_not_displayed() { - queries.add("Item1") + databaseTesting.add("Item1") val id = lastInsertItem().id - queries.delete(id = id) + databaseTesting.delete(id = id) assertFalse(model.items.any { it.id == id }) } @Test fun WHEN_item_clicked_THEN_Output_Selected_emitted() { - queries.add("Item1") + databaseTesting.add("Item1") val id = firstItem().id impl.onItemClicked(id = id) @@ -81,42 +79,42 @@ class TodoMainTest { @Test fun GIVEN_item_isDone_false_WHEN_done_changed_to_true_THEN_item_isDone_true_in_database() { - queries.add("Item1") + databaseTesting.add("Item1") val id = firstItem().id - queries.setDone(id = id, isDone = false) + databaseTesting.setDone(id = id, isDone = false) impl.onItemDoneChanged(id = id, isDone = true) - assertTrue(queries.select(id = id).executeAsOne().isDone) + assertTrue(databaseTesting.selectRequired(id = id).isDone) } @Test fun GIVEN_item_isDone_true_WHEN_done_changed_to_false_THEN_item_isDone_false_in_database() { - queries.add("Item1") + databaseTesting.add("Item1") val id = firstItem().id - queries.setDone(id = id, isDone = true) + databaseTesting.setDone(id = id, isDone = true) impl.onItemDoneChanged(id = id, isDone = false) - assertFalse(queries.select(id = id).executeAsOne().isDone) + assertFalse(databaseTesting.selectRequired(id = id).isDone) } @Test fun WHEN_item_delete_clicked_THEN_item_deleted_in_database() { - queries.add("Item1") + databaseTesting.add("Item1") val id = firstItem().id impl.onItemDeleteClicked(id = id) - assertNull(queries.select(id = id).executeAsOneOrNull()) + assertNull(databaseTesting.select(id = id)) } @Test fun WHEN_item_text_changed_in_database_THEN_item_updated() { - queries.add("Item1") + databaseTesting.add("Item1") val id = firstItem().id - queries.setText(id = id, text = "New text") + databaseTesting.setText(id = id, text = "New text") assertEquals("New text", firstItem().text) } @@ -139,9 +137,6 @@ class TodoMainTest { private fun firstItem(): TodoItem = model.items[0] - private fun lastInsertItem(): TodoItemEntity { - val lastInsertId = queries.transactionWithResult { queries.getLastInsertId().executeAsOne() } - - return queries.select(id = lastInsertId).executeAsOne() - } + private fun lastInsertItem(): TodoItemEntity = + databaseTesting.selectRequired(id = requireNotNull(databaseTesting.getLastInsertId())) } diff --git a/examples/todoapp/common/root/src/commonMain/kotlin/example/todo/common/root/integration/TodoRootComponent.kt b/examples/todoapp/common/root/src/commonMain/kotlin/example/todo/common/root/integration/TodoRootComponent.kt index 30808239bb..c3d4c6dfb8 100644 --- a/examples/todoapp/common/root/src/commonMain/kotlin/example/todo/common/root/integration/TodoRootComponent.kt +++ b/examples/todoapp/common/root/src/commonMain/kotlin/example/todo/common/root/integration/TodoRootComponent.kt @@ -10,6 +10,7 @@ import com.arkivanov.decompose.statekeeper.Parcelize import com.arkivanov.decompose.value.Value import com.arkivanov.mvikotlin.core.store.StoreFactory import com.badoo.reaktive.base.Consumer +import example.todo.common.database.TodoSharedDatabase import example.todo.common.edit.TodoEdit import example.todo.common.edit.integration.TodoEditComponent import example.todo.common.main.TodoMain @@ -17,7 +18,6 @@ import example.todo.common.main.integration.TodoMainComponent import example.todo.common.root.TodoRoot import example.todo.common.root.TodoRoot.Child import example.todo.common.utils.Consumer -import example.todo.database.TodoDatabase class TodoRootComponent internal constructor( componentContext: ComponentContext, @@ -28,7 +28,7 @@ class TodoRootComponent internal constructor( constructor( componentContext: ComponentContext, storeFactory: StoreFactory, - database: TodoDatabase + database: TodoSharedDatabase ) : this( componentContext = componentContext, todoMain = { childContext, output -> diff --git a/examples/todoapp/desktop/src/jvmMain/kotlin/example/todo/desktop/Main.kt b/examples/todoapp/desktop/src/jvmMain/kotlin/example/todo/desktop/Main.kt index 44d370d468..0853039a36 100644 --- a/examples/todoapp/desktop/src/jvmMain/kotlin/example/todo/desktop/Main.kt +++ b/examples/todoapp/desktop/src/jvmMain/kotlin/example/todo/desktop/Main.kt @@ -11,11 +11,11 @@ import com.arkivanov.decompose.extensions.compose.jetbrains.rememberRootComponen import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory import com.badoo.reaktive.coroutinesinterop.asScheduler import com.badoo.reaktive.scheduler.overrideSchedulers +import example.todo.common.database.DefaultTodoSharedDatabase import example.todo.common.database.TodoDatabaseDriver import example.todo.common.root.TodoRoot import example.todo.common.root.integration.TodoRootComponent import example.todo.common.ui.TodoRootContent -import example.todo.database.TodoDatabase import kotlinx.coroutines.Dispatchers fun main() { @@ -36,5 +36,5 @@ private fun todoRoot(componentContext: ComponentContext): TodoRoot = TodoRootComponent( componentContext = componentContext, storeFactory = DefaultStoreFactory, - database = TodoDatabase(TodoDatabaseDriver()) + database = DefaultTodoSharedDatabase(TodoDatabaseDriver()) ) diff --git a/examples/todoapp/ios/ios/ContentView.swift b/examples/todoapp/ios/ios/ContentView.swift index 52bdc98326..2f319069b4 100644 --- a/examples/todoapp/ios/ios/ContentView.swift +++ b/examples/todoapp/ios/ios/ContentView.swift @@ -8,7 +8,7 @@ struct ContentView: View { TodoRootComponent( componentContext: $0, storeFactory: DefaultStoreFactory(), - database: TodoDatabaseCompanion().invoke(driver: TodoDatabaseDriverFactoryKt.TodoDatabaseDriver()) + database: DefaultTodoSharedDatabase(driver: TodoDatabaseDriverFactoryKt.TodoDatabaseDriver()) ) } diff --git a/examples/todoapp/settings.gradle.kts b/examples/todoapp/settings.gradle.kts index 7fc27ebb00..b3c4374bba 100755 --- a/examples/todoapp/settings.gradle.kts +++ b/examples/todoapp/settings.gradle.kts @@ -6,5 +6,6 @@ include( ":common:root", ":common:compose-ui", ":android", - ":desktop" + ":desktop", + ":web" ) diff --git a/examples/todoapp/web/build.gradle.kts b/examples/todoapp/web/build.gradle.kts new file mode 100755 index 0000000000..8831755cde --- /dev/null +++ b/examples/todoapp/web/build.gradle.kts @@ -0,0 +1,34 @@ +import org.jetbrains.compose.compose + +plugins { + kotlin("multiplatform") + id("org.jetbrains.compose") +} + +kotlin { + js(IR) { + browser { + useCommonJs() + binaries.executable() + } + } + + sourceSets { + named("jsMain") { + dependencies { + implementation(compose.runtime) + implementation(compose.web.widgets) + implementation(project(":common:utils")) + implementation(project(":common:database")) + implementation(project(":common:root")) + implementation(project(":common:main")) + implementation(project(":common:edit")) + implementation(Deps.ArkIvanov.Decompose.decompose) + implementation(Deps.ArkIvanov.MVIKotlin.mvikotlin) + implementation(Deps.ArkIvanov.MVIKotlin.mvikotlinMain) + implementation(npm("copy-webpack-plugin", "9.0.0")) + implementation(npm("@material-ui/icons", "4.11.2")) + } + } + } +} diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/App.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/App.kt new file mode 100644 index 0000000000..e94d469e4b --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/App.kt @@ -0,0 +1,35 @@ +package example.todo.web + +import com.arkivanov.decompose.DefaultComponentContext +import com.arkivanov.decompose.lifecycle.LifecycleRegistry +import com.arkivanov.decompose.lifecycle.resume +import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory +import example.todo.common.database.DefaultTodoSharedDatabase +import example.todo.common.database.todoDatabaseDriver +import example.todo.common.root.integration.TodoRootComponent +import kotlinx.browser.document +import org.jetbrains.compose.web.css.Style +import org.jetbrains.compose.web.renderComposable +import org.jetbrains.compose.web.ui.Styles +import org.w3c.dom.HTMLElement + +fun main() { + val rootElement = document.getElementById("root") as HTMLElement + + val lifecycle = LifecycleRegistry() + + val root = + TodoRootComponent( + componentContext = DefaultComponentContext(lifecycle = lifecycle), + storeFactory = DefaultStoreFactory, + database = DefaultTodoSharedDatabase(todoDatabaseDriver()) + ) + + lifecycle.resume() + + renderComposable(root = rootElement) { + Style(Styles) + + TodoRootUi(root) + } +} diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Components.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Components.kt new file mode 100644 index 0000000000..e4dedb27cc --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Components.kt @@ -0,0 +1,174 @@ +package example.todo.web + +import androidx.compose.runtime.Composable +import org.jetbrains.compose.common.material.Text +import org.jetbrains.compose.web.attributes.InputType +import org.jetbrains.compose.web.attributes.checked +import org.jetbrains.compose.web.css.AlignItems +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.JustifyContent +import org.jetbrains.compose.web.css.alignItems +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.height +import org.jetbrains.compose.web.css.justifyContent +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.width +import org.jetbrains.compose.web.dom.A +import org.jetbrains.compose.web.dom.AttrBuilderContext +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.ElementScope +import org.jetbrains.compose.web.dom.I +import org.jetbrains.compose.web.dom.Input +import org.jetbrains.compose.web.dom.Label +import org.jetbrains.compose.web.dom.Li +import org.jetbrains.compose.web.dom.Nav +import org.jetbrains.compose.web.dom.Span +import org.jetbrains.compose.web.dom.Text +import org.jetbrains.compose.web.dom.TextArea +import org.jetbrains.compose.web.dom.Ul +import org.w3c.dom.HTMLUListElement + +@Composable +fun MaterialCheckbox( + checked: Boolean, + onCheckedChange: (Boolean) -> Unit, + attrs: AttrBuilderContext<*> = {}, + content: @Composable () -> Unit = {} +) { + Div(attrs = attrs) { + Label { + Input( + type = InputType.Checkbox, + attrs = { + classes("filled-in") + if (checked) checked() + onCheckboxInput { onCheckedChange(it.checked) } + } + ) + + Span { + content() + } + } + } +} + +@Composable +fun Card(attrs: AttrBuilderContext<*> = {}, content: @Composable () -> Unit) { + Div( + attrs = { + classes("card") + attrs() + } + ) { + content() + } +} + +@Composable +fun MaterialTextArea( + id: String, + label: String, + text: String, + onTextChanged: (String) -> Unit, + attrs: AttrBuilderContext<*> = {} +) { + Div( + attrs = { + classes("input-field", "col", "s12") + attrs() + } + ) { + TextArea( + value = text, + attrs = { + id("text_area_add_todo") + classes("materialize-textarea") + onTextInput { onTextChanged(it.inputValue) } + style { + width(100.percent) + height(100.percent) + } + } + ) + + Label(forId = id) { + Text(text = label) + } + } +} + +@Composable +fun ImageButton( + onClick: () -> Unit, + iconName: String, + attrs: AttrBuilderContext<*> = {} +) { + A( + attrs = { + classes("waves-effect", "waves-teal", "btn-flat") + style { + width(48.px) + height(48.px) + display(DisplayStyle.Flex) + alignItems(AlignItems.Center) + justifyContent(JustifyContent.Center) + } + this.onClick { onClick() } + attrs() + } + ) { + MaterialIcon(name = iconName) + } +} + +@Composable +fun MaterialIcon(name: String) { + I(attrs = { classes("material-icons") }) { Text(value = name) } +} + +@Composable +fun NavBar( + title: String, + navigationIcon: NavBarIcon? = null +) { + Nav { + Div(attrs = { classes("nav-wrapper") }) { + if (navigationIcon != null) { + Ul(attrs = { classes("left") }) { + NavBarIcon(icon = navigationIcon) + } + } + + A( + attrs = { + classes("brand-logo") + style { + property("padding-left", 16.px) + } + } + ) { + Text(value = title) + } + } + } +} + +@Composable +private fun ElementScope.NavBarIcon(icon: NavBarIcon) { + Li { + A( + attrs = { + onClick { icon.onClick() } + } + ) { + MaterialIcon(name = icon.name) + } + } +} + +class NavBarIcon( + val name: String, + val onClick: () -> Unit +) diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Crossfade.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Crossfade.kt new file mode 100644 index 0000000000..246165bab9 --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/Crossfade.kt @@ -0,0 +1,115 @@ +package example.todo.web + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.State +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import kotlinx.coroutines.delay +import org.jetbrains.compose.web.css.Position +import org.jetbrains.compose.web.css.height +import org.jetbrains.compose.web.css.left +import org.jetbrains.compose.web.css.opacity +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.position +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.top +import org.jetbrains.compose.web.css.width +import org.jetbrains.compose.web.dom.AttrBuilderContext +import org.jetbrains.compose.web.dom.Div +import kotlin.js.Date +import kotlin.math.sqrt + +@Composable +fun Crossfade(target: T, attrs: AttrBuilderContext<*> = {}, content: @Composable (T) -> Unit) { + val holder = remember { TargetHolder(null) } + val previousTarget: T? = holder.value + + if (previousTarget == null) { + holder.value = target + Div(attrs = attrs) { + content(target) + } + return + } + + if (previousTarget == target) { + Div(attrs = attrs) { + content(target) + } + return + } + + holder.value = target + + val animationFactor by animateFloatFactor(key = target, durationMillis = 300L, easing = ::sqrt) + + Div(attrs = attrs) { + if (animationFactor < 1F) { + Div( + attrs = { + style { + width(100.percent) + height(100.percent) + position(Position.Absolute) + top(0.px) + left(0.px) + opacity(1F - animationFactor) + } + } + ) { + content(previousTarget) + } + } + + Div( + attrs = { + style { + width(100.percent) + height(100.percent) + position(Position.Absolute) + top(0.px) + left(0.px) + if (animationFactor < 1F) { + opacity(animationFactor) + } + } + } + ) { + content(target) + } + } +} + +private class TargetHolder( + var value: T? +) + +@Composable +private fun animateFloatFactor(key: Any, durationMillis: Long, easing: Easing = Easing { it }): State { + val state = remember(key) { mutableStateOf(0F) } + + LaunchedEffect(key) { + var date = Date.now() + val startMillis = date + val endMillis = startMillis + durationMillis.toDouble() + while (true) { + date = Date.now() + if (date >= endMillis) { + break + } + + state.value = easing.transform(((date - startMillis) / durationMillis.toDouble()).toFloat()) + delay(16L) + } + + state.value = 1F + } + + return state +} + +private fun interface Easing { + fun transform(fraction: Float): Float +} diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoEditUi.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoEditUi.kt new file mode 100644 index 0000000000..e1fa9628ee --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoEditUi.kt @@ -0,0 +1,96 @@ +package example.todo.web + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import example.todo.common.edit.TodoEdit +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.FlexDirection +import org.jetbrains.compose.web.css.FlexWrap +import org.jetbrains.compose.web.css.JustifyContent +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.flexFlow +import org.jetbrains.compose.web.css.height +import org.jetbrains.compose.web.css.justifyContent +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.width +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.Text + +@Composable +fun TodoEditUi(component: TodoEdit) { + val model by component.models.subscribeAsState() + + Div( + attrs = { + style { + width(100.percent) + height(100.percent) + display(DisplayStyle.Flex) + flexFlow(FlexDirection.Column, FlexWrap.Nowrap) + } + } + ) { + Div( + attrs = { + style { + width(100.percent) + property("flex", "0 1 auto") + } + } + ) { + NavBar( + title = "Edit todo", + navigationIcon = NavBarIcon( + name = "arrow_back", + onClick = component::onCloseClicked + ) + ) + } + + Div( + attrs = { + style { + width(100.percent) + property("flex", "1 1 auto") + property("padding", "0px 16px 0px 16px") + display(DisplayStyle.Flex) + flexFlow(FlexDirection.Column, FlexWrap.Nowrap) + } + } + ) { + MaterialTextArea( + id = "text_area_edit_todo", + label = "", + text = model.text, + onTextChanged = component::onTextChanged, + attrs = { + style { + width(100.percent) + property("flex", "1 1 auto") + } + } + ) + } + + Div( + attrs = { + style { + width(100.percent) + property("flex", "0 1 auto") + property("padding-bottom", "16px") + display(DisplayStyle.Flex) + justifyContent(JustifyContent.Center) + } + } + ) { + MaterialCheckbox( + checked = model.isDone, + onCheckedChange = component::onDoneChanged, + content = { + Text(value = "Completed") + } + ) + } + } +} + diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoMainUi.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoMainUi.kt new file mode 100644 index 0000000000..db6c622deb --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoMainUi.kt @@ -0,0 +1,189 @@ +package example.todo.web + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import example.todo.common.main.TodoItem +import example.todo.common.main.TodoMain +import org.jetbrains.compose.web.css.AlignItems +import org.jetbrains.compose.web.css.DisplayStyle +import org.jetbrains.compose.web.css.FlexDirection +import org.jetbrains.compose.web.css.FlexWrap +import org.jetbrains.compose.web.css.alignItems +import org.jetbrains.compose.web.css.display +import org.jetbrains.compose.web.css.flexFlow +import org.jetbrains.compose.web.css.height +import org.jetbrains.compose.web.css.margin +import org.jetbrains.compose.web.css.marginLeft +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.width +import org.jetbrains.compose.web.dom.DOMScope +import org.jetbrains.compose.web.dom.Div +import org.jetbrains.compose.web.dom.Li +import org.jetbrains.compose.web.dom.Text +import org.jetbrains.compose.web.dom.Ul +import org.w3c.dom.HTMLUListElement + + +@Composable +fun TodoMainUi(component: TodoMain) { + val model by component.models.subscribeAsState() + + Div( + attrs = { + style { + width(100.percent) + height(100.percent) + display(DisplayStyle.Flex) + flexFlow(FlexDirection.Column, FlexWrap.Nowrap) + } + } + ) { + Div( + attrs = { + style { + width(100.percent) + property("flex", "0 1 auto") + } + } + ) { + NavBar(title = "Todo List") + } + + Ul( + attrs = { + style { + width(100.percent) + margin(0.px) + property("flex", "1 1 auto") + property("overflow-y", "scroll") + } + } + ) { + model.items.forEach { item -> + Item( + item = item, + onClicked = component::onItemClicked, + onDoneChanged = component::onItemDoneChanged, + onDeleteClicked = component::onItemDeleteClicked + ) + } + } + + Div( + attrs = { + style { + width(100.percent) + property("flex", "0 1 auto") + } + } + ) { + TodoInput( + text = model.text, + onTextChanged = component::onInputTextChanged, + onAddClicked = component::onAddItemClicked + ) + } + } +} + +@Composable +private fun DOMScope.Item( + item: TodoItem, + onClicked: (id: Long) -> Unit, + onDoneChanged: (id: Long, isDone: Boolean) -> Unit, + onDeleteClicked: (id: Long) -> Unit +) { + Li( + attrs = { + style { + width(100.percent) + display(DisplayStyle.Flex) + flexFlow(FlexDirection.Row, FlexWrap.Nowrap) + alignItems(AlignItems.Center) + property("padding", "0px 0px 0px 16px") + } + } + ) { + MaterialCheckbox( + checked = item.isDone, + onCheckedChange = { onDoneChanged(item.id, !item.isDone) }, + attrs = { + style { + property("flex", "0 1 auto") + property("padding-top", 10.px) // Fix for the checkbox not being centered vertically + } + } + ) + + Div( + attrs = { + style { + height(48.px) + property("flex", "1 1 auto") + property("white-space", "nowrap") + property("text-overflow", "ellipsis") + property("overflow", "hidden") + display(DisplayStyle.Flex) + alignItems(AlignItems.Center) + } + onClick { onClicked(item.id) } + } + ) { + Text(value = item.text) + } + + ImageButton( + onClick = { onDeleteClicked(item.id) }, + iconName = "delete", + attrs = { + style { + property("flex", "0 1 auto") + marginLeft(8.px) + } + } + ) + } +} + +@Composable +private fun TodoInput( + text: String, + onTextChanged: (String) -> Unit, + onAddClicked: () -> Unit +) { + Div( + attrs = { + style { + width(100.percent) + display(DisplayStyle.Flex) + flexFlow(FlexDirection.Row, FlexWrap.Nowrap) + alignItems(AlignItems.Center) + } + } + ) { + MaterialTextArea( + id = "text_area_add_todo", + label = "Add todo", + text = text, + onTextChanged = onTextChanged, + attrs = { + style { + property("flex", "1 1 auto") + margin(16.px) + } + } + ) + + ImageButton( + onClick = onAddClicked, + iconName = "add", + attrs = { + style { + property("flex", "0 1 auto") + property("margin", "0px 16px 0px 0px") + } + } + ) + } +} diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoRootUi.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoRootUi.kt new file mode 100644 index 0000000000..7f964a7638 --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/TodoRootUi.kt @@ -0,0 +1,54 @@ +package example.todo.web + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import example.todo.common.root.TodoRoot +import org.jetbrains.compose.web.css.Position +import org.jetbrains.compose.web.css.auto +import org.jetbrains.compose.web.css.bottom +import org.jetbrains.compose.web.css.height +import org.jetbrains.compose.web.css.left +import org.jetbrains.compose.web.css.percent +import org.jetbrains.compose.web.css.position +import org.jetbrains.compose.web.css.px +import org.jetbrains.compose.web.css.right +import org.jetbrains.compose.web.css.top +import org.jetbrains.compose.web.css.width + +@Composable +fun TodoRootUi(component: TodoRoot) { + Card( + attrs = { + style { + position(Position.Absolute) + height(700.px) + property("max-width", 640.px) + top(0.px) + bottom(0.px) + left(0.px) + right(0.px) + property("margin", auto) + } + } + ) { + val routerState by component.routerState.subscribeAsState() + + Crossfade( + target = routerState.activeChild.instance, + attrs = { + style { + width(100.percent) + height(100.percent) + position(Position.Relative) + left(0.px) + top(0.px) + } + } + ) { child -> + when (child) { + is TodoRoot.Child.Main -> TodoMainUi(child.component) + is TodoRoot.Child.Edit -> TodoEditUi(child.component) + } + } + } +} diff --git a/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/ValueExt.kt b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/ValueExt.kt new file mode 100644 index 0000000000..8eac75589f --- /dev/null +++ b/examples/todoapp/web/src/jsMain/kotlin/example/todo/web/ValueExt.kt @@ -0,0 +1,26 @@ +package example.todo.web + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.runtime.State +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import com.arkivanov.decompose.value.Value +import com.arkivanov.decompose.value.ValueObserver + +@Composable +fun Value.subscribeAsState(): State { + val state = remember(this) { mutableStateOf(value) } + + DisposableEffect(this) { + val observer: ValueObserver = { state.value = it } + + subscribe(observer) + + onDispose { + unsubscribe(observer) + } + } + + return state +} diff --git a/examples/todoapp/web/src/jsMain/resources/MaterialIcons-Regular.ttf b/examples/todoapp/web/src/jsMain/resources/MaterialIcons-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..453b3e4cbcb0e98b6a67789c0220fdcf2d229323 GIT binary patch literal 285724 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 z%0D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 literal 0 HcmV?d00001 diff --git a/examples/todoapp/web/src/jsMain/resources/index.html b/examples/todoapp/web/src/jsMain/resources/index.html new file mode 100644 index 0000000000..cae0724daf --- /dev/null +++ b/examples/todoapp/web/src/jsMain/resources/index.html @@ -0,0 +1,30 @@ + + + + + + + Todo + + + + +

+ + + + diff --git a/examples/todoapp/web/src/jsMain/resources/materialize.min.css b/examples/todoapp/web/src/jsMain/resources/materialize.min.css new file mode 100644 index 0000000000..74b1741b62 --- /dev/null +++ b/examples/todoapp/web/src/jsMain/resources/materialize.min.css @@ -0,0 +1,13 @@ +/*! + * Materialize v1.0.0 (http://materializecss.com) + * Copyright 2014-2017 Materialize + * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) + */ +.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,0.12)}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*! + * Waves v0.6.0 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly="readonly"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly="readonly"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly="readonly"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly="readonly"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly="readonly"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly="readonly"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly="readonly"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly="readonly"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly="readonly"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly="readonly"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly="readonly"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly="readonly"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly="readonly"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly="readonly"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly="readonly"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly="readonly"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly="readonly"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly="readonly"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:"";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type="search"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span,[type="radio"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+span:before,[type="radio"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after,[type="radio"]:checked+span:before,[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+span:before{border:2px solid transparent}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border:2px solid #26a69a}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:after{background-color:#26a69a}[type="radio"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type="radio"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before,[type="radio"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled+span{color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;opacity:0;pointer-events:none}[type="checkbox"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:not(.lever):before,[type="checkbox"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type="checkbox"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type="checkbox"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type="checkbox"].filled-in+span:not(.lever):after{border-radius:2px}[type="checkbox"].filled-in+span:not(.lever):before,[type="checkbox"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:"";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^="mdi-"],.sidenav li>a li>a>[class*="mdi-"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s, visibility 0s 1s, -webkit-transform .3s;transition:opacity .3s, visibility 0s 1s, -webkit-transform .3s;transition:opacity .3s, transform .3s, visibility 0s 1s;transition:opacity .3s, transform .3s, visibility 0s 1s, -webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave::before,.tap-target-wave::after{content:'';display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffffff}.tap-target-wave::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}.tap-target-wave::after{visibility:hidden;-webkit-transition:opacity .3s, visibility 0s, -webkit-transform .3s;transition:opacity .3s, visibility 0s, -webkit-transform .3s;transition:opacity .3s, transform .3s, visibility 0s;transition:opacity .3s, transform .3s, visibility 0s, -webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:10002;position:absolute !important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:none}@media only screen and (max-width: 600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:visible;position:relative}.pulse::before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;-webkit-transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, transform .3s;transition:opacity .3s, transform .3s, -webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.datepicker-modal{max-width:325px;min-width:300px;max-height:none}.datepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.datepicker-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:280px;margin:0 auto}.datepicker-controls .selects-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.datepicker-controls .select-wrapper input{border-bottom:none;text-align:center;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{margin-top:4px;cursor:pointer;background-color:transparent;border:none}.datepicker-date-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;color:#fff;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{display:block;font-size:1.5rem;line-height:25px;color:rgba(255,255,255,0.7)}.datepicker-date-display .date-text{display:block;font-size:2.8rem;line-height:47px;font-weight:500}.datepicker-calendar-container{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.datepicker-table{width:280px;font-size:1rem;margin:0 auto}.datepicker-table thead{border-bottom:none}.datepicker-table th{padding:10px 5px;text-align:center}.datepicker-table tr{border:none}.datepicker-table abbr{text-decoration:none;color:#999}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{background-color:#26a69a;color:#fff}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,0.3);pointer-events:none}.datepicker-day-button{background-color:transparent;border:none;line-height:38px;display:block;width:100%;border-radius:50%;padding:0 5px;cursor:pointer;color:inherit}.datepicker-day-button:focus{background-color:rgba(43,161,150,0.25)}.datepicker-footer{width:280px;margin:0 auto;padding-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#F44336}@media only screen and (min-width: 601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.datepicker-date-display{-webkit-box-flex:0;-webkit-flex:0 1 270px;-ms-flex:0 1 270px;flex:0 1 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.text-primary{color:#fff}.timepicker-digital-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;padding:10px;font-weight:300}.timepicker-text-container{font-size:4rem;font-weight:bold;text-align:center;color:rgba(255,255,255,0.6);font-weight:400;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;position:absolute;right:1rem;bottom:1rem;font-weight:400}.timepicker-analog-display{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.timepicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:25px;margin-bottom:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-canvas,.timepicker-dial{position:absolute;left:0;right:0;top:0;bottom:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{border-radius:50%;color:rgba(0,0,0,0.87);line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;font-size:15px}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,0.25)}.timepicker-dial{-webkit-transition:opacity 350ms, -webkit-transform 350ms;transition:opacity 350ms, -webkit-transform 350ms;transition:transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms, -webkit-transform 350ms}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.timepicker-dial-out.timepicker-minutes{-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.timepicker-canvas{-webkit-transition:opacity 175ms;transition:opacity 175ms}.timepicker-canvas line{stroke:#26a69a;stroke-width:4;stroke-linecap:round}.timepicker-canvas-out{opacity:0.25}.timepicker-canvas-bearing{stroke:none;fill:#26a69a}.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{margin:0 auto;padding:5px 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.timepicker-clear{color:#F44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width: 601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{position:relative;right:auto;bottom:auto;text-align:center;margin-top:1.2rem}} diff --git a/examples/todoapp/web/src/jsMain/resources/materialize.min.js b/examples/todoapp/web/src/jsMain/resources/materialize.min.js new file mode 100644 index 0000000000..4ff077d6db --- /dev/null +++ b/examples/todoapp/web/src/jsMain/resources/materialize.min.js @@ -0,0 +1,6 @@ +/*! + * Materialize v1.0.0 (http://materializecss.com) + * Copyright 2014-2017 Materialize + * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) + */ +var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;ss.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(ho-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e=k.currentTime)for(var h=0;ht&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(sl.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s(''),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("
").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('
').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('
'),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,si.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0i||1"+o+""+a+""+r+""),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a");r.data?l.append(''+r.key+""):l.append(""+r.key+""),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g,"
");e.html(h),0'),this.$slides.each(function(t,e){var i=s('
  • ');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),tthis.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('
    '),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&tn.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),'"}},{key:"renderRow",value:function(t,e,i){return''+(e?t.reverse():t).join("")+""}},{key:"renderTable",value:function(t,e,i){return'
    '+this.renderHead(t)+this.renderBody(e)+"
    "}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push(''+this.renderDayName(t,e,!0)+"");return""+(t.isRTL?i.reverse():i).join("")+""}},{key:"renderBody",value:function(t){return""+t.join("")+""}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='
    ',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('");for(a='",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l=u.minYear&&d.push('");r='";v+='',v+='
    ',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="
    ",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='')+"
    "}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h('").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('
    ');h('").appendTo(e).on("click",this.close.bind(this)),h('").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('
    AM
    '),this.$pmBtn=h('
    PM
    '),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('
    ');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0','",""].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('
  • ');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i'+t.getAttribute("label")+"")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d('');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?'":e.innerHTML,a=d("
  • "),r=d("");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d('');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime); \ No newline at end of file diff --git a/examples/todoapp/web/src/jsMain/resources/styles.css b/examples/todoapp/web/src/jsMain/resources/styles.css new file mode 100644 index 0000000000..0fb771903b --- /dev/null +++ b/examples/todoapp/web/src/jsMain/resources/styles.css @@ -0,0 +1,34 @@ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: local('Material Icons'), + local('MaterialIcons-Regular'), + url(MaterialIcons-Regular.ttf) format('truetype'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; /* Preferred icon size */ + display: inline-block; + line-height: 1; + text-transform: none; + letter-spacing: normal; + word-wrap: normal; + white-space: nowrap; + direction: ltr; + + /* Support for all WebKit browsers. */ + -webkit-font-smoothing: antialiased; + /* Support for Safari and Chrome. */ + text-rendering: optimizeLegibility; + + /* Support for Firefox. */ + -moz-osx-font-smoothing: grayscale; + + /* Support for IE. */ + font-feature-settings: 'liga'; +} + diff --git a/examples/todoapp/web/webpack.config.d/fs.js b/examples/todoapp/web/webpack.config.d/fs.js new file mode 100644 index 0000000000..99ab171341 --- /dev/null +++ b/examples/todoapp/web/webpack.config.d/fs.js @@ -0,0 +1,9 @@ +// As per https://cashapp.github.io/sqldelight/js_sqlite/ + +config.resolve = { + fallback: { + fs: false, + path: false, + crypto: false + } +} diff --git a/examples/todoapp/web/webpack.config.d/wasm.js b/examples/todoapp/web/webpack.config.d/wasm.js new file mode 100644 index 0000000000..94bd17dfd2 --- /dev/null +++ b/examples/todoapp/web/webpack.config.d/wasm.js @@ -0,0 +1,12 @@ +// As per https://cashapp.github.io/sqldelight/js_sqlite/ + +var CopyWebpackPlugin = require('copy-webpack-plugin'); +config.plugins.push( + new CopyWebpackPlugin( + { + patterns: [ + {from: '../../node_modules/sql.js/dist/sql-wasm.wasm', to: '../../../web/build/distributions'} + ] + } + ) +);