From 60c77ca47bb5676a90012f0e7e6fce2e2e7fd138 Mon Sep 17 00:00:00 2001 From: Rick Zakharov Date: Sat, 9 Nov 2019 11:06:10 -0500 Subject: [PATCH 1/2] Added Leanda realm and theme --- Dockerfile | 6 +- keycloak-settings/leanda-realm.json | 457 + themes/Leanda/login/code.ftl | 19 + themes/Leanda/login/error.ftl | 15 + themes/Leanda/login/info.ftl | 22 + themes/Leanda/login/login-config-totp.ftl | 59 + .../Leanda/login/login-idp-link-confirm.ftl | 13 + themes/Leanda/login/login-idp-link-email.ftl | 18 + themes/Leanda/login/login-oauth-grant.ftl | 65 + themes/Leanda/login/login-page-expired.ftl | 13 + themes/Leanda/login/login-reset-password.ftl | 33 + themes/Leanda/login/login-totp.ftl | 34 + themes/Leanda/login/login-update-password.ftl | 42 + themes/Leanda/login/login-update-profile.ftl | 58 + themes/Leanda/login/login-verify-email.ftl | 15 + themes/Leanda/login/login-x509-info.ftl | 57 + themes/Leanda/login/login.ftl | 95 + .../login/messages/messages_ca.properties | 200 + .../login/messages/messages_de.properties | 195 + .../login/messages/messages_en.properties | 281 + .../login/messages/messages_es.properties | 200 + .../login/messages/messages_fr.properties | 214 + .../login/messages/messages_it.properties | 216 + .../login/messages/messages_ja.properties | 218 + .../login/messages/messages_lt.properties | 218 + .../login/messages/messages_nl.properties | 224 + .../login/messages/messages_no.properties | 231 + .../login/messages/messages_pt_BR.properties | 214 + .../login/messages/messages_ru.properties | 220 + .../login/messages/messages_sv.properties | 216 + .../login/messages/messages_zh_CN.properties | 234 + themes/Leanda/login/register.ftl | 88 + themes/Leanda/login/resources/css/login.css | 30 + .../login/resources/css/materialize.css | 9067 +++++++++++ .../login/resources/css/materialize.min.css | 13 + .../Leanda/login/resources/img/bg-pattern.svg | 114 + themes/Leanda/login/resources/img/favicon.ico | Bin 0 -> 6527 bytes .../resources/img/feedback-error-sign.png | Bin 0 -> 343 bytes .../resources/img/feedback-success-sign.png | Bin 0 -> 410 bytes .../resources/img/feedback-warning-sign.png | Bin 0 -> 646 bytes themes/Leanda/login/resources/img/flask.png | Bin 0 -> 40884 bytes .../login/resources/img/osdr-background.png | Bin 0 -> 315145 bytes .../Leanda/login/resources/img/osdr-logo.png | Bin 0 -> 11043 bytes .../Leanda/login/resources/js/materialize.js | 12374 ++++++++++++++++ .../login/resources/js/materialize.min.js | 6 + themes/Leanda/login/template.ftl | 89 + themes/Leanda/login/terms.ftl | 16 + themes/Leanda/login/theme.properties | 7 + 48 files changed, 25903 insertions(+), 3 deletions(-) create mode 100644 keycloak-settings/leanda-realm.json create mode 100644 themes/Leanda/login/code.ftl create mode 100644 themes/Leanda/login/error.ftl create mode 100644 themes/Leanda/login/info.ftl create mode 100644 themes/Leanda/login/login-config-totp.ftl create mode 100644 themes/Leanda/login/login-idp-link-confirm.ftl create mode 100644 themes/Leanda/login/login-idp-link-email.ftl create mode 100644 themes/Leanda/login/login-oauth-grant.ftl create mode 100644 themes/Leanda/login/login-page-expired.ftl create mode 100644 themes/Leanda/login/login-reset-password.ftl create mode 100644 themes/Leanda/login/login-totp.ftl create mode 100644 themes/Leanda/login/login-update-password.ftl create mode 100644 themes/Leanda/login/login-update-profile.ftl create mode 100644 themes/Leanda/login/login-verify-email.ftl create mode 100644 themes/Leanda/login/login-x509-info.ftl create mode 100644 themes/Leanda/login/login.ftl create mode 100644 themes/Leanda/login/messages/messages_ca.properties create mode 100644 themes/Leanda/login/messages/messages_de.properties create mode 100644 themes/Leanda/login/messages/messages_en.properties create mode 100644 themes/Leanda/login/messages/messages_es.properties create mode 100644 themes/Leanda/login/messages/messages_fr.properties create mode 100644 themes/Leanda/login/messages/messages_it.properties create mode 100644 themes/Leanda/login/messages/messages_ja.properties create mode 100644 themes/Leanda/login/messages/messages_lt.properties create mode 100644 themes/Leanda/login/messages/messages_nl.properties create mode 100644 themes/Leanda/login/messages/messages_no.properties create mode 100644 themes/Leanda/login/messages/messages_pt_BR.properties create mode 100644 themes/Leanda/login/messages/messages_ru.properties create mode 100644 themes/Leanda/login/messages/messages_sv.properties create mode 100644 themes/Leanda/login/messages/messages_zh_CN.properties create mode 100644 themes/Leanda/login/register.ftl create mode 100644 themes/Leanda/login/resources/css/login.css create mode 100644 themes/Leanda/login/resources/css/materialize.css create mode 100644 themes/Leanda/login/resources/css/materialize.min.css create mode 100644 themes/Leanda/login/resources/img/bg-pattern.svg create mode 100644 themes/Leanda/login/resources/img/favicon.ico create mode 100644 themes/Leanda/login/resources/img/feedback-error-sign.png create mode 100644 themes/Leanda/login/resources/img/feedback-success-sign.png create mode 100644 themes/Leanda/login/resources/img/feedback-warning-sign.png create mode 100644 themes/Leanda/login/resources/img/flask.png create mode 100644 themes/Leanda/login/resources/img/osdr-background.png create mode 100644 themes/Leanda/login/resources/img/osdr-logo.png create mode 100644 themes/Leanda/login/resources/js/materialize.js create mode 100644 themes/Leanda/login/resources/js/materialize.min.js create mode 100644 themes/Leanda/login/template.ftl create mode 100644 themes/Leanda/login/terms.ftl create mode 100644 themes/Leanda/login/theme.properties diff --git a/Dockerfile b/Dockerfile index bec2515..20f2af2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,9 @@ FROM jboss/keycloak:3.4.3.Final ENV DB_VENDOR POSTGRES -COPY ./themes/OSDR /opt/jboss/keycloak/themes/OSDR +COPY ./themes/Leanda /opt/jboss/keycloak/themes/Leanda RUN mkdir -p settings -COPY keycloak-settings/osdr-realm.json ./settings +COPY keycloak-settings/leanda-realm.json ./settings -CMD ["-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "-Dkeycloak.import=settings/osdr-realm.json"] \ No newline at end of file +CMD ["-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "-Dkeycloak.import=settings/leanda-realm.json"] diff --git a/keycloak-settings/leanda-realm.json b/keycloak-settings/leanda-realm.json new file mode 100644 index 0000000..53617b6 --- /dev/null +++ b/keycloak-settings/leanda-realm.json @@ -0,0 +1,457 @@ +{ + "realm": "Leanda", + "enabled": true, + "sslRequired": "external", + "registrationAllowed": false, + "privateKey": "MIICXAIBAAKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQABAoGAfmO8gVhyBxdqlxmIuglbz8bcjQbhXJLR2EoS8ngTXmN1bo2L90M0mUKSdc7qF10LgETBzqL8jYlQIbt+e6TH8fcEpKCjUlyq0Mf/vVbfZSNaVycY13nTzo27iPyWQHK5NLuJzn1xvxxrUeXI6A2WFpGEBLbHjwpx5WQG9A+2scECQQDvdn9NE75HPTVPxBqsEd2z10TKkl9CZxu10Qby3iQQmWLEJ9LNmy3acvKrE3gMiYNWb6xHPKiIqOR1as7L24aTAkEAtyvQOlCvr5kAjVqrEKXalj0Tzewjweuxc0pskvArTI2Oo070h65GpoIKLc9jf+UA69cRtquwP93aZKtW06U8dQJAF2Y44ks/mK5+eyDqik3koCI08qaC8HYq2wVl7G2QkJ6sbAaILtcvD92ToOvyGyeE0flvmDZxMYlvaZnaQ0lcSQJBAKZU6umJi3/xeEbkJqMfeLclD27XGEFoPeNrmdx0q10Azp4NfJAY+Z8KRyQCR2BEG+oNitBOZ+YXF9KCpH3cdmECQHEigJhYg+ykOvr1aiZUMFT72HU0jnmQe2FVekuG+LJUt2Tm7GtMjTFoGpf0JwrVuZN39fOYAlo+nTixgeW7X8Y=", + "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB", + "requiredCredentials": [ "password" ], + "loginTheme": "Leanda", + "users" : [ + { + "username" : "tester", + "enabled": true, + "email" : "tester@arqisoft.com", + "firstName": "T", + "lastName": "Tester", + "credentials" : [ + { "type" : "password", + "value" : "tester" } + ], + "realmRoles": [ "user" ], + "clientRoles": { + "account": ["view-profile", "manage-account"] + } + }, + { + "username" : "developer", + "enabled": true, + "email" : "developer@arqisoft.com", + "firstName": "D", + "lastName": "Developer", + "credentials" : [ + { "type" : "password", + "value" : "developer" } + ], + "realmRoles": [ "user" ], + "clientRoles": { + "account": ["view-profile", "manage-account"] + } + }, + { + "username" : "manager", + "enabled": true, + "email" : "manager@arqisoft.com", + "firstName": "M", + "lastName": "Manager", + "credentials" : [ + { "type" : "password", + "value" : "manager" } + ], + "realmRoles": [ "user" ], + "clientRoles": { + "account": ["view-profile", "manage-account"] + } +}, +{ + "username" : "researcher", + "enabled": true, + "email" : "researcher@arqisoft.com", + "firstName": "R", + "lastName": "Researcher", + "credentials" : [ + { "type" : "password", + "value" : "researcher" } + ], + "realmRoles": [ "user" ], + "clientRoles": { + "account": ["view-profile", "manage-account"] + } +} +], + "roles" : { + "realm" : [ + ] + }, + "scopeMappings": [ + ], + "clients": [ + { + "id": "81180929-3954-4954-b508-4a86e97735b7", + "clientId": "leanda_angular", + "rootUrl": "", + "surrogateAuthRequired": false, + "enabled": true, + "clientAuthenticatorType": "client-secret", + "secret": "be739764-09f9-4bde-91b4-cfbab1533fe6", + "redirectUris": [ + "http://localhost:5555/*" + ], + "webOrigins": ["*"], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": true, + "implicitFlowEnabled": true, + "directAccessGrantsEnabled": true, + "serviceAccountsEnabled": true, + "authorizationServicesEnabled": true, + "publicClient": false, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "saml.assertion.signature": "false", + "saml.force.post.binding": "false", + "saml.multivalued.roles": "false", + "saml.encrypt": "false", + "saml_force_name_id_format": "false", + "saml.client.signature": "false", + "saml.authnstatement": "false", + "saml.server.signature": "false", + "saml.server.signature.keyinfo.ext": "false", + "saml.onetimeuse.condition": "false" + }, + "fullScopeAllowed": true, + "nodeReRegistrationTimeout": -1, + "protocolMappers": [ + { + "id": "c470a813-8fbd-4ba4-ae8c-eb739e8e282a", + "name": "role list", + "protocol": "saml", + "protocolMapper": "saml-role-list-mapper", + "consentRequired": false, + "config": { + "single": "false", + "attribute.nameformat": "Basic", + "attribute.name": "Role" + } + }, + { + "id": "61dd2dc2-221f-4298-94c7-56e95830afbd", + "name": "full name", + "protocol": "openid-connect", + "protocolMapper": "oidc-full-name-mapper", + "consentRequired": true, + "consentText": "${fullName}", + "config": { + "id.token.claim": "true", + "access.token.claim": "true" + } + }, + { + "id": "8cdd4263-0f21-4b6a-a36c-30cfe0d49dd6", + "name": "username", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${username}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "preferred_username", + "jsonType.label": "String" + } + }, + { + "id": "5eb8060d-8020-4e6c-a7cb-dedcd1b6bc61", + "name": "email", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${email}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "email", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email", + "jsonType.label": "String" + } + }, + { + "id": "47832072-8290-486e-b7a3-5a9a48965c04", + "name": "given name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${givenName}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "firstName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "given_name", + "jsonType.label": "String" + } + }, + { + "id": "8f610eaf-b686-4306-babe-0c486b0e58e1", + "name": "Client IP Address", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "consentText": "", + "config": { + "user.session.note": "clientAddress", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientAddress", + "jsonType.label": "String" + } + }, + { + "id": "1d02ce59-6d9d-4bb3-b054-330572748ed7", + "name": "Client Host", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "consentText": "", + "config": { + "user.session.note": "clientHost", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientHost", + "jsonType.label": "String" + } + }, + { + "id": "02fe2e50-5196-45a1-973f-5406310089ca", + "name": "Client ID", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "consentText": "", + "config": { + "user.session.note": "clientId", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientId", + "jsonType.label": "String" + } + }, + { + "id": "460730ce-a89b-4c39-bc77-6064c449c9f4", + "name": "family name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${familyName}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "lastName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "family_name", + "jsonType.label": "String" + } + } + ], + "useTemplateConfig": false, + "useTemplateScope": false, + "useTemplateMappers": false, + "authorizationSettings": { + "allowRemoteResourceManagement": false, + "policyEnforcementMode": "ENFORCING", + "resources": [ + { + "name": "Default Resource", + "uri": "/*", + "type": "urn:osdr_angular:resources:default" + } + ], + "policies": [ + { + "name": "Default Policy", + "description": "A policy that grants access only for users within this realm", + "type": "js", + "logic": "POSITIVE", + "decisionStrategy": "AFFIRMATIVE", + "config": { + "code": "// by default, grants any permission associated with this policy\n$evaluation.grant();\n" + } + }, + { + "name": "Default Permission", + "description": "A permission that applies to the default resource type", + "type": "resource", + "logic": "POSITIVE", + "decisionStrategy": "UNANIMOUS", + "config": { + "defaultResourceType": "urn:osdr_angular:resources:default", + "applyPolicies": "[\"Default Policy\"]" + } + } + ], + "scopes": [] + } + }, + { + "clientId": "leanda_cli", + "surrogateAuthRequired": false, + "enabled": true, + "clientAuthenticatorType": "client-secret", + "redirectUris": [], + "webOrigins": [], + "notBefore": 0, + "bearerOnly": false, + "consentRequired": false, + "standardFlowEnabled": false, + "implicitFlowEnabled": false, + "directAccessGrantsEnabled": true, + "serviceAccountsEnabled": true, + "publicClient": true, + "frontchannelLogout": false, + "protocol": "openid-connect", + "attributes": { + "saml.assertion.signature": "false", + "saml.force.post.binding": "false", + "saml.multivalued.roles": "false", + "saml.encrypt": "false", + "saml_force_name_id_format": "false", + "saml.client.signature": "false", + "saml.authnstatement": "false", + "saml.server.signature": "false", + "saml.server.signature.keyinfo.ext": "false", + "saml.onetimeuse.condition": "false" + }, + "fullScopeAllowed": true, + "nodeReRegistrationTimeout": -1, + "protocolMappers": [ + { + "name": "email", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${email}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "email", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "email", + "jsonType.label": "String" + } + }, + { + "name": "Client IP Address", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "consentText": "", + "config": { + "user.session.note": "clientAddress", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientAddress", + "jsonType.label": "String" + } + }, + { + "name": "Client Host", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "consentText": "", + "config": { + "user.session.note": "clientHost", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientHost", + "jsonType.label": "String" + } + }, + { + "name": "given name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${givenName}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "firstName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "given_name", + "jsonType.label": "String" + } + }, + { + "name": "full name", + "protocol": "openid-connect", + "protocolMapper": "oidc-full-name-mapper", + "consentRequired": true, + "consentText": "${fullName}", + "config": { + "id.token.claim": "true", + "access.token.claim": "true" + } + }, + { + "name": "username", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${username}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "username", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "preferred_username", + "jsonType.label": "String" + } + }, + { + "name": "role list", + "protocol": "saml", + "protocolMapper": "saml-role-list-mapper", + "consentRequired": false, + "config": { + "single": "false", + "attribute.nameformat": "Basic", + "attribute.name": "Role" + } + }, + { + "name": "Client ID", + "protocol": "openid-connect", + "protocolMapper": "oidc-usersessionmodel-note-mapper", + "consentRequired": false, + "consentText": "", + "config": { + "user.session.note": "clientId", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "clientId", + "jsonType.label": "String" + } + }, + { + "name": "family name", + "protocol": "openid-connect", + "protocolMapper": "oidc-usermodel-property-mapper", + "consentRequired": true, + "consentText": "${familyName}", + "config": { + "userinfo.token.claim": "true", + "user.attribute": "lastName", + "id.token.claim": "true", + "access.token.claim": "true", + "claim.name": "family_name", + "jsonType.label": "String" + } + } + ], + "useTemplateConfig": false, + "useTemplateScope": false, + "useTemplateMappers": false, + "access": { + "view": true, + "configure": true, + "manage": true + } + } + ] +} \ No newline at end of file diff --git a/themes/Leanda/login/code.ftl b/themes/Leanda/login/code.ftl new file mode 100644 index 0000000..f266bda --- /dev/null +++ b/themes/Leanda/login/code.ftl @@ -0,0 +1,19 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + <#if code.success> + ${msg("codeSuccessTitle")} + <#else> + ${msg("codeErrorTitle", code.error)} + + <#elseif section = "form"> +
+ <#if code.success> +

${msg("copyCodeInstruction")}

+ + <#else> +

${code.error}

+ +
+ + diff --git a/themes/Leanda/login/error.ftl b/themes/Leanda/login/error.ftl new file mode 100644 index 0000000..84ff388 --- /dev/null +++ b/themes/Leanda/login/error.ftl @@ -0,0 +1,15 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayMessage=false; section> + <#if section = "title"> + ${msg("errorTitle")} + <#elseif section = "header"> + ${msg("errorTitleHtml")?no_esc} + <#elseif section = "form"> +
+

${message.summary}

+ <#if client?? && client.baseUrl?has_content> +

${msg("backToApplication")?no_esc}

+ +
+ + \ No newline at end of file diff --git a/themes/Leanda/login/info.ftl b/themes/Leanda/login/info.ftl new file mode 100644 index 0000000..2fddf88 --- /dev/null +++ b/themes/Leanda/login/info.ftl @@ -0,0 +1,22 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayMessage=false; section> + <#if section = "title"> + ${message.summary} + <#elseif section = "header"> + ${message.summary} + <#elseif section = "form"> +
+

${message.summary}<#if requiredActions??><#list requiredActions>: <#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, <#else>

+ <#if skipLink??> + <#else> + <#if pageRedirectUri??> +

${msg("backToApplication")?no_esc}

+ <#elseif actionUri??> +

${msg("proceedWithAction")?no_esc}

+ <#elseif client.baseUrl??> +

${msg("backToApplication")?no_esc}

+ + +
+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-config-totp.ftl b/themes/Leanda/login/login-config-totp.ftl new file mode 100644 index 0000000..24383ec --- /dev/null +++ b/themes/Leanda/login/login-config-totp.ftl @@ -0,0 +1,59 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayInfo=true; section> + <#if section = "title"> + ${msg("loginTotpTitle")} + <#elseif section = "header"> + ${msg("loginTotpTitle")} + <#elseif section = "form"> + + +
    +
  1. +

    ${msg("loginTotpStep1")}

    + +
      + <#list totp.policy.supportedApplications as app> +
    • ${app}
    • + +
    +
  2. + + <#if mode?? && mode = "manual"> +
  3. +

    ${msg("loginTotpManualStep2")}

    +

    ${totp.totpSecretEncoded}

    +

    ${msg("loginTotpScanBarcode")}

    +
  4. +
  5. +

    ${msg("loginTotpManualStep3")}

    +
      +
    • ${msg("loginTotpType")}: ${msg("loginTotp." + totp.policy.type)}
    • +
    • ${msg("loginTotpAlgorithm")}: ${totp.policy.algorithm}
    • +
    • ${msg("loginTotpDigits")}: ${totp.policy.digits}
    • +
    • ${msg("loginTotpInterval")}: ${totp.policy.period}
    • +
    +
  6. + <#else> +
  7. +

    ${msg("loginTotpStep2")}

    + Figure: Barcode
    +

    ${msg("loginTotpUnableToScan")}

    +
  8. + +
  9. +

    ${msg("loginTotpStep3")}

    +
  10. +
+ +
+
+
+ +
+ +
+ + +
+ + diff --git a/themes/Leanda/login/login-idp-link-confirm.ftl b/themes/Leanda/login/login-idp-link-confirm.ftl new file mode 100644 index 0000000..29ee2ae --- /dev/null +++ b/themes/Leanda/login/login-idp-link-confirm.ftl @@ -0,0 +1,13 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("confirmLinkIdpTitle")} + <#elseif section = "header"> + ${msg("confirmLinkIdpTitle")} + <#elseif section = "form"> +
+ + +
+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-idp-link-email.ftl b/themes/Leanda/login/login-idp-link-email.ftl new file mode 100644 index 0000000..1dbd43d --- /dev/null +++ b/themes/Leanda/login/login-idp-link-email.ftl @@ -0,0 +1,18 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("emailLinkIdpTitle", idpAlias)} + <#elseif section = "header"> + ${msg("emailLinkIdpTitle", idpAlias)} + <#elseif section = "form"> +

+ ${msg("emailLinkIdp1", idpAlias, brokerContext.username, realm.displayName)} +

+

+ ${msg("emailLinkIdp2")} ${msg("doClickHere")} ${msg("emailLinkIdp3")} +

+

+ ${msg("emailLinkIdp4")} ${msg("doClickHere")} ${msg("emailLinkIdp5")} +

+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-oauth-grant.ftl b/themes/Leanda/login/login-oauth-grant.ftl new file mode 100644 index 0000000..dc423c4 --- /dev/null +++ b/themes/Leanda/login/login-oauth-grant.ftl @@ -0,0 +1,65 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout bodyClass="oauth"; section> + <#if section = "title"> + ${msg("oauthGrantTitle")} + <#elseif section = "header"> + ${msg("oauthGrantTitleHtml",(realm.displayNameHtml!''))?no_esc} <#if client.name??>${advancedMsg(client.name)}<#else>${client.clientId}. + <#elseif section = "form"> +
+

${msg("oauthGrantRequest")}

+ + +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-page-expired.ftl b/themes/Leanda/login/login-page-expired.ftl new file mode 100644 index 0000000..f58c25d --- /dev/null +++ b/themes/Leanda/login/login-page-expired.ftl @@ -0,0 +1,13 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("pageExpiredTitle")} + <#elseif section = "header"> + ${msg("pageExpiredTitle")} + <#elseif section = "form"> +

+ ${msg("pageExpiredMsg1")} ${msg("doClickHere")} . + ${msg("pageExpiredMsg2")} ${msg("doClickHere")} . +

+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-reset-password.ftl b/themes/Leanda/login/login-reset-password.ftl new file mode 100644 index 0000000..a6c1568 --- /dev/null +++ b/themes/Leanda/login/login-reset-password.ftl @@ -0,0 +1,33 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayInfo=true; section> + <#if section = "title"> + ${msg("emailForgotTitle")} + <#elseif section = "header"> + ${msg("emailForgotTitle")} + <#elseif section = "form"> +
+
+
+ +
+
+ +
+
+ +
+ + +
+ +
+
+
+ <#elseif section = "info" > + ${msg("emailInstruction")} + + diff --git a/themes/Leanda/login/login-totp.ftl b/themes/Leanda/login/login-totp.ftl new file mode 100644 index 0000000..d0450e2 --- /dev/null +++ b/themes/Leanda/login/login-totp.ftl @@ -0,0 +1,34 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("loginTitle",realm.displayName)} + <#elseif section = "header"> + ${msg("loginTitleHtml",realm.displayNameHtml)?no_esc} + <#elseif section = "form"> +
+
+
+ +
+ +
+ +
+
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-update-password.ftl b/themes/Leanda/login/login-update-password.ftl new file mode 100644 index 0000000..2ec37fb --- /dev/null +++ b/themes/Leanda/login/login-update-password.ftl @@ -0,0 +1,42 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayInfo=true; section> + <#if section = "title"> + ${msg("updatePasswordTitle")} + <#elseif section = "header"> + ${msg("updatePasswordTitle")} + <#elseif section = "form"> +
+ + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+ +
+
+
+ + diff --git a/themes/Leanda/login/login-update-profile.ftl b/themes/Leanda/login/login-update-profile.ftl new file mode 100644 index 0000000..c57c877 --- /dev/null +++ b/themes/Leanda/login/login-update-profile.ftl @@ -0,0 +1,58 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("loginProfileTitle")} + <#elseif section = "header"> + ${msg("loginProfileTitle")} + <#elseif section = "form"> +
+ <#if user.editUsernameAllowed> +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+ +
+
+
+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-verify-email.ftl b/themes/Leanda/login/login-verify-email.ftl new file mode 100644 index 0000000..53caaa3 --- /dev/null +++ b/themes/Leanda/login/login-verify-email.ftl @@ -0,0 +1,15 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("emailVerifyTitle")} + <#elseif section = "header"> + ${msg("emailVerifyTitle")} + <#elseif section = "form"> +

+ ${msg("emailVerifyInstruction1")} +

+

+ ${msg("emailVerifyInstruction2")} ${msg("doClickHere")} ${msg("emailVerifyInstruction3")} +

+ + \ No newline at end of file diff --git a/themes/Leanda/login/login-x509-info.ftl b/themes/Leanda/login/login-x509-info.ftl new file mode 100644 index 0000000..47d6aad --- /dev/null +++ b/themes/Leanda/login/login-x509-info.ftl @@ -0,0 +1,57 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("loginTitle",(realm.displayName!''))} + <#elseif section = "header"> + ${msg("loginTitleHtml",(realm.displayNameHtml!''))?no_esc} + <#elseif section = "form"> + +
+
+ +
+ +
+ <#if subjectDN??> +
+ +
+ <#else> +
+ +
+ +
+ +
+ + <#if isUserEnabled> +
+ +
+
+ +
+ + +
+ +
+
+
+
+
+ +
+
+ + <#if isUserEnabled> + + +
+
+
+
+ + + diff --git a/themes/Leanda/login/login.ftl b/themes/Leanda/login/login.ftl new file mode 100644 index 0000000..6e5814f --- /dev/null +++ b/themes/Leanda/login/login.ftl @@ -0,0 +1,95 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayInfo=social.displayInfo; section> + <#if section = "title"> + ${msg("loginTitle",(realm.displayName!""))} + <#elseif section = "header"> + ${msg("loginTitleHtml",(realm.displayNameHtml!""))?no_esc} + <#elseif section = "form"> + <#if realm.password> +
+
+
+
+ +
+
+
${properties.kcLoginText!}
+
+
+
+
+
+
+ <#if usernameEditDisabled??> + + + <#else> + + + +
+
+ + +
+
+ <#if realm.rememberMe && !usernameEditDisabled??> + + +
+ <#if realm.resetPasswordAllowed> + ${msg("doForgotPassword")} + +
+
+
+
+ +
+
+
+
+
+ + <#elseif section = "info" > + <#if realm.password && realm.registrationAllowed && !usernameEditDisabled??> +
+ ${msg("noAccount")} ${msg("doRegister")} +
+ + + <#if realm.password && social.providers??> +
+ +
+ + + \ No newline at end of file diff --git a/themes/Leanda/login/messages/messages_ca.properties b/themes/Leanda/login/messages/messages_ca.properties new file mode 100644 index 0000000..0e8458b --- /dev/null +++ b/themes/Leanda/login/messages/messages_ca.properties @@ -0,0 +1,200 @@ +doLogIn=Inicia sessi\u00F3 +doRegister=Registra''t +doCancel=Cancel\u00B7lar +doSubmit=Envia +doYes=S\u00ED +doNo=No +doContinue=Continua +doAccept=Accepta +doDecline=Rebutja +doForgotPassword=Has oblidat la teva contrasenya? +doClickHere=Fes clic aqu\u00ED +doImpersonate=Personifica +kerberosNotConfigured=Kerberos no configurat +kerberosNotConfiguredTitle=Kerberos no configurat +bypassKerberosDetail=O b\u00E9 no est\u00E0s identificat mitjan\u00E7ant Kerberos o el teu navegador no est\u00E0 configurat per identificar-se mitjan\u00E7ant Kerberos. Si us plau fes clic per identificar-te per un altre mitj\u00E0. +kerberosNotSetUp=Kerberos no est\u00E0 configurat. No pots identificar-te. +registerWithTitle=Registra''t amb {0} +registerWithTitleHtml={0} +loginTitle=Inicia sessi\u00F3 a {0} +loginTitleHtml={0} +impersonateTitle={0}\u00A0Personifica Usuari +impersonateTitleHtml={0} Personifica Usuari +realmChoice=Domini +unknownUser=Usuari desconegut +loginTotpTitle=Configura la teva aplicaci\u00F3 d''identificaci\u00F3 m\u00F2bil +loginProfileTitle=Actualitza la informaci\u00F3 del teu compte +loginTimeout=Has trigat massa a identificar-te. Inicia de nou la identificaci\u00F3. +oauthGrantTitle=Concessi\u00F3 OAuth +oauthGrantTitleHtml={0} +errorTitle=Ho sentim... +errorTitleHtml=Ho sentim... +emailVerifyTitle=Verificaci\u00F3 de l''email +emailForgotTitle=Has oblidat la teva contrasenya? +updatePasswordTitle=Modificaci\u00F3 de contrasenya +codeSuccessTitle=Codi d''\u00E8xit +codeErrorTitle=Codi d''error: {0} + +termsTitle=Termes i Condicions +termsTitleHtml=Termes i Condicions +termsText=

Termes i condicions a definir

+ +recaptchaFailed=Reconeixement de text inv\u00E0lid +recaptchaNotConfigured=El reconeixement de text \u00E9s obligatori per\u00F2 no est\u00E0 configurat +consentDenied=Consentiment rebutjat. + +noAccount=Usuari nou? +username=Usuari +usernameOrEmail=Usuari o email +firstName=Nom +givenName=Nom de pila +fullName=Nom complet +lastName=Cognoms +familyName=Cognoms +email=Email +password=Contrasenya +passwordConfirm=Confirma la contrasenya +passwordNew=Nova contrasenya +passwordNewConfirm=Confirma la nova contrasenya +rememberMe=Seguir connectat +authenticatorCode=Codi d''identificaci\u00F3 +address=Adre\u00E7a +street=Carrer +locality=Ciutat o Municipi +region=Estat, Prov\u00EDncia, o Regi\u00F3 +postal_code=Codi Postal +country=Pa\u00EDs +emailVerified=Email verificat +gssDelegationCredential=GSS Delegation Credential + +loginTotpStep1=Instal\u00B7la FreeOTP o Google Authenticator al teu tel\u00E8fon m\u00F2bil. Les dues aplicacions estan disponibles a Google Play i en l''App Store d''Apple. +loginTotpStep2=Obre l''aplicaci\u00F3 i escaneja el codi o introdueix la clau. +loginTotpStep3=Introdueix el codi \u00FAnic que et mostra l''aplicaci\u00F3 d''autenticaci\u00F3 i fes clic a Envia per finalitzar la configuraci\u00F3 +loginTotpOneTime=Codi d''un sol \u00FAs + +oauthGrantRequest=Vols permetre aquests privilegis d''acc\u00E9s? +inResource=a + +emailVerifyInstruction1=T''hem enviat un email amb instruccions per verificar el teu email. +emailVerifyInstruction2=No has rebut un codi de verificaci\u00F3 al teu email? +emailVerifyInstruction3=per reenviar l''email. + +backToLogin=« Torna a la identificaci\u00F3 + +emailInstruction=Indica el teu usuari o email i t''enviarem instruccions indicant com generar una nova contrasenya. + +copyCodeInstruction=Si us plau, copia i enganxa aquest codi a la teva aplicaci\u00F3: + +personalInfo=Informaci\u00F3 personal: +role_admin=Admin +role_realm-admin=Administrador del domini +role_create-realm=Crear domini +role_create-client=Crear client +role_view-realm=Veure domini +role_view-users=Veure usuaris +role_view-applications=Veure aplicacions +role_view-clients=Veure clients +role_view-events=Veure events +role_view-identity-providers=Veure prove\u00EFdors d''identitat +role_manage-realm=Gestionar domini +role_manage-users=Gestionar usuaris +role_manage-applications=Gestionar aplicacions +role_manage-identity-providers=Gestionar prove\u00EFdors d''identitat +role_manage-clients=Gestionar clients +role_manage-events=Gestionar events +role_view-profile=Veure perfil +role_manage-account=Gestionar compte +role_read-token=Llegir token +role_offline-access=Acc\u00E9s sense connexi\u00F3 +client_account=Compte +client_security-admin-console=Consola d''Administraci\u00F3 de Seguretat +client_realm-management=Gesti\u00F3 del domini +client_broker=Broker + +invalidUserMessage=Usuari o contrasenya incorrectes. +invalidEmailMessage=Email no v\u00E0lid +accountDisabledMessage=El compte est\u00E0 desactivat, contacta amb l''administrador. +accountTemporarilyDisabledMessage=El compte est\u00E0 temporalment desactivat, contacta amb l''administrador o intenta-ho de nou m\u00E9s tard. +expiredCodeMessage=S''ha esgotat el temps m\u00E0xim per a la identificaci\u00F3. Si us plau identifica''t de nou. + +missingFirstNameMessage=Si us plau indica el teu nom. +missingLastNameMessage=Si us plau indica els teus cognoms. +missingEmailMessage=Si us plau indica el teu email. +missingUsernameMessage=Si us plau indica el teu usuari. +missingPasswordMessage=Si us plau indica la teva contrasenya. +missingTotpMessage=Si us plau indica el teu codi d''autenticaci\u00F3 +notMatchPasswordMessage=Les contrasenyes no coincideixen. + +invalidPasswordExistingMessage=La contrasenya actual no \u00E9s correcta. +invalidPasswordConfirmMessage=La confirmaci\u00F3 de contrasenya no coincideix. +invalidTotpMessage=El codi d''autenticaci\u00F3 no \u00E9s v\u00E0lid. + +usernameExistsMessage=El nom d''usuari ja existeix +emailExistsMessage=L''email ja existeix + +federatedIdentityEmailExistsMessage=Ja existeix un usuari amb aquest email. Si us plau accedeix a la gesti\u00F3 del teu compte per enlla\u00E7ar-lo. +federatedIdentityUsernameExistsMessage=Ja existeix un usuari amb aquest nom d''usuari. Si us plau accedeix a la gesti\u00F3 del teu compte per enlla\u00E7ar-lo. + +configureTotpMessage=Has de configurar l''aplicaci\u00F3 m\u00F2bil 'd'identificaci\u00F3 per activar el teu compte. +updateProfileMessage=Has d''actualitzar el teu perfil d''usuari per activar el teu compte. +updatePasswordMessage=Has de canviar la contrasenya per activar el teu compte. +verifyEmailMessage=Has de verificar el teu email per activar el teu compte. + +emailSentMessage=En breu hauries de rebre un missatge amb m\u00E9s instruccions +emailSendErrorMessage=Ha fallat l''enviament de l''email, si us plau intenta-ho de nou m\u00E9s tard. + +accountUpdatedMessage=El teu compte s''ha actualitzat. +accountPasswordUpdatedMessage=La contrasenya s''ha actualitzat. + +noAccessMessage=Sense acc\u00E9s + +invalidPasswordMinLengthMessage=Contrasenya incorrecta: longitud m\u00EDnima {0}. +invalidPasswordMinDigitsMessage=Contrasenya incorrecta: ha de contenir almenys {0} car\u00E0cters num\u00E8rics. +invalidPasswordMinLowerCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres min\u00FAscules. +invalidPasswordMinUpperCaseCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} lletres maj\u00FAscules. +invalidPasswordMinSpecialCharsMessage=Contrasenya incorrecta: ha de contenir almenys {0} car\u00E0cters especials. +invalidPasswordNotUsernameMessage=Contrasenya incorrecta: no pot ser igual al nom d''usuari. +invalidPasswordRegexPatternMessage=Contrasenya incorrecta: no compleix l''expressi\u00F3 regular. +invalidPasswordHistoryMessage=Contrasenya incorrecta: no pot ser igual a cap de les \u00FAltimes {0} contrasenyes. + +failedToProcessResponseMessage=Fallada en processar la resposta +httpsRequiredMessage=HTTPS obligatori +realmNotEnabledMessage=El domini no est\u00E0 activat +invalidRequestMessage=Petici\u00F3 incorrecta +failedLogout=Ha fallat la desconnexi\u00F3. +unknownLoginRequesterMessage=Sol\u00B7licitant d''identificaci\u00F3 desconegut +loginRequesterNotEnabledMessage=El sol\u00B7licitant d''inici de sessi\u00F3 est\u00E0 desactivat +bearerOnlyMessage=Les aplicacions Bearer-only no poden iniciar sessi\u00F3 des del navegador. +directGrantsOnlyMessage=Els clients de tipus Direct-grants-only no poden iniciar sessi\u00F3 des del navegador. +invalidRedirectUriMessage=L''URI de redirecci\u00F3 no \u00E9s correcta +unsupportedNameIdFormatMessage=NameIDFormat no suportat +invalidRequesterMessage=Sol\u00B7licitant no v\u00E0lid +registrationNotAllowedMessage=El registre no est\u00E0 perm\u00E8s +resetCredentialNotAllowedMessage=El reinici de les credencials no est\u00E0 perm\u00E8s + +permissionNotApprovedMessage=Perm\u00EDs no aprovat. +noRelayStateInResponseMessage=Sense estat de retransmissi\u00F3 en la resposta del prove\u00EFdor d''identitat. +identityProviderAlreadyLinkedMessage=La identitat retornada pel prove\u00EFdor d''identitat ja est\u00E0 associada a un altre usuari. +insufficientPermissionMessage=Permisos insuficients per enlla\u00E7ar identitats. +couldNotProceedWithAuthenticationRequestMessage=No s''ha pogut continuar amb la petici\u00F3 d''autenticaci\u00F3 al prove\u00EFdor d''identitat. +couldNotObtainTokenMessage=No s''ha pogut obtenir el codi del prove\u00EFdor d''identitat. +unexpectedErrorRetrievingTokenMessage=Error inesperat obtenint el token del prove\u00EFdor d''identitat +unexpectedErrorHandlingResponseMessage=Error inesperat processant la resposta del prove\u00EFdor d''identitat. +identityProviderAuthenticationFailedMessage=Ha fallat l''autenticaci\u00F3. No ha estat possible autenticar-se en el prove\u00EFdor d''identitat. +couldNotSendAuthenticationRequestMessage=No s''ha pogut enviar la petici\u00F3 d''identificaci\u00F3 al prove\u00EFdor d''identitat. +unexpectedErrorHandlingRequestMessage=Error inesperat durant la petici\u00F3 d''identificaci\u00F3 al prove\u00EFdor d''identitat. +invalidAccessCodeMessage=Codi d''acc\u00E9s no v\u00E0lid. +sessionNotActiveMessage=La sessi\u00F3 no est\u00E0 activa +invalidCodeMessage=Hi ha hagut un error, si us plau identifica''t de nou des de la teva aplicaci\u00F3. +identityProviderUnexpectedErrorMessage=Error no esperat intentant autenticar en el prove\u00EFdor d''identitat. +identityProviderNotFoundMessage=No s''ha trobat cap prove\u00EFdor d''identitat. +realmSupportsNoCredentialsMessage=El domini no suporta cap tipus de credencials. +identityProviderNotUniqueMessage=El domini suporta m\u00FAltiples prove\u00EFdors d''identitat. No s''ha pogut determinar el prove\u00EFdor d''identitat que hauria de ser utilitzat per identificar-se. +emailVerifiedMessage=El teu email ha estat verificat. + +backToApplication=« Torna a l''aplicaci\u00F3 +missingParameterMessage=Par\u00E0metres que falten: {0} +clientNotFoundMessage=Client no trobat +invalidParameterMessage=Par\u00E0metre no v\u00E0lid: {0} +alreadyLoggedIn=You are already logged in. + diff --git a/themes/Leanda/login/messages/messages_de.properties b/themes/Leanda/login/messages/messages_de.properties new file mode 100644 index 0000000..327e99b --- /dev/null +++ b/themes/Leanda/login/messages/messages_de.properties @@ -0,0 +1,195 @@ +doLogIn=Anmelden +doRegister=Registrieren +doCancel=Abbrechen +doSubmit=Absenden +doYes=Ja +doNo=Nein +doAccept=Annehmen +doDecline=Ablehnen +doContinue=Weiter +doForgotPassword=Passwort vergessen? +doClickHere=Hier klicken +doImpersonate=Identit\u00E4tswechsel +kerberosNotConfigured=Kerberos ist nicht konfiguriert. +kerberosNotConfiguredTitle=Kerberos nicht konfiguriert +bypassKerberos=Ihr Browser is nicht f\u00FCr Kerberos Login konfiguriert. Bitte klicken Sie auf Weiter, um mit einem anderen Anmeldeverfahren fortzufahren +kerberosNotSetUp=Kerberos ist nicht konfiguriert. Sie k\u00F6nnen sich damit nicht anmelden. +recaptchaFailed=Ung\u00FCltiges Recaptcha +recaptchaNotConfigured=Recaptcha Eingabe ist erforderlich, jedoch noch nicht konfiguriert. +consentDenied=Zustimmung verweigert. + +registerWithTitle=Registrierung bei {0} +registerWithTitleHtml={0} +loginTitle=Anmeldung bei {0} +loginTitleHtml={0} +loginOauthTitle= +loginOauthTitleHtml=Tempor\u00E4rer Zugriff auf {0} angefordert von {1}. +loginTotpTitle=Mobile Authentifizierung einrichten +loginProfileTitle=Benutzerkonto Informationen aktualisieren +loginTimeout=Sie haben zu lange gebraucht, um sich anzumelden. Bitte versuchen Sie es erneut. +impersonateTitle={0} Identit\u00E4tswechsel +impersonateTitleHtml={0} Identit\u00E4tswechsel +unknownUser=Unbekannter Benutzer +realmChoice=Realm +oauthGrantTitle=OAuth gew\u00E4hren +oauthGrantTitleHtml={0} +errorTitle=Es ist ein Fehler aufgetreten. +errorTitleHtml=Es ist ein Fehler aufgetreten. +emailVerifyTitle=E-Mail verifizieren +emailForgotTitle=Passwort vergessen? +updatePasswordTitle=Passwort aktualisieren +codeSuccessTitle=Erfolgreicher Code +codeErrorTitle=Fehlercode\: {0} + +noAccount=Neuer Benutzer? +username=Benutzername +usernameOrEmail=Benutzername oder E-Mail +firstName=Vorname +givenName=Vorname +fullName=Voller Name +lastName=Nachname +familyName=Nachname +email=E-Mail +password=Passwort +passwordConfirm=Passwort best\u00E4tigen +passwordNew=Neues Passwort +passwordNewConfirm=Neues Passwort best\u00E4tigen +rememberMe=Angemeldet bleiben +authenticatorCode=One-time Code +address=Adresse +street=Stra\u00DFe +region=Staat, Provinz, Region +postal_code=PLZ +locality=Stadt oder Ortschaft +country=Land +emailVerified=E-Mail verifiziert +gssDelegationCredential=GSS delegierte Berechtigung + +loginTotpStep1=Installieren Sie FreeOTP oder Google Authenticator auf Ihrem Smartphone. +loginTotpStep2=\u00D6ffnen Sie die Applikation und scannen Sie den Barcode oder geben Sie den Code ein. +loginTotpStep3=Geben Sie den von der Applikation generierten One-time Code ein und klicken Sie auf Absenden. +loginTotpOneTime=One-time Code + +oauthGrantRequest=Wollen Sie diese Zugriffsrechte gew\u00E4hren? +inResource=in + +emailVerifyInstruction1=Eine E-Mail mit weiteren Anweisungen wurde an Sie versendet. +emailVerifyInstruction2=Falls Sie keine E-Mail erhalten haben, dann k\u00F6nnen Sie +emailVerifyInstruction3=um eine neue E-Mail versenden zu lassen. + +backToLogin=« Zur\u00FCck zur Anmeldung +backToApplication=« Zur\u00FCck zur Applikation + +temporaryEmailCode=Tempor\u00E4rer Email Code +emailInstruction=Geben Sie ihren Benutzernamen oder E-Mail Adresse ein und klicken Sie auf Absenden. Danach werden wir Ihnen eine E-Mail mit weiteren Instruktionen zusenden. +validateResetEmailInstruction=Eine E-Mail wurde an Sie versendet. Klicken Sie auf die URL in der E-Mail, um ihr Passwort zur\u00FCckzusetzen und sich neu anzumelden. Alternativ k\u00F6nnen Sie den tempor\u00E4ren Code aus der E-Mail in das Eingabefeld unten links eingeben und auf Absenden klicken. + +copyCodeInstruction=Bitte kopieren Sie den folgenden Code und f\u00FCgen ihn in die Applikation ein\: + +personalInfo=Pers\u00F6nliche Informationen: + +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Realm erstellen +role_view-realm=Realm ansehen +role_view-users=Benutzer ansehen +role_view-applications=Applikationen ansehen +role_view-clients=Clients ansehen +role_view-events=Events ansehen +role_view-identity-providers=Identity Provider ansehen +role_manage-realm=Realm verwalten +role_manage-users=Benutzer verwalten +role_manage-applications=Applikationen verwalten +role_manage-identity-providers=Identity Provider verwalten +role_manage-clients=Clients verwalten +role_manage-events=Events verwalten +role_view-profile=Profile ansehen +role_manage-account=Profile verwalten + +invalidUserMessage=Ung\u00FCltiger Benutzername oder Passwort. +invalidEmailMessage=Ung\u00FCltige E-Mail Adresse. +accountDisabledMessage=Benutzerkonto ist gesperrt, bitte kontaktieren Sie den Admin. +accountTemporarilyDisabledMessage=Benutzerkonto ist tempor\u00E4r gesperrt. Bitte kontaktieren Sie den Admin oder versuchen Sie es sp\u00E4ter noch einmal. +expiredCodeMessage=Zeit\u00FCberschreitung bei der Anmeldung. Bitte melden Sie sich erneut an. + +missingFirstNameMessage=Bitte geben Sie einen Vornamen ein. +missingLastNameMessage=Bitte geben Sie einen Nachnamen ein. +missingEmailMessage=Bitte geben Sie eine E-Mail Adresse ein. +missingUsernameMessage=Bitte geben Sie einen Benutzernamen ein. +missingPasswordMessage=Bitte geben Sie ein Passwort ein. +missingTotpMessage=Bitte geben Sie den One-time Code ein. +notMatchPasswordMessage=Passw\u00F6rter sind nicht identisch. + +invalidPasswordExistingMessage=Das aktuelle Passwort ist ung\u00FCltig. +invalidPasswordConfirmMessage=Die Passwortbest\u00E4tigung ist nicht identisch. +invalidTotpMessage=Ung\u00FCltiger One-time Code. + +usernameExistsMessage=Benutzername existiert bereits. +emailExistsMessage=E-Mail existiert bereits. + +federatedIdentityEmailExistsMessage=Es existiert bereits ein Benutzer mit dieser E-Mail Adresse. Bitte melden Sie sich bei der Benutzerverwaltung an, um das Benutzerkonto zu verkn\u00FCpfen. +federatedIdentityUsernameExistsMessage=Es existiert bereits ein Benutzer mit diesem Benutzernamen. Bitte melden Sie sich bei der Benutzerverwaltung an, um das Benutzerkonto zu verkn\u00FCpfen. + +configureTotpMessage=Sie m\u00FCssen eine Mobile Authentifizierung einrichten, um das Benutzerkonto zu aktivieren. +updateProfileMessage=Sie m\u00FCssen ihr Benutzerkonto aktualisieren, um das Benutzerkonto zu aktivieren. +updatePasswordMessage=Sie m\u00FCssen ihr Passwort \u00E4ndern, um das Benutzerkonto zu aktivieren. +verifyEmailMessage=Sie m\u00FCssen ihre E-Mail Adresse verifizieren, um das Benutzerkonto zu aktivieren. + +emailSentMessage=Sie sollten in k\u00FCrze ein E-Mail mit weiteren Instruktionen erhalten. +emailSendErrorMessage=Die E-Mail konnte nicht versendet werden. Bitte versuchen Sie es sp\u00E4ter nochmal einmal. + +accountUpdatedMessage=Ihr Benutzerkonto wurde aktualisiert. +accountPasswordUpdatedMessage=Ihr Passwort wurde aktualisiert. + +noAccessMessage=Kein Zugriff + +invalidPasswordMinLengthMessage=Ung\u00FCltiges Passwort\: Mindestl\u00E4nge {0}. +invalidPasswordMinDigitsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Ziffer(n) enthalten. +invalidPasswordMinLowerCaseCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Kleinbuchstaben enthalten. +invalidPasswordMinUpperCaseCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Gro\u00DFbuchstaben enthalten. +invalidPasswordMinSpecialCharsMessage=Ung\u00FCltiges Passwort\: muss mindestens {0} Sonderzeichen enthalten. +invalidPasswordNotUsernameMessage=Ung\u00FCltiges Passwort\: darf nicht dem Benutzernamen entsprechen. +invalidPasswordRegexPatternMessage=Ung\u00FCltiges Passwort\: entspricht nicht Regex-Muster(n). +invalidPasswordHistoryMessage=Ung\u00FCltiges Passwort: darf nicht einem der letzten {0} Passw\u00F6rter entsprechen. + +failedToProcessResponseMessage=Konnte Antwort nicht verarbeiten. +httpsRequiredMessage=HTTPS erforderlich. +realmNotEnabledMessage=Realm nicht aktiviert. +invalidRequestMessage=Ung\u00FCltiger Request. +failedLogout=Logout fehlgeschlagen. +unknownLoginRequesterMessage=Ung\u00FCltiger Login Requester. +loginRequesterNotEnabledMessage=Login Requester nicht aktiviert. +bearerOnlyMessage=Bearer-only Clients k\u00F6nnen sich nicht via Browser anmelden. +directGrantsOnlyMessage=Direct-grants-only Clients k\u00F6nnen sich nicht via Browser anmelden. +invalidRedirectUriMessage=Ung\u00FCltige Redirect Uri. +unsupportedNameIdFormatMessage=Nicht unterst\u00FCtztes NameIDFormat. +invalidRequesterMessage=Ung\u00FCltiger Requester. +registrationNotAllowedMessage=Registrierung nicht erlaubt. +resetCredentialNotAllowedMessage=Reset Credential nicht erlaubt. + +permissionNotApprovedMessage=Berechtigung nicht best\u00E4tigt. +noRelayStateInResponseMessage=Kein Relay State in der Antwort von Identity Provider. +identityProviderAlreadyLinkedMessage=Die Identit\u00E4t welche von dem Identity Provider zur\u00FCckgegeben wurde ist bereits mit einem anderen Benutzer verkn\u00FCpft. +insufficientPermissionMessage=Nicht gen\u00FCgend Rechte, um die Identit\u00E4t zu verkn\u00FCpfen. +couldNotProceedWithAuthenticationRequestMessage=Konnte die Authentifizierungsanfrage nicht weiter verarbeiten. +couldNotObtainTokenMessage=Konnte kein Token vom Identity Provider erhalten. +unexpectedErrorRetrievingTokenMessage=Unerwarteter Fehler w\u00E4hrend dem Empfang des Tokens vom Identity Provider. +unexpectedErrorHandlingResponseMessage=Unerwarteter Fehler w\u00E4hrend der Bearbeitung der Antwort vom Identity Provider. +identityProviderAuthenticationFailedMessage=Authentifizierung fehlgeschlagen. Authentifizierung mit dem Identity Provider nicht m\u00F6glich. +couldNotSendAuthenticationRequestMessage=Konnte Authentifizierungsanfrage nicht an den Identity Provider senden. +unexpectedErrorHandlingRequestMessage=Unerwarteter Fehler w\u00E4hrend der Bearbeitung der Anfrage an den Identity Provider. +invalidAccessCodeMessage=Ung\u00FCltiger Access-Code. +sessionNotActiveMessage=Session nicht aktiv. +unknownCodeMessage=Unbekannter Code. Bitte melden Sie sich erneut \u00FCber die Applikation an. +invalidCodeMessage=Ung\u00FCltiger Code, bitte melden Sie sich erneut \u00FCber die Applikation an. +identityProviderUnexpectedErrorMessage=Unerwarteter Fehler w\u00E4hrend der Authentifizierung mit dem Identity Provider. +identityProviderNotFoundMessage=Konnte keinen Identity Provider zu der Identit\u00E4t finden. +realmSupportsNoCredentialsMessage=Realm unterst\u00FCtzt keine Credential Typen. +identityProviderNotUniqueMessage=Der Realm unterst\u00FCtzt mehrere Identity Provider. Es konnte kein eindeutiger Identity Provider zum Authentifizieren gew\u00E4hlt werden. + +invalidParameterMessage=Ung\u00FCltiger Parameter\: {0} +missingParameterMessage=Fehlender Parameter\: {0} +clientNotFoundMessage=Client nicht gefunden. + +emailVerifiedMessage=Ihr E-Mail Adresse wurde erfolgreich verifiziert. +alreadyLoggedIn=Sie sind bereits angemeldet. diff --git a/themes/Leanda/login/messages/messages_en.properties b/themes/Leanda/login/messages/messages_en.properties new file mode 100644 index 0000000..7c5a22d --- /dev/null +++ b/themes/Leanda/login/messages/messages_en.properties @@ -0,0 +1,281 @@ +doLogIn=Log in +doRegister=Register +doCancel=Cancel +doSubmit=Submit +doYes=Yes +doNo=No +doContinue=Continue +doIgnore=Ignore +doAccept=Accept +doDecline=Decline +doForgotPassword=Forgot Password? +doClickHere=Click here +doImpersonate=Impersonate +kerberosNotConfigured=Kerberos Not Configured +kerberosNotConfiguredTitle=Kerberos Not Configured +bypassKerberosDetail=Either you are not logged in via Kerberos or your browser is not set up for Kerberos login. Please click continue to login in through other means +kerberosNotSetUp=Kerberos is not set up. You cannot login. +registerWithTitle=Register with {0} +registerWithTitleHtml={0} +loginTitle=Log in to {0} +loginTitleHtml={0} +impersonateTitle={0} Impersonate User +impersonateTitleHtml={0} Impersonate User +realmChoice=Realm +unknownUser=Unknown user +loginTotpTitle=Mobile Authenticator Setup +loginProfileTitle=Update Account Information +loginTimeout=You took too long to login. Login process starting from beginning. +oauthGrantTitle=Grant Access +oauthGrantTitleHtml={0} +errorTitle=We''re sorry... +errorTitleHtml=We''re sorry ... +emailVerifyTitle=Email verification +emailForgotTitle=Forgot Your Password? +updatePasswordTitle=Update password +codeSuccessTitle=Success code +codeErrorTitle=Error code\: {0} + +termsTitle=Terms and Conditions +termsTitleHtml=Terms and Conditions +termsText=

Terms and conditions to be defined

+ +recaptchaFailed=Invalid Recaptcha +recaptchaNotConfigured=Recaptcha is required, but not configured +consentDenied=Consent denied. + +noAccount=New user? +username=Username +usernameOrEmail=Username or email +firstName=First name +givenName=Given name +fullName=Full name +lastName=Last name +familyName=Family name +email=Email +password=Password +passwordConfirm=Confirm password +passwordNew=New Password +passwordNewConfirm=New Password confirmation +rememberMe=Remember me +authenticatorCode=One-time code +address=Address +street=Street +locality=City or Locality +region=State, Province, or Region +postal_code=Zip or Postal code +country=Country +emailVerified=Email verified +gssDelegationCredential=GSS Delegation Credential + +loginTotpStep1=Install one of the following applications on your mobile +loginTotpStep2=Open the application and scan the barcode +loginTotpStep3=Enter the one-time code provided by the application and click Submit to finish the setup +loginTotpManualStep2=Open the application and enter the key +loginTotpManualStep3=Use the following configuration values if the application allows setting them +loginTotpUnableToScan=Unable to scan? +loginTotpScanBarcode=Scan barcode? +loginTotpOneTime=One-time code +loginTotpType=Type +loginTotpAlgorithm=Algorithm +loginTotpDigits=Digits +loginTotpInterval=Interval + +loginTotp.totp=Time-based +loginTotp.hotp=Counter-based + + +oauthGrantRequest=Do you grant these access privileges? +inResource=in + +emailVerifyInstruction1=An email with instructions to verify your email address has been sent to you. +emailVerifyInstruction2=Haven''t received a verification code in your email? +emailVerifyInstruction3=to re-send the email. + +emailLinkIdpTitle=Link {0} +emailLinkIdp1=An email with instructions to link {0} account {1} with your {2} account has been sent to you. +emailLinkIdp2=Haven''t received a verification code in your email? +emailLinkIdp3=to re-send the email. +emailLinkIdp4=If you already verified the email in different browser +emailLinkIdp5=to continue. + +backToLogin=« Back to Login + +emailInstruction=Enter your username or email address and we will send you instructions on how to create a new password. + +copyCodeInstruction=Please copy this code and paste it into your application: + +pageExpiredTitle=Page has expired +pageExpiredMsg1=To restart the login process +pageExpiredMsg2=To continue the login process + +personalInfo=Personal Info: +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Create realm +role_create-client=Create client +role_view-realm=View realm +role_view-users=View users +role_view-applications=View applications +role_view-clients=View clients +role_view-events=View events +role_view-identity-providers=View identity providers +role_manage-realm=Manage realm +role_manage-users=Manage users +role_manage-applications=Manage applications +role_manage-identity-providers=Manage identity providers +role_manage-clients=Manage clients +role_manage-events=Manage events +role_view-profile=View profile +role_manage-account=Manage account +role_manage-account-links=Manage account links +role_read-token=Read token +role_offline-access=Offline access +client_account=Account +client_security-admin-console=Security Admin Console +client_admin-cli=Admin CLI +client_realm-management=Realm Management +client_broker=Broker + +invalidUserMessage=Invalid username or password. +invalidEmailMessage=Invalid email address. +accountDisabledMessage=Account is disabled, contact admin. +accountTemporarilyDisabledMessage=Account is temporarily disabled, contact admin or try again later. +expiredCodeMessage=Login timeout. Please login again. +expiredActionMessage=Action expired. Please continue with login now. +expiredActionTokenNoSessionMessage=Action expired. +expiredActionTokenSessionExistsMessage=Action expired. Please start again. + +missingFirstNameMessage=Please specify first name. +missingLastNameMessage=Please specify last name. +missingEmailMessage=Please specify email. +missingUsernameMessage=Please specify username. +missingPasswordMessage=Please specify password. +missingTotpMessage=Please specify authenticator code. +notMatchPasswordMessage=Passwords don''t match. + +invalidPasswordExistingMessage=Invalid existing password. +invalidPasswordBlacklistedMessage=Invalid password: password is blacklisted. +invalidPasswordConfirmMessage=Password confirmation doesn''t match. +invalidTotpMessage=Invalid authenticator code. + +usernameExistsMessage=Username already exists. +emailExistsMessage=Email already exists. + +federatedIdentityExistsMessage=User with {0} {1} already exists. Please login to account management to link the account. + +confirmLinkIdpTitle=Account already exists +federatedIdentityConfirmLinkMessage=User with {0} {1} already exists. How do you want to continue? +federatedIdentityConfirmReauthenticateMessage=Authenticate as {0} to link your account with {1} +confirmLinkIdpReviewProfile=Review profile +confirmLinkIdpContinue=Add to existing account + +configureTotpMessage=You need to set up Mobile Authenticator to activate your account. +updateProfileMessage=You need to update your user profile to activate your account. +updatePasswordMessage=You need to change your password to activate your account. +resetPasswordMessage=You need to change your password. +verifyEmailMessage=You need to verify your email address to activate your account. +linkIdpMessage=You need to verify your email address to link your account with {0}. + +emailSentMessage=You should receive an email shortly with further instructions. +emailSendErrorMessage=Failed to send email, please try again later. + +accountUpdatedMessage=Your account has been updated. +accountPasswordUpdatedMessage=Your password has been updated. + +noAccessMessage=No access + +invalidPasswordMinLengthMessage=Invalid password: minimum length {0}. +invalidPasswordMinDigitsMessage=Invalid password: must contain at least {0} numerical digits. +invalidPasswordMinLowerCaseCharsMessage=Invalid password: must contain at least {0} lower case characters. +invalidPasswordMinUpperCaseCharsMessage=Invalid password: must contain at least {0} upper case characters. +invalidPasswordMinSpecialCharsMessage=Invalid password: must contain at least {0} special characters. +invalidPasswordNotUsernameMessage=Invalid password: must not be equal to the username. +invalidPasswordRegexPatternMessage=Invalid password: fails to match regex pattern(s). +invalidPasswordHistoryMessage=Invalid password: must not be equal to any of last {0} passwords. +invalidPasswordGenericMessage=Invalid password: new password doesn''t match password policies. + +failedToProcessResponseMessage=Failed to process response +httpsRequiredMessage=HTTPS required +realmNotEnabledMessage=Realm not enabled +invalidRequestMessage=Invalid Request +failedLogout=Logout failed +unknownLoginRequesterMessage=Unknown login requester +loginRequesterNotEnabledMessage=Login requester not enabled +bearerOnlyMessage=Bearer-only applications are not allowed to initiate browser login +standardFlowDisabledMessage=Client is not allowed to initiate browser login with given response_type. Standard flow is disabled for the client. +implicitFlowDisabledMessage=Client is not allowed to initiate browser login with given response_type. Implicit flow is disabled for the client. +invalidRedirectUriMessage=Invalid redirect uri +unsupportedNameIdFormatMessage=Unsupported NameIDFormat +invalidRequesterMessage=Invalid requester +registrationNotAllowedMessage=Registration not allowed +resetCredentialNotAllowedMessage=Reset Credential not allowed + +permissionNotApprovedMessage=Permission not approved. +noRelayStateInResponseMessage=No relay state in response from identity provider. +insufficientPermissionMessage=Insufficient permissions to link identities. +couldNotProceedWithAuthenticationRequestMessage=Could not proceed with authentication request to identity provider. +couldNotObtainTokenMessage=Could not obtain token from identity provider. +unexpectedErrorRetrievingTokenMessage=Unexpected error when retrieving token from identity provider. +unexpectedErrorHandlingResponseMessage=Unexpected error when handling response from identity provider. +identityProviderAuthenticationFailedMessage=Authentication failed. Could not authenticate with identity provider. +identityProviderDifferentUserMessage=Authenticated as {0}, but expected to be authenticated as {1} +couldNotSendAuthenticationRequestMessage=Could not send authentication request to identity provider. +unexpectedErrorHandlingRequestMessage=Unexpected error when handling authentication request to identity provider. +invalidAccessCodeMessage=Invalid access code. +sessionNotActiveMessage=Session not active. +invalidCodeMessage=An error occurred, please login again through your application. +identityProviderUnexpectedErrorMessage=Unexpected error when authenticating with identity provider +identityProviderNotFoundMessage=Could not find an identity provider with the identifier. +identityProviderLinkSuccess=You successfully verified your email. Please go back to your original browser and continue there with the login. +staleCodeMessage=This page is no longer valid, please go back to your application and login again +realmSupportsNoCredentialsMessage=Realm does not support any credential type. +identityProviderNotUniqueMessage=Realm supports multiple identity providers. Could not determine which identity provider should be used to authenticate with. +emailVerifiedMessage=Your email address has been verified. +staleEmailVerificationLink=The link you clicked is a old stale link and is no longer valid. Maybe you have already verified your email? +identityProviderAlreadyLinkedMessage=Federated identity returned by {0} is already linked to another user. +confirmAccountLinking=Confirm linking the account {0} of identity provider {1} with your account. +confirmEmailAddressVerification=Confirm validity of e-mail address {0}. +confirmExecutionOfActions=Perform the following action(s) + +locale_ca=Catal\u00E0 +locale_de=Deutsch +locale_en=English +locale_es=Espa\u00F1ol +locale_fr=Fran\u00e7ais +locale_it=Italian +locale_ja=\u65E5\u672C\u8A9E +locale_nl=Nederlands +locale_no=Norsk +locale_pt_BR=Portugu\u00EAs (Brasil) +locale_pt-BR=Portugu\u00EAs (Brasil) +locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 +locale_lt=Lietuvi\u0173 +locale_zh-CN=\u4e2d\u6587\u7b80\u4f53 +locale_sv=Svenska + +backToApplication=« Back to Application +missingParameterMessage=Missing parameters\: {0} +clientNotFoundMessage=Client not found. +clientDisabledMessage=Client disabled. +invalidParameterMessage=Invalid parameter\: {0} +alreadyLoggedIn=You are already logged in. +differentUserAuthenticated=You are already authenticated as different user ''{0}'' in this session. Please logout first. +brokerLinkingSessionExpired=Requested broker account linking, but current session is no longer valid. +proceedWithAction=» Click here to proceed + +requiredAction.CONFIGURE_TOTP=Configure OTP +requiredAction.terms_and_conditions=Terms and Conditions +requiredAction.UPDATE_PASSWORD=Update Password +requiredAction.UPDATE_PROFILE=Update Profile +requiredAction.VERIFY_EMAIL=Verify Email + +p3pPolicy=CP="This is not a P3P policy!" + +doX509Login=You will be logged in as\: +clientCertificate=X509 client certificate\: +noCertificate=[No Certificate] + + +pageNotFound=Page not found +internalServerError=An internal server error has occurred diff --git a/themes/Leanda/login/messages/messages_es.properties b/themes/Leanda/login/messages/messages_es.properties new file mode 100644 index 0000000..a2a40d4 --- /dev/null +++ b/themes/Leanda/login/messages/messages_es.properties @@ -0,0 +1,200 @@ +doLogIn=Iniciar sesi\u00F3n +doRegister=Reg\u00EDstrate +doCancel=Cancelar +doSubmit=Enviar +doYes=S\u00ED +doNo=No +doContinue=Continuar +doAccept=Aceptar +doDecline=Declinar +doForgotPassword=\u00BFHas olvidado tu contrase\u00F1a? +doClickHere=Haz clic aqu\u00ED +doImpersonate=Personificar +kerberosNotConfigured=Kerberos no configurado +kerberosNotConfiguredTitle=Kerberos no configurado +bypassKerberosDetail=O bien no est\u00E1s identificado mediante Kerberos o tu navegador no est\u00E1 configurado para identificarse mediante Kerberos. Por favor haz clic para identificarte por otro medio. +kerberosNotSetUp=Kerberos no est\u00E1 configurado. No puedes identificarte. +registerWithTitle=Reg\u00EDstrate con {0} +registerWithTitleHtml={0} +loginTitle=Inicia sesi\u00F3n en {0} +loginTitleHtml={0} +impersonateTitle={0}\u00A0Personificar Usuario +impersonateTitleHtml={0} Personificar Usuario +realmChoice=Dominio +unknownUser=Usuario desconocido +loginTotpTitle=Configura tu aplicaci\u00F3n de identificaci\u00F3n m\u00F3vil +loginProfileTitle=Actualiza la informaci\u00F3n de tu cuenta +loginTimeout=Has tardado demasiado en identificarte. Inicia de nuevo la identificaci\u00F3n. +oauthGrantTitle=Concesi\u00F3n OAuth +oauthGrantTitleHtml={0} +errorTitle=Lo sentimos... +errorTitleHtml=Lo sentimos... +emailVerifyTitle=Verificaci\u00F3n del email +emailForgotTitle=\u00BFHas olvidado tu contrase\u00F1a? +updatePasswordTitle=Modificaci\u00F3n de contrase\u00F1a +codeSuccessTitle=C\u00F3digo de \u00E9xito +codeErrorTitle=C\u00F3digo de error: {0} + +termsTitle=T\u00E9rminos y Condiciones +termsTitleHtml=T\u00E9rminos y Condiciones +termsText=

T\u00E9rmines y condiciones a definir

+ +recaptchaFailed=Reconocimiento de texto inv\u00E1lido +recaptchaNotConfigured=El reconocimiento de texto es obligatorio pero no est\u00E1 configurado +consentDenied=Consentimiento rechazado. + +noAccount=\u00BFUsuario nuevo? +username=Usuario +usernameOrEmail=Usuario o email +firstName=Nombre +givenName=Nombre de pila +fullName=Nombre completo +lastName=Apellidos +familyName=Apellidos +email=Email +password=Contrase\u00F1a +passwordConfirm=Confirma la contrase\u00F1a +passwordNew=Nueva contrase\u00F1a +passwordNewConfirm=Confirma la nueva contrase\u00F1a +rememberMe=Seguir conectado +authenticatorCode=C\u00F3digo de identificaci\u00F3n +address=Direcci\u00F3n +street=Calle +locality=Ciudad o Municipio +region=Estado, Provincia, o Regi\u00F3n +postal_code=C\u00F3digo Postal +country=Pa\u00EDs +emailVerified=Email verificado +gssDelegationCredential=GSS Delegation Credential + +loginTotpStep1=Instala FreeOTP o Google Authenticator en tu tel\u00E9fono m\u00F3vil. Ambas aplicaciones est\u00E1n disponibles en Google Play y en la App Store de Apple. +loginTotpStep2=Abre la aplicacvi\u00F3n y escanea el c\u00F3digo o introduce la clave. +loginTotpStep3=Introduce el c\u00F3digo \u00FAnico que te muestra la aplicaci\u00F3n de autenticaci\u00F3n y haz clic en Enviar para finalizar la configuraci\u00F3n +loginTotpOneTime=C\u00F3digo de un solo uso + +oauthGrantRequest=\u00BFQuieres permitir estos privilegios de acceso? +inResource=en + +emailVerifyInstruction1=Te hemos enviado un email con instrucciones para verificar tu email. +emailVerifyInstruction2=\u00BFNo has recibido un c\u00F3digo de verificaci\u00F3n en tu email? +emailVerifyInstruction3=para reenviar el email. + +backToLogin=« Volver a la identificaci\u00F3n + +emailInstruction=Indica tu usuario o email y te enviaremos instruciones indicando como generar una nueva contrase\u00F1a. + +copyCodeInstruction=Por favor, copia y pega este c\u00F3digo en tu aplicaci\u00F3n: + +personalInfo=Informaci\u00F3n personal: +role_admin=Admin +role_realm-admin=Administrador del dominio +role_create-realm=Crear dominio +role_create-client=Crear cliente +role_view-realm=Ver dominio +role_view-users=Ver usuarios +role_view-applications=Ver aplicaciones +role_view-clients=Ver clientes +role_view-events=Ver eventos +role_view-identity-providers=Ver proveedores de identidad +role_manage-realm=Gestionar dominio +role_manage-users=Gestionar usuarios +role_manage-applications=Gestionar aplicaciones +role_manage-identity-providers=Gestionar proveedores de identidad +role_manage-clients=Gestionar clientes +role_manage-events=Gestionar eventos +role_view-profile=Ver perfil +role_manage-account=Gestionar cuenta +role_read-token=Leer token +role_offline-access=Acceso sin conexi\u00F3n +client_account=Cuenta +client_security-admin-console=Consola de Administraci\u00F3n de Seguridad +client_realm-management=Gesti\u00F3n del dominio +client_broker=Broker + +invalidUserMessage=Usuario o contrase\u00F1a incorrectos. +invalidEmailMessage=Email no v\u00E1lido +accountDisabledMessage=La cuenta est\u00E1 desactivada, contacta con el administrador. +accountTemporarilyDisabledMessage=La cuenta est\u00E1 temporalmente desactivada, contacta con el administrador o int\u00E9ntalo de nuevo m\u00E1s tarde. +expiredCodeMessage=Se agot\u00F3 el tiempo m\u00E1ximo para la identificaci\u00F3n. Por favor identificate de nuevo. + +missingFirstNameMessage=Por favor indica tu nombre. +missingLastNameMessage=Por favor indica tus apellidos. +missingEmailMessage=Por favor indica tu email. +missingUsernameMessage=Por favor indica tu usuario. +missingPasswordMessage=Por favor indica tu contrase\u00F1a. +missingTotpMessage=Por favor indica tu c\u00F3digo de autenticaci\u00F3n +notMatchPasswordMessage=Las contrase\u00F1as no coinciden. + +invalidPasswordExistingMessage=La contrase\u00F1a actual no es correcta. +invalidPasswordConfirmMessage=La confirmaci\u00F3n de contrase\u00F1a no coincide. +invalidTotpMessage=El c\u00F3digo de autenticaci\u00F3n no es v\u00E1lido. + +usernameExistsMessage=El nombre de usuario ya existe +emailExistsMessage=El email ya existe + +federatedIdentityEmailExistsMessage=Ya existe un usuario con este email. Por favor accede a la gesti\u00F3n de tu cuenta para enlazarlo. +federatedIdentityUsernameExistsMessage=Ya existe un usuario con este nombre de usuario. Por favor accede a la gesti\u00F3n de tu cuenta para enlazarlo. + +configureTotpMessage=Tienes que configurar la aplicaci\u00F3n m\u00F3vil de identificaci\u00F3n para activar tu cuenta. +updateProfileMessage=Tienes que actualizar tu perfil de usuario para activar tu cuenta. +updatePasswordMessage=Tienes que cambiar tu contrase\u00F1a para activar tu cuenta. +verifyEmailMessage=Tienes que verificar tu email para activar tu cuenta. + +emailSentMessage=En breve deber\u00EDas recibir un mensaje con m\u00E1s instrucciones +emailSendErrorMessage=Fall\u00F3 el env\u00EDo del email, por favor int\u00E9ntalo de nuevo m\u00E1s tarde. + +accountUpdatedMessage=Tu cuenta se ha actualizado. +accountPasswordUpdatedMessage=Tu contrase\u00F1a se ha actualizado. + +noAccessMessage=Sin acceso + +invalidPasswordMinLengthMessage=Contrase\u00F1a incorrecta: longitud m\u00EDnima {0}. +invalidPasswordMinDigitsMessage=Contrase\u00F1a incorrecta: debe contaner al menos {0} caracteres num\u00E9ricos. +invalidPasswordMinLowerCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras min\u00FAsculas. +invalidPasswordMinUpperCaseCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} letras may\u00FAsculas. +invalidPasswordMinSpecialCharsMessage=Contrase\u00F1a incorrecta: debe contener al menos {0} caracteres especiales. +invalidPasswordNotUsernameMessage=Contrase\u00F1a incorrecta: no puede ser igual al nombre de usuario. +invalidPasswordRegexPatternMessage=Contrase\u00F1a incorrecta: no cumple la expresi\u00F3n regular. +invalidPasswordHistoryMessage=Contrase\u00F1a incorrecta: no puede ser igual a ninguna de las \u00FAltimas {0} contrase\u00F1as. + +failedToProcessResponseMessage=Fallo al procesar la respuesta +httpsRequiredMessage=HTTPS obligatorio +realmNotEnabledMessage=El dominio no est\u00E1 activado +invalidRequestMessage=Petici\u00F3n incorrecta +failedLogout=Fall\u00F3 la desconexi\u00F3n. +unknownLoginRequesterMessage=Solicitante de identificaci\u00F3n desconocido +loginRequesterNotEnabledMessage=El solicitante de inicio de sesi\u00F3n est\u00E1 desactivado +bearerOnlyMessage=Las aplicaciones Bearer-only no pueden iniciar sesi\u00F3n desde el navegador. +directGrantsOnlyMessage=Los clientes de tipo Direct-grants-only no pueden iniciar sesi\u00F3n desde el navegador. +invalidRedirectUriMessage=La URI de redirecci\u00F3n no es correcta +unsupportedNameIdFormatMessage=NameIDFormat no soportado +invalidRequesterMessage=Solicitante no v\u00E1lido +registrationNotAllowedMessage=El registro no est\u00E1 permitido +resetCredentialNotAllowedMessage=El renicio de las credenciales no est\u00E1 permitido + +permissionNotApprovedMessage=Permiso no aprobado. +noRelayStateInResponseMessage=Sin estado de retransmisi\u00F3n en la respuesta del proveedor de identidad. +identityProviderAlreadyLinkedMessage=La identidad devuelta por el proveedor de identidad ya est\u00E1 asociada a otro usuario. +insufficientPermissionMessage=Permisos insuficientes para enlazar identidades. +couldNotProceedWithAuthenticationRequestMessage=No se pudo continuar con la petici\u00F3n de autenticaci\u00F3n al proveedor de identidad. +couldNotObtainTokenMessage=.No se pudo obtener el c\u00F3digo del proveedor de identidad +unexpectedErrorRetrievingTokenMessage=Error inesperado obteniendo el token del proveedor de identidad +unexpectedErrorHandlingResponseMessage=Error inesperado procesando la respuesta del proveedor de identidad. +identityProviderAuthenticationFailedMessage=Fall\u00F3 la autenticaci\u00F3n. No fue posible autenticarse en el proveedor de identidad. +couldNotSendAuthenticationRequestMessage=No se pudo enviar la petici\u00F3n de identificaci\u00F3n al proveedor de identidad. +unexpectedErrorHandlingRequestMessage=Error inesperado durante la petici\u00F3n de identificaci\u00F3n al proveedor de identidad. +invalidAccessCodeMessage=C\u00F3digo de acceso no v\u00E1lido. +sessionNotActiveMessage=La sesi\u00F3n no est\u00E1 activa +invalidCodeMessage=Ha ocurrido un error, por favor identificate de nuevo desde tu aplicaci\u00F3n. +identityProviderUnexpectedErrorMessage=Error no esperado intentado autenticar en el proveedor de identidad. +identityProviderNotFoundMessage=No se encontr\u00F3 un proveedor de identidad. +realmSupportsNoCredentialsMessage=El dominio no soporta ning\u00FAn tipo de credenciales. +identityProviderNotUniqueMessage=El dominio soporta m\u00FAltiples proveedores de identidad. No se pudo determinar el proveedor de identidad que deber\u00EDa ser utilizado para identificarse. +emailVerifiedMessage=Tu email ha sido verificado. + +backToApplication=« Volver a la aplicaci\u00F3n +missingParameterMessage=Par\u00E1metros que faltan: {0} +clientNotFoundMessage=Cliente no encontrado +invalidParameterMessage=Par\u00E1metro no v\u00E1lido: {0} +alreadyLoggedIn=You are already logged in. + diff --git a/themes/Leanda/login/messages/messages_fr.properties b/themes/Leanda/login/messages/messages_fr.properties new file mode 100644 index 0000000..f1d4254 --- /dev/null +++ b/themes/Leanda/login/messages/messages_fr.properties @@ -0,0 +1,214 @@ +doLogIn=Connexion +doRegister=Enregistrement +doCancel=Annuler +doSubmit=Soumettre +doYes=Oui +doNo=Non +doContinue=Continuer +doAccept=Accepter +doDecline=D\u00e9cliner +doForgotPassword=Mot de passe oubli\u00e9 ? +doClickHere=Cliquez ici +doImpersonate=Impersonate +kerberosNotConfigured=Kerberos non configur\u00e9 +kerberosNotConfiguredTitle=Kerberos non configur\u00e9 +bypassKerberosDetail=Si vous n''\u00eates pas connect\u00e9 via Kerberos ou bien que votre navigateur n''est pas configur\u00e9 pour la connexion via Kerberos. Veuillez cliquer pour vous connecter via un autre moyen. +kerberosNotSetUp=Kerberos n''est pas configur\u00e9. Connexion impossible. +registerWithTitle=Enregistrement avec {0} +registerWithTitleHtml={0} +loginTitle=Se connecter \u00e0 {0} +loginTitleHtml={0} +impersonateTitle={0} utilisateur impersonate +impersonateTitleHtml={0} utilisateur impersonate +realmChoice=Domaine +unknownUser=Utilisateur inconnu +loginTotpTitle=Configuration de l''authentification par mobile +loginProfileTitle=Mise \u00e0 jour du compte +loginTimeout=Le temps imparti pour la connexion est \u00e9coul\u00e9. Le processus de connexion red\u00e9marre depuis le d\u00e9but. +oauthGrantTitle=OAuth Grant +oauthGrantTitleHtml={0} +errorTitle=Nous sommes d\u00e9sol\u00e9s... +errorTitleHtml=Nous sommes d\u00e9sol\u00e9s... +emailVerifyTitle=V\u00e9rification du courriel +emailForgotTitle=Mot de passe oubli\u00e9 ? +updatePasswordTitle=Mise \u00e0 jour du mot de passe +codeSuccessTitle=Code succ\u00e8s +codeErrorTitle=Code d''erreur \: {0} + +termsTitle=Termes et Conditions +termsTitleHtml=Termes et Conditions +termsText=

Termes et conditions \u00e0 d\u00e9finir

+ +recaptchaFailed=Re-captcha invalide +recaptchaNotConfigured=Re-captcha est requis, mais il n''est pas configur\u00e9 +consentDenied=Consentement refus\u00e9. + +noAccount=Nouvel utilisateur ? +username=Nom d''utilisateur +usernameOrEmail=Nom d''utilisateur ou courriel +firstName=Pr\u00e9nom +givenName=Pr\u00e9nom +fullName=Nom complet +lastName=Nom +familyName=Nom de famille +email=Courriel +password=Mot de passe +passwordConfirm=Confirmation du mot de passe +passwordNew=Nouveau mot de passe +passwordNewConfirm=Confirmation du nouveau mot de passe +rememberMe=Se souvenir de moi +authenticatorCode=Code \u00e0 usage unique +address=Adresse +street=Rue +locality=Ville ou Localit\u00e9 +region=\u00c9tat, Province ou R\u00e9gion +postal_code=Code postal +country=Pays +emailVerified=Courriel v\u00e9rifi\u00e9 +gssDelegationCredential=Accr\u00e9ditation de d\u00e9l\u00e9gation GSS + +loginTotpStep1=Installez FreeOTP ou bien Google Authenticator sur votre mobile. Ces deux applications sont disponibles sur Google Play et Apple App Store. +loginTotpStep2=Ouvrez l''application et scannez le code-barres ou entrez la clef. +loginTotpStep3=Entrez le code \u00e0 usage unique fourni par l''application et cliquez sur Sauvegarder pour terminer. +loginTotpOneTime=Code \u00e0 usage unique + +oauthGrantRequest=Voulez-vous accorder ces privil\u00e8ges d''acc\u00e8s ? +inResource=dans + +emailVerifyInstruction1=Un courriel avec des instructions \u00e0 suivre vous a \u00e9t\u00e9 envoy\u00e9. +emailVerifyInstruction2=Vous n''avez pas re\u00e7u de code dans le courriel ? +emailVerifyInstruction3=pour renvoyer le courriel. + +emailLinkIdpTitle=Association avec {0} +emailLinkIdp1=Un courriel avec des instructions pour associer le compte {1} sur {0} avec votre compte {2} vous a \u00e9t\u00e9 envoy\u00e9. +emailLinkIdp2=Vous n''avez pas re\u00e7u de code dans le courriel ? +emailLinkIdp3=pour renvoyer le courriel. + +backToLogin=« Retour \u00e0 la connexion + +emailInstruction=Entrez votre nom d''utilisateur ou votre courriel ; un courriel va vous \u00eatre envoy\u00e9 vous permettant de cr\u00e9er un nouveau mot de passe. + +copyCodeInstruction=Copiez le code et recopiez le dans votre application : + +personalInfo=Information personnelle : +role_admin=Administrateur +role_realm-admin=Administrateur du domaine +role_create-realm=Cr\u00e9er un domaine +role_create-client=Cr\u00e9er un client +role_view-realm=Voir un domaine +role_view-users=Voir les utilisateurs +role_view-applications=Voir les applications +role_view-clients=Voir les clients +role_view-events=Voir les \u00e9v\u00e9nements +role_view-identity-providers=Voir les fournisseurs d''identit\u00e9 +role_manage-realm=G\u00e9rer le domaine +role_manage-users=G\u00e9rer les utilisateurs +role_manage-applications=G\u00e9rer les applications +role_manage-identity-providers=G\u00e9rer les fournisseurs d''identit\u00e9 +role_manage-clients=G\u00e9rer les clients +role_manage-events=G\u00e9rer les \u00e9v\u00e9nements +role_view-profile=Voir le profil +role_manage-account=G\u00e9rer le compte +role_read-token=Lire le jeton d''authentification +role_offline-access=Acc\u00e8s hors-ligne +client_account=Compte +client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9 +client_admin-cli=Admin CLI +client_realm-management=Gestion du domaine +client_broker=Broker + +invalidUserMessage=Nom d''utilisateur ou mot de passe invalide. +invalidEmailMessage=Courriel invalide. +accountDisabledMessage=Compte d\u00e9sactiv\u00e9, contactez votre administrateur. +accountTemporarilyDisabledMessage=Ce compte est temporairement d\u00e9sactiv\u00e9, contactez votre administrateur ou bien r\u00e9essayez plus tard. +expiredCodeMessage=Connexion expir\u00e9e. Veuillez vous reconnecter. + +missingFirstNameMessage=Veuillez entrer votre pr\u00e9nom. +missingLastNameMessage=Veuillez entrer votre nom. +missingEmailMessage=Veuillez entrer votre courriel. +missingUsernameMessage=Veuillez entrer votre nom d''utilisateur. +missingPasswordMessage=Veuillez entrer votre mot de passe. +missingTotpMessage=Veuillez entrer votre code d''authentification. +notMatchPasswordMessage=Les mots de passe ne sont pas identiques. + +invalidPasswordExistingMessage=Mot de passe existant invalide. +invalidPasswordConfirmMessage=Le mot de passe de confirmation ne correspond pas. +invalidTotpMessage=Le code d''authentification est invalide. + +usernameExistsMessage=Le nom d''utilisateur existe d\u00e9j\u00e0. +emailExistsMessage=Le courriel existe d\u00e9j\u00e0. + +federatedIdentityEmailExistsMessage=Cet utilisateur avec ce courriel existe d\u00e9j\u00e0. Veuillez vous connecter au gestionnaire de compte pour lier le compte. + +confirmLinkIdpTitle=Ce compte existe d\u00e9j\u00e0 +federatedIdentityConfirmLinkMessage=L''utilisateur {0} {1} existe d\u00e9j\u00e0. Que souhaitez-vous faire ? +federatedIdentityConfirmReauthenticateMessage=Identifiez vous en tant que {0} afin de lier votre compte avec {1} +confirmLinkIdpReviewProfile=V\u00e9rifiez vos informations de profil +confirmLinkIdpContinue=Souhaitez-vous lier {0} \u00e0 votre compte existant + +configureTotpMessage=Vous devez configurer l''authentification par mobile pour activer votre compte. +updateProfileMessage=Vous devez mettre \u00e0 jour votre profil pour activer votre compte. +updatePasswordMessage=Vous devez changer votre mot de passe pour activer votre compte. +verifyEmailMessage=Vous devez v\u00e9rifier votre courriel pour activer votre compte. +linkIdpMessage=Vous devez v\u00e9rifier votre courriel pour lier votre compte avec {0}. + +emailSentMessage=Vous devriez recevoir rapidement un courriel avec de plus amples instructions. +emailSendErrorMessage=Erreur lors de l''envoi du courriel, veuillez essayer plus tard. + +accountUpdatedMessage=Votre compte a \u00e9t\u00e9 mis \u00e0 jour. +accountPasswordUpdatedMessage=Votre mot de passe a \u00e9t\u00e9 mis \u00e0 jour. + +noAccessMessage=Aucun acc\u00e8s + +invalidPasswordMinLengthMessage=Mot de passe invalide : longueur minimale requise de {0}. +invalidPasswordMinDigitsMessage=Mot de passe invalide : doit contenir au moins {0} chiffre(s). +invalidPasswordMinLowerCaseCharsMessage=Mot de passe invalide : doit contenir au moins {0} lettre(s) en minuscule. +invalidPasswordMinUpperCaseCharsMessage=Mot de passe invalide : doit contenir au moins {0} lettre(s) en majuscule. +invalidPasswordMinSpecialCharsMessage=Mot de passe invalide : doit contenir au moins {0} caract\u00e8re(s) sp\u00e9ciaux. +invalidPasswordNotUsernameMessage=Mot de passe invalide : ne doit pas \u00eatre identique au nom d''utilisateur. +invalidPasswordRegexPatternMessage=Mot de passe invalide : ne valide pas l''expression rationnelle. +invalidPasswordHistoryMessage=Mot de passe invalide : ne doit pas \u00eatre \u00e9gal aux {0} derniers mots de passe. + +failedToProcessResponseMessage=Erreur lors du traitement de la r\u00e9ponse +httpsRequiredMessage=Le protocole HTTPS est requis +realmNotEnabledMessage=Le domaine n''est pas activ\u00e9 +invalidRequestMessage=Requ\u00eate invalide +failedLogout=La d\u00e9connexion a \u00e9chou\u00e9e +unknownLoginRequesterMessage=Compte inconnu du demandeur +loginRequesterNotEnabledMessage=La connexion du demandeur n''est pas active +bearerOnlyMessage=Les applications Bearer-only ne sont pas autoris\u00e9es \u00e0 initier la connexion par navigateur. +standardFlowDisabledMessage=Le client n''est pas autoris\u00e9 \u00e0 initier une connexion avec le navigateur avec ce response_type. Le flux standard est d\u00e9sactiv\u00e9 pour le client. +implicitFlowDisabledMessage=Le client n''est pas autoris\u00e9 \u00e0 initier une connexion avec le navigateur avec ce response_type. Le flux implicite est d\u00e9sactiv\u00e9 pour le client. +invalidRedirectUriMessage=L''URI de redirection est invalide +unsupportedNameIdFormatMessage=NameIDFormat non support\u00e9 +invalidRequesterMessage=Demandeur invalide +registrationNotAllowedMessage=L''enregistrement n''est pas autoris\u00e9 +resetCredentialNotAllowedMessage=La remise \u00e0 z\u00e9ro n''est pas autoris\u00e9e + +permissionNotApprovedMessage=La permission n''est pas approuv\u00e9e. +noRelayStateInResponseMessage=Aucun \u00e9tat de relais dans la r\u00e9ponse du fournisseur d''identit\u00e9. +insufficientPermissionMessage=Permissions insuffisantes pour lier les identit\u00e9s. +couldNotProceedWithAuthenticationRequestMessage=Impossible de continuer avec la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9. +couldNotObtainTokenMessage=Impossible de r\u00e9cup\u00e9rer le jeton du fournisseur d''identit\u00e9. +unexpectedErrorRetrievingTokenMessage=Erreur inattendue lors de la r\u00e9cup\u00e9ration du jeton provenant du fournisseur d''identit\u00e9. +unexpectedErrorHandlingResponseMessage=Erreur inattendue lors du traitement de la r\u00e9ponse provenant du fournisseur d''identit\u00e9. +identityProviderAuthenticationFailedMessage=L''authentification a \u00e9chou\u00e9e. Impossible de s''authentifier avec le fournisseur d''identit\u00e9. +identityProviderDifferentUserMessage=Authentifi\u00e9 en tant que {0}, alors que l''authentification aurait du \u00eatre {1} +couldNotSendAuthenticationRequestMessage=Impossible d''envoyer la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9. +unexpectedErrorHandlingRequestMessage=Erreur inattendue lors du traitement de la requ\u00eate vers le fournisseur d''identit\u00e9. +invalidAccessCodeMessage=Code d''acc\u00e8s invalide. +sessionNotActiveMessage=La session n''est pas active. +invalidCodeMessage=Une erreur est survenue, veuillez vous reconnecter \u00e0 votre application. +identityProviderUnexpectedErrorMessage=Erreur inattendue lors de l''authentification avec fournisseur d''identit\u00e9. +identityProviderNotFoundMessage=Impossible de trouver le fournisseur d''identit\u00e9 avec cet identifiant. +identityProviderLinkSuccess=Votre compte a \u00e9t\u00e9 correctement li\u00e9 avec {0} compte {1} . +realmSupportsNoCredentialsMessage=Ce domaine ne supporte aucun type d''accr\u00e9ditation. +identityProviderNotUniqueMessage=Ce domaine autorise plusieurs fournisseurs d''identit\u00e9. Impossible de d\u00e9terminer le fournisseur d''identit\u00e9 avec lequel s''authentifier. +emailVerifiedMessage=Votre courriel a \u00e9t\u00e9 v\u00e9rifi\u00e9. + +backToApplication=« Revenir \u00e0 l''application +missingParameterMessage=Param\u00e8tres manquants \: {0} +clientNotFoundMessage=Client inconnu. +invalidParameterMessage=Param\u00e8tre invalide \: {0} +alreadyLoggedIn=Vous \u00eates d\u00e9j\u00e0 connect\u00e9. + diff --git a/themes/Leanda/login/messages/messages_it.properties b/themes/Leanda/login/messages/messages_it.properties new file mode 100644 index 0000000..92c6355 --- /dev/null +++ b/themes/Leanda/login/messages/messages_it.properties @@ -0,0 +1,216 @@ +doLogIn=Accedi +doRegister=Registrati +doCancel=Annulla +doSubmit=Invia +doYes=S\u00ec +doNo=No +doContinue=Continua +doAccept=Accetta +doDecline=Nega +doForgotPassword=Password dimenticata? +doClickHere=Clicca qui +doImpersonate=Impersonate +kerberosNotConfigured=Kerberos non configurato +kerberosNotConfiguredTitle=Kerberos non configurato +bypassKerberosDetail=O non sei connesso via Kerberos o il tuo browser non supporta l''autenticazione a Kerberos. Fai clic su Continua per accedere in modo alternativo +kerberosNotSetUp=Kerberos non \u00e8 configurato. Non puoi effettuare l''accesso. +registerWithTitle=Registrati con {0} +registerWithTitleHtml={0} +loginTitle=Accedi a {0} +loginTitleHtml={0} +impersonateTitle={0} Impersonate Utente +impersonateTitleHtml={0} Impersonate Utente +realmChoice=Realm +unknownUser=Utente Sconosciuto +loginTotpTitle=Configura Autenticazione Mobile +loginProfileTitle=Aggiorna Profilo +loginTimeout=Stai impiegando troppo tempo per accedere. Il processo di autenticazione verr\u00e0 riniziato di nuovo. +oauthGrantTitle=Autenticazione concessa +oauthGrantTitleHtml={0} +errorTitle=Siamo spiacenti\u2026 +errorTitleHtml=Siamo spiacenti ... +emailVerifyTitle=Verifica l''email +emailForgotTitle=Password Dimenticata? +updatePasswordTitle=Aggiorna password +codeSuccessTitle=Codice di successo +codeErrorTitle=Codice di errore\: {0} + +recaptchaFailed=Recaptcha non valido +recaptchaNotConfigured=Il Recaptcha \u00e8 obbligatorio, ma non configurato +consentDenied=Permesso negato. + +noAccount=Nuovo utente? +username=Username +usernameOrEmail=Username o email +firstName=Nome +givenName=Nome +fullName=Nome completo +lastName=Cognome +familyName=Cognome +email=Email +password=Password +passwordConfirm=Conferma password +passwordNew=Nuova Password +passwordNewConfirm=Conferma nuova password +rememberMe=Ricordami +authenticatorCode=Codice One-time +address=Indirizzo +street=Via +locality=Citt\u00e0 o Localit\u00e0 +region=Stato, Provincia, o Regione +postal_code=Cap +country=Paese +emailVerified=Email verificata +gssDelegationCredential=Credenziali GSS Delegation + +loginTotpStep1=Installa FreeOTP or Google Authenticator sul tuo dispositivo mobile +loginTotpStep2=Apri l''applicazione e scansione il barcode o scrivi la chiave +loginTotpStep3=Scrivi il codice one-time fornito dall''applicazione e premi Invia per finire il setup +loginTotpOneTime=Codice one-time + +oauthGrantRequest=Vuoi assegnare questi privilegi di accesso? +inResource=per + +emailVerifyInstruction1=Ti \u00e8 stata inviata una email con le istruzioni per la verifica della tua email. +emailVerifyInstruction2=Non hai ricevuto un codice di verifica nella tua email? +emailVerifyInstruction3=per rinviare la email. + +emailLinkIdpTitle=Link {0} +emailLinkIdp1=Ti \u00e8 stata inviata una email con le istruzioni per associare {0} l''account {1} con il tuo {2} account. +emailLinkIdp2=Non hai ricevuto un codice di verifica nella tua email? +emailLinkIdp3=Per rinviare la email. + +backToLogin=« Torna al Login + +emailInstruction=Inserisci la tua username o l''indirizzo email e ti manderemo le istruzioni per creare una nuova password. + +copyCodeInstruction=Copia questo codice e incollalo nella tua applicazione: + +personalInfo=Informazioni personali: +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Crea realm +role_create-client=Crea client +role_view-realm=Visualizza realm +role_view-users=Visualizza utenti +role_view-applications=Visualizza applicazioni +role_view-clients=Visualizza clients +role_view-events=Visualizza eventi +role_view-identity-providers=Visualizza identity providers +role_manage-realm=Gestisci realm +role_manage-users=Gestisci utenti +role_manage-applications=Gestisci applicazioni +role_manage-identity-providers=Gestisci identity providers +role_manage-clients=Gestisci clients +role_manage-events=Gestisci eventi +role_view-profile=Visualizza profilo +role_manage-account=Gestisci account +role_read-token=Leggi il token +role_offline-access=Accesso offline +client_account=Account +client_security-admin-console=Security Admin Console +client_admin-cli=Admin CLI +client_realm-management=Realm Management +client_broker=Broker + +invalidUserMessage=Username o password non valida. +invalidEmailMessage=Indirizzo email non valido. +accountDisabledMessage=L''account \u00e8 stato disabilitato, contatta l''amministratore. +accountTemporarilyDisabledMessage=L''account \u00e8 stato temporaneamente disabilitato, contatta l''amministratore o riprova pi\u00f9 tardi. +expiredCodeMessage=Login scaduto. Effettua nuovamente l''accesso. + +missingFirstNameMessage=Inserisci nome. +missingLastNameMessage=Inserisci cognome. +missingEmailMessage=Inserisci email. +missingUsernameMessage=Inserisci username. +missingPasswordMessage=Inserisci password. +missingTotpMessage=Inserisci codice di autenticazione. +notMatchPasswordMessage=Le password non coincidono. + +invalidPasswordExistingMessage=Password esistente non valida. +invalidPasswordConfirmMessage=La password di conferma non coincide. +invalidTotpMessage=Codice di autenticazione invalido. + +usernameExistsMessage=Username gi\u00e0 esistente. +emailExistsMessage=Email gi\u00e0 esistente. + +federatedIdentityExistsMessage=L''utente con {0} {1} esiste gi\u00e0. Effettua il login nella gestione account per associare l''account. + +confirmLinkIdpTitle=Account gi\u00e0 esistente +federatedIdentityConfirmLinkMessage=L''utente con {0} {1} esiste gi\u00e0. Come vuoi procedere? +federatedIdentityConfirmReauthenticateMessage=Autenticati come {0} per associare il tuo account con {1} +confirmLinkIdpReviewProfile=Rivedi profilo +confirmLinkIdpContinue=Aggiungi all''account esistente + +configureTotpMessage=Devi impostare un Mobile Authenticator per attivare il tuo account. +updateProfileMessage=Devi aggiornare il tuo profilo utente per attivare il tuo account. +updatePasswordMessage=Devi cambiare la password per attivare il tuo account. +verifyEmailMessage=Devi verificare il tuo indirizzo email per attivare il tuo account. +linkIdpMessage=Devi verificare il tuo indirizzo email per associare il tuo account con {0}. + +emailSentMessage=Riceverai a breve una email con maggiori istruzioni. +emailSendErrorMessage=Invio email fallito, riprova pi\u00f9 tardi. + +accountUpdatedMessage=Il tuo account \u00e8 stato aggiornato. +accountPasswordUpdatedMessage=La tua password \u00e8 stata aggiornata. + +noAccessMessage=Nessun accesso + +invalidPasswordMinLengthMessage=Password non valida: lunghezza minima {0}. +invalidPasswordMinDigitsMessage=Password non valida: deve contenere almeno {0} numeri. +invalidPasswordMinLowerCaseCharsMessage=Password non valida: deve contenere almeno {0} caratteri minuscoli. +invalidPasswordMinUpperCaseCharsMessage= Password non valida: deve contenere almeno {0} caratteri maiuscoli. +invalidPasswordMinSpecialCharsMessage= Password non valida: deve contenere almeno {0} caratteri speciali. +invalidPasswordNotUsernameMessage=Password non valida: non deve essere uguale alla username. +invalidPasswordRegexPatternMessage=Password non valida: fallito il match con una o pi\u00f9 espressioni regolari. +invalidPasswordHistoryMessage=Password non valida: non deve essere uguale ad una delle ultime {0} password. +invalidPasswordGenericMessage=Password non valida: la nuova password non rispetta le indicazioni previste. + +failedToProcessResponseMessage=Fallimento nell''elaborazione della risposta +httpsRequiredMessage=HTTPS richiesto +realmNotEnabledMessage=Realm non abilitato +invalidRequestMessage=Richiesta non valida +failedLogout=Logout fallito +unknownLoginRequesterMessage=Richiedente di Login non riconosciuto +loginRequesterNotEnabledMessage=Richiedente di Login non abilitato +bearerOnlyMessage=Alle applicazioni di tipo Bearer-only non \u00e8 consentito di effettuare il login tramite browser +standardFlowDisabledMessage=Al Client non \u00e8 consentito di effettuare il login tramite browser con dato response_type. Standard flow \u00e8 stato disabilitato per il client. +implicitFlowDisabledMessage=Al Client non \u00e8 consentito di effettuare il login tramite browser con dato response_type. Implicit flow \u00e8 stato disabilitato per il client. +invalidRedirectUriMessage=Redirect uri non valido +unsupportedNameIdFormatMessage=NameIDFormat non supportato +invalidRequesterMessage=Richiedente non valido +registrationNotAllowedMessage=Registrazione non permessa +resetCredentialNotAllowedMessage=Reimpostazione della credenziale non permessa + +permissionNotApprovedMessage=Permesso non approvato. +noRelayStateInResponseMessage=Nessun relay state in risposta dall''identity provider. +identityProviderAlreadyLinkedMessage=L''identita'' restituita dall''identity provider e'' gia'' associata ad un altro utente. +insufficientPermissionMessage=Permessi insufficienti per associare le identit\u00e0. +couldNotProceedWithAuthenticationRequestMessage=Impossibile procedere con la richiesta di autenticazione all''identity provider +couldNotObtainTokenMessage=Non posso ottenere un token dall''identity provider. +unexpectedErrorRetrievingTokenMessage=Errore inaspettato nel recupero del token dall''identity provider. +unexpectedErrorHandlingResponseMessage=Errore inaspettato nella gestione della risposta dall''identity provider. +identityProviderAuthenticationFailedMessage=Autenticazione fallita. Non posso effettuare l''autenticazione con l''identity provider. +identityProviderDifferentUserMessage=Autenticato come {0}, ma previsto per essere autenticato come {1} +couldNotSendAuthenticationRequestMessage=Impossibile inviare la richiesta di autenticazione all''identity provider. +unexpectedErrorHandlingRequestMessage=Errore inaspettato nella gestione della richiesta di autenticazione all''identity provider. +invalidAccessCodeMessage=Codice di accesso non valido. +sessionNotActiveMessage=Sessione non attiva. +invalidCodeMessage=Si \u00e8 verificato un errore, effettua di nuovo il login nella tua applicazione. +identityProviderUnexpectedErrorMessage=Errore imprevisto durante l''autenticazione con identity provider +identityProviderNotFoundMessage=Non posso trovare un identity provider con l''identificativo. +identityProviderLinkSuccess=Il tuo account \u00e8 stato associato con successo con {0} l''account {1} . +staleCodeMessage=Questa pagina non \u00e8 pi\u00f9 valida, torna alla tua applicazione ed effettua nuovamente l''accesso +realmSupportsNoCredentialsMessage=Il Realm non supporta nessun tipo di credenziali. +identityProviderNotUniqueMessage=Il Realm supporta pi\u00f9 di un identity provider. Impossibile determinare quale identity provider deve essere utilizzato per autenticarti. +emailVerifiedMessage=Il tuo indirizzo email \u00e8 stato verificato. +staleEmailVerificationLink=Il link che hai cliccato \u00e8 un link scaduto e non \u00e8 pi\u00f9 valido. Forse hai gi\u00e0 verificato la tua email? + +backToApplication=« Torna all''applicazione +missingParameterMessage=Parametri mancanti\: {0} +clientNotFoundMessage=Client non trovato. +clientDisabledMessage=Client disabilitato. +invalidParameterMessage=Parametro non valido\: {0} +alreadyLoggedIn=Sei gi\u00e0 connesso. + +p3pPolicy=CP="Questa non \u00e8 una P3P policy!" diff --git a/themes/Leanda/login/messages/messages_ja.properties b/themes/Leanda/login/messages/messages_ja.properties new file mode 100644 index 0000000..7a293d4 --- /dev/null +++ b/themes/Leanda/login/messages/messages_ja.properties @@ -0,0 +1,218 @@ +# encoding: utf-8 +doLogIn=ログイン +doRegister=登録 +doCancel=キャンセル +doSubmit=送信 +doYes=はい +doNo=いいえ +doContinue=続ける +doAccept=承諾 +doDecline=却下 +doForgotPassword=パスワードをお忘れですか? +doClickHere=クリックしてください +doImpersonate=代理ログイン +kerberosNotConfigured=Kerberos は設定されていません +kerberosNotConfiguredTitle=Kerberos は設定されていません +bypassKerberosDetail=Kerberos 経由でログインしていないか、ブラウザーで Kerberos ログインの設定がされていません。他の手段でログインするには 「続ける」 をクリックしてください。 +kerberosNotSetUp=Kerberos が設定されていません。ログインできません。 +registerWithTitle={0} で登録 +registerWithTitleHtml={0} +loginTitle={0} にログイン +loginTitleHtml={0} +impersonateTitle={0} ユーザーの代理 +impersonateTitleHtml={0} ユーザーの代理 +realmChoice=レルム +unknownUser=不明なユーザー +loginTotpTitle=モバイル Authenticator セットアップ +loginProfileTitle=アカウント情報の更新 +loginTimeout=ログインに時間がかかりすぎています。最初からログイン処理を開始します。 +oauthGrantTitle=Grant アクセス +oauthGrantTitleHtml={0} +errorTitle=申し訳ございません +errorTitleHtml=申し訳ございません +emailVerifyTitle=Eメール確認 +emailForgotTitle=パスワードをお忘れですか? +updatePasswordTitle=パスワード更新 +codeSuccessTitle=成功コード +codeErrorTitle=エラーコード\: {0} + +termsTitle=利用規約 +termsTitleHtml=利用規約 +termsText=

利用規約はここで設定する必要があります

+ +recaptchaFailed=無効な reCAPTCHA +recaptchaNotConfigured=reCAPTCHA が必須ですが、設定されていません +consentDenied=同意は拒否されました。 + +noAccount=新規ユーザーですか? +username=ユーザー名 +usernameOrEmail=ユーザー名 または メールアドレス +firstName=名 +givenName=名 +fullName=氏名 +lastName=姓 +familyName=姓 +email=Eメール +password=パスワード +passwordConfirm=パスワード (確認) +passwordNew=新しいパスワード +passwordNewConfirm=新しいパスワード (確認) +rememberMe=ログイン状態の保存 +authenticatorCode=ワンタイムコード +address=住所 +street=番地 +locality=市区町村 +region=都道府県 +postal_code=郵便番号 +country=国 +emailVerified=確認済みEメール +gssDelegationCredential=GSS 代行クレデンシャル + +loginTotpStep1=FreeOTP または Google Authenticator (Google認証システム) をご自身のデバイスにインストールしてください。これらのアプリケーションは Google Play と Apple App Store で入手できます。 +loginTotpStep2=アプリケーションを開きバーコードをスキャンするかキーを入力してください。 +loginTotpStep3=アプリケーションで提供されたワンタイムコードを入力して送信をクリックし、セットアップを完了してください。 +loginTotpOneTime=ワンタイムコード + +oauthGrantRequest=アクセス権を許可してよろしいでしょうか? +inResource=in + +emailVerifyInstruction1=メールアドレスを確認する手順を記載したEメールを送信しました。 +emailVerifyInstruction2=Eメールで確認コードを受け取っていませんか? +emailVerifyInstruction3=Eメールを再送信します。 + +emailLinkIdpTitle=リンク {0} +emailLinkIdp1={0} の {1} アカウントを あなたの {2} アカウントとリンクするための手順を記載したEメールを送信しました。 +emailLinkIdp2=Eメールで確認コードを受け取っていませんか? +emailLinkIdp3=Eメールを再送信します。 + +backToLogin=« ログインに戻る + +emailInstruction=ユーザー名またメールアドレスを入力してください。新しいパスワードの設定方法をご案内いたします。 + +copyCodeInstruction=このコードをコピーし、あなたのアプリケーションにペーストしてください: + +personalInfo=個人情報: +role_admin=管理者 +role_realm-admin=レルム管理者 +role_create-realm=レルムの作成 +role_create-client=クライアントの作成 +role_view-realm=レルムの参照 +role_view-users=ユーザーの参照 +role_view-applications=アプリケーションの参照 +role_view-clients=クライアントの参照 +role_view-events=イベントの参照 +role_view-identity-providers=アイデンティティ プロバイダーの参照 +role_manage-realm=レルムの管理 +role_manage-users=ユーザーの管理 +role_manage-applications=アプリケーションの管理 +role_manage-identity-providers=アイデンティティ プロバイダーの管理 +role_manage-clients=クライアントの管理 +role_manage-events=イベントの管理 +role_view-profile=プロフィールの参照 +role_manage-account=アカウントの管理 +role_read-token=トークンの読み取り +role_offline-access=オフラインアクセス +client_account=アカウント +client_security-admin-console=セキュリティ管理コンソール +client_admin-cli=管理 CLI +client_realm-management=レルム管理 +client_broker=ブローカー + +invalidUserMessage=無効なユーザー名またはパスワードです。 +invalidEmailMessage=無効なメールアドレスです。 +accountDisabledMessage=アカウントは無効です。管理者に連絡してください。 +accountTemporarilyDisabledMessage=アカウントは一時的に無効です。管理者に連絡、またはしばらく時間をおいてから再度お試しください。 +expiredCodeMessage=ログインタイムアウトが発生しました。再度ログインしてください。 + +missingFirstNameMessage=名を指定してください。 +missingLastNameMessage=姓を指定してください。 +missingEmailMessage=Eメールを指定してください。 +missingUsernameMessage=ユーザー名を指定してください。 +missingPasswordMessage=パスワードを指定してください。 +missingTotpMessage=Authenticator コードを指定してください。 +notMatchPasswordMessage=パスワードが一致していません。 + +invalidPasswordExistingMessage=間違った既存のパスワードです。 +invalidPasswordConfirmMessage=パスワード確認が一致していません。 +invalidTotpMessage=間違った Authenticator コードです。 + +usernameExistsMessage=既に存在するユーザー名です。 +emailExistsMessage=既に存在するEメールです。 + +federatedIdentityExistsMessage={0} {1} のユーザーは既に存在します。そのアカウントををリンクするにはアカウント管理にログインしてください。 + +confirmLinkIdpTitle=既に存在するアカウントです。 +federatedIdentityConfirmLinkMessage={0} {1} のユーザーは既に存在します。継続しますか? +federatedIdentityConfirmReauthenticateMessage={1} でアカウントをリンクするために {0} として認証します +confirmLinkIdpReviewProfile=プロフィールの確認 +confirmLinkIdpContinue=既存のアカウントに追加する + +configureTotpMessage=アカウントを有効にするにはモバイル Authenticator のセットアップが必要です。 +updateProfileMessage=アカウントを有効にするにはユーザープロフィールの更新が必要です。 +updatePasswordMessage=アカウントを有効にするにはパスワードの更新が必要です。 +verifyEmailMessage=アカウントを有効にするにはメールアドレスの確認が必要です。 +linkIdpMessage=アカウントを {0} とリンクするにはメールアドレスの確認が必要です。 + +emailSentMessage=詳細な手順を記載したEメールをすぐに受信してください。 +emailSendErrorMessage=Eメールの送信に失敗しました。しばらく時間をおいてから再度お試しください。 + +accountUpdatedMessage=アカウントが更新されました。 +accountPasswordUpdatedMessage=パスワードが更新されました。 + +noAccessMessage=アクセスがありません + +invalidPasswordMinLengthMessage=無効なパスワード: 最小 {0} の長さが必要です。 +invalidPasswordMinDigitsMessage=無効なパスワード: 少なくとも {0} 文字の数字を含む必要があります。 +invalidPasswordMinLowerCaseCharsMessage=無効なパスワード: 少なくとも {0} 文字の小文字を含む必要があります。 +invalidPasswordMinUpperCaseCharsMessage=無効なパスワード: 少なくとも {0} 文字の大文字を含む必要があります。 +invalidPasswordMinSpecialCharsMessage=無効なパスワード: 少なくとも {0} 文字の特殊文字を含む必要があります。 +invalidPasswordNotUsernameMessage=無効なパスワード: ユーザー名と同じパスワードは禁止されています。 +invalidPasswordRegexPatternMessage=無効なパスワード: 正規表現パターンと一致しません。 +invalidPasswordHistoryMessage=無効なパスワード: 最近の {0} パスワードのいずれかと同じパスワードは禁止されています。 + +failedToProcessResponseMessage=応答を処理できませんでした +httpsRequiredMessage=HTTPS が必須です +realmNotEnabledMessage=レルムが有効ではありません +invalidRequestMessage=無効なリクエストです +failedLogout=ログアウトに失敗しました +unknownLoginRequesterMessage=不明なログイン要求元です +loginRequesterNotEnabledMessage=ログイン要求元は有効ではありません +bearerOnlyMessage=bearer-only のアプリケーションはブラウザーログインを開始することが許可されていません +standardFlowDisabledMessage=与えられた response_type でクライアントはブラウザーログインを開始することが許可されていません。 Standard Flow は無効です。 +implicitFlowDisabledMessage=与えられた response_type でクライアントはブラウザーログインを開始することが許可されていません。 Implicit Flow は無効です。 +invalidRedirectUriMessage=無効なリダイレクト URI です +unsupportedNameIdFormatMessage=サポートされていない NameID Format です +invalidRequesterMessage=無効な要求元です +registrationNotAllowedMessage=登録は許可されていません +resetCredentialNotAllowedMessage=クレデンシャルのリセットは許可されていません + +permissionNotApprovedMessage=アクセス権は承認されていません。 +noRelayStateInResponseMessage=アイデンティティ プロバイダーからの応答に RelayState がありません。 +insufficientPermissionMessage=アイデンティティにリンクするには不十分なアクセス権です。 +couldNotProceedWithAuthenticationRequestMessage=アイデンティティ プロバイダーに認証要求を続行できませんでした。 +couldNotObtainTokenMessage=アイデンティティ プロバイダーからトークンを取得できませんでした。 +unexpectedErrorRetrievingTokenMessage=アイデンティティ プロバイダーからのトークン取得で予期せぬエラーが発生しました。 +unexpectedErrorHandlingResponseMessage=アイデンティティ プロバイダーからの応答を処理する際に予期せぬエラーが発生しました。 +identityProviderAuthenticationFailedMessage=認証に失敗しました。アイデンティティ プロバイダーを使用して認証できませんでした。 +identityProviderDifferentUserMessage={1} として認証されることを期待していましたが、{0} として認証されました +couldNotSendAuthenticationRequestMessage=アイデンティティ プロバイダーに認証要求を送信することができませんでした。 +unexpectedErrorHandlingRequestMessage=アイデンティティ プロバイダーへの認証要求を処理する際に予期せぬエラーが発生しました。 +invalidAccessCodeMessage=無効なアクセスコードです。 +sessionNotActiveMessage=セッションが有効ではありません。 +invalidCodeMessage=エラーが発生しました。アプリケーションを介して再度ログインしてください。 +identityProviderUnexpectedErrorMessage=アイデンティティ プロバイダーによる認証の再に予期せぬエラーが発生しました +identityProviderNotFoundMessage=該当の識別子を持つアイデンティティ プロバイダーが見つかりませんでした。 +identityProviderLinkSuccess=アカウントが正常に {0} の {1} アカウントにリンクされました。 +staleCodeMessage=このページはもはや有効ではありませんので、アプリケーションに戻り再度ログインしてください +realmSupportsNoCredentialsMessage=レルムはクレデンシャルタイプをサポートしていません。 +identityProviderNotUniqueMessage=レルムは複数のアイデンティティ プロバイダーをサポートしています。どのアイデンティティ プロバイダーが認証に使用されるべきか判断できませんでした。 +emailVerifiedMessage=メールアドレスが確認できました。 +staleEmailVerificationLink=クリックされたリンクは古いリンクでありもはや有効ではありません。おそらくEメールは既に確認済みではないでしょうか? + +backToApplication=« アプリケーションに戻る +missingParameterMessage=不足パラメータ\: {0} +clientNotFoundMessage=クライアントが見つかりません。 +clientDisabledMessage=クライアントが無効になっています。 +invalidParameterMessage=無効なパラメータ\: {0} +alreadyLoggedIn=既にログインしています。 + diff --git a/themes/Leanda/login/messages/messages_lt.properties b/themes/Leanda/login/messages/messages_lt.properties new file mode 100644 index 0000000..0edff1b --- /dev/null +++ b/themes/Leanda/login/messages/messages_lt.properties @@ -0,0 +1,218 @@ +doLogIn=Prisijungti +doRegister=Registruotis +doCancel=At\u0161aukti +doSubmit=Patvirtinti +doYes=Taip +doNo=Ne +doContinue=T\u0119sti +doAccept=Patvirtinti +doDecline=At\u0161aukti +doForgotPassword=Pamir\u0161ote slapta\u017Eod\u012F? +doClickHere=Spauskite \u010Dia +doImpersonate=Apsimesti kaip +kerberosNotConfigured=Kerberos nesukonfig\u016Bruotas +kerberosNotConfiguredTitle=Kerberos nesukonfig\u016Bruotas +bypassKerberosDetail=J\u016Bs neprisijung\u0119s per Kerberos arba J\u016Bs\u0173 nar\u0161ykl\u0117 nesukonfig\u016Bruota Kerberos prisijungimui. T\u0119skite ir pasirinkite kit\u0105 prisijungimo b\u016Bd\u0105 +kerberosNotSetUp=Kerberos nesukonfig\u016Bruotas. J\u016Bs negalite prisijungti. +registerWithTitle=Registruotis su {0} +registerWithTitleHtml={0} +loginTitle=Prisijungti su {0} +loginTitleHtml={0} +impersonateTitle=Apsimesti kaip naudotojas {0} +impersonateTitleHtml=Apsimesti kaip {0} +realmChoice=Sritis +unknownUser=Ne\u017Einomas naudotojas +loginTotpTitle=Mobilaus autentifikatoriaus nustatymas +loginProfileTitle=Atnaujinti paskyros informacij\u0105 +loginTimeout=U\u017Etrukote per ilgai. Prisijungimo procesas pradedamas i\u0161 naujo. +oauthGrantTitle=Suteitikti prieig\u0105 +oauthGrantTitleHtml={0} +errorTitle=Atsipra\u0161ome ... +errorTitleHtml=Atsipra\u0161ome ... +emailVerifyTitle=El. pa\u0161to adreso patvirtinimas +emailForgotTitle=Pamir\u0161ote slapta\u017Eod\u012F? +updatePasswordTitle=Atnaujinti slapta\u017Eod\u012F +codeSuccessTitle=S\u0117km\u0117 +codeErrorTitle=Klaidos kodas\: {0} + +termsTitle=Naudojimo s\u0105lygos +termsTitleHtml=Naudojimo s\u0105lygos +termsText=

Naudojimo s\u0105lygos nenurodytos

+ +recaptchaFailed=Recaptcha neteisingas +recaptchaNotConfigured=Reikalingas Recaptcha nesukonfig\u016Bruotas +consentDenied=Prieiga draud\u017Eiama. + +noAccount=Dar neturite paskyros? +username=Naudotojo vardas +usernameOrEmail=Naudotojo vardas arba el. pa\u0161to adresas +firstName=Vardas +givenName=Vardas +fullName=Pavard\u0117 +lastName=Pavard\u0117 +familyName=Pavard\u0117 +email=El. pa\u0161tas +password=Slapta\u017Eodis +passwordConfirm=Pakartotas slapta\u017Eodis +passwordNew=Naujas slapta\u017Eodis +passwordNewConfirm=Pakartotas naujas slapta\u017Eodis +rememberMe=Prisiminti mane +authenticatorCode=Vienkartinis kodas +address=Adresas +street=Gatv\u0117 +locality=Miestas arba vietov\u0117 +region=Rajonas +postal_code=Pa\u0161to kodas +country=\u0160alis +emailVerified=El. pa\u0161to adresas patvirtintas +gssDelegationCredential=GSS prisijungimo duomen\u0173 delegavimas + +loginTotpStep1=\u012Ediekite FreeOTP arba Google Authenticator savo \u012Frenginyje. Program\u0117l\u0117s prieinamos Google Play ir Apple App Store. +loginTotpStep2=Atidarykite program\u0117l\u0119 ir nuskenuokite barkod\u0105 arba \u012Fveskite kod\u0105. +loginTotpStep3=\u012Eveskite program\u0117l\u0117je sugeneruot\u0105 vien\u0105 kart\u0105 galiojant\u012F kod\u0105 ir paspauskite Saugoti nor\u0117dami prisijungti. +loginTotpOneTime=Vienkartinis kodas + +oauthGrantRequest=Ar J\u016Bs suteikiate \u0161ias prieigos teises? +inResource=\u012F + +emailVerifyInstruction1=El. pa\u0161tas su instrukcijomis ir patvirtinimo nuoroda nusi\u0173sti \u012F J\u016Bs\u0173 el. pa\u0161t\u0105. +emailVerifyInstruction2=El. pa\u0161tu negavote patvirtinimo kodo? +emailVerifyInstruction3=pakartotoinai si\u0173sti el. lai\u0161k\u0105. + +emailLinkIdpTitle=Susieti {0} +emailLinkIdp1=El. pa\u0161to lai\u0161kas su instrukcijomis susieti {0} paskyr\u0105 {1} su {2} buvo nusi\u0173stas. +emailLinkIdp2=Negavote patvirtinimo kodo el. pa\u0161tu? +emailLinkIdp3=pakartotoinai si\u0173sti el. lai\u0161k\u0105. + +backToLogin=« Gr\u012F\u017Eti \u012F prisijungimo lang\u0105 + +emailInstruction=\u012Eveskite naudotojo vard\u0105 arba slapta\u017Eod\u012F ir slapta\u017Eod\u017Eio pakeitimo instrukcijos bus atsi\u0173stos Jums el. pa\u0161tu + +copyCodeInstruction=Nukopijuokite \u0161\u012F kod\u0105 \u012F J\u016Bs\u0173 program\u0105: + +personalInfo=Asmenin\u0117 informacija: +role_admin=Administratorius +role_realm-admin=Srities administravimas +role_create-realm=Kurti srit\u012F +role_create-client=Kurti program\u0105 +role_view-realm=Per\u017Ei\u016Br\u0117ti srit\u012F +role_view-users=Per\u017Ei\u016Br\u0117ti naudotojus +role_view-applications=Per\u017Ei\u016Br\u0117ti programas +role_view-clients=Per\u017Ei\u016Br\u0117ti klientines programas +role_view-events=Per\u017Ei\u016Br\u0117ti \u012Fvyki\u0173 \u017Eurnal\u0105 +role_view-identity-providers=Per\u017Ei\u016Br\u0117ti tapatyb\u0117s teik\u0117jus +role_manage-realm=Valdyti sritis +role_manage-users=Valdyti naudotojus +role_manage-applications=Valdyti programas +role_manage-identity-providers=Valdyti tapatyb\u0117s teik\u0117jus +role_manage-clients=Valdyti programas +role_manage-events=Valdyti \u012Fvykius +role_view-profile=Per\u017Ei\u016Br\u0117ti paskyr\u0105 +role_manage-account=Valdyti paskyr\u0105 +role_read-token=Skaityti prieigos rak\u0161\u0105 +role_offline-access=Darbas neprisijungus +client_account=Paskyra +client_security-admin-console=Saugumo administravimo konsol\u0117 +client_admin-cli=Administravimo CLI +client_realm-management=Srities valdymas +client_broker=Tarpininkas + +invalidUserMessage=Neteisingas naudotojo vardas arba slapta\u017Eodis. +invalidEmailMessage=Neteisingas el. pa\u0161to adresas. +accountDisabledMessage=Paskyros galiojimas sustabdytas, kreipkit\u0117s \u012F administratori\u0173. +accountTemporarilyDisabledMessage=Paskyros galiojimas laikinai sustabdytas. Kreipkit\u0117s \u012F administratori\u0173 arba pabandykite v\u0117liau. +expiredCodeMessage=Prisijungimo laikas baig\u0117si. Bandykite dar kart\u0105. + +missingFirstNameMessage=Pra\u0161ome \u012Fvesti vard\u0105. +missingLastNameMessage=Pra\u0161ome \u012Fvesti pavard\u0119. +missingEmailMessage=Pra\u0161ome \u012Fvesti el. pa\u0161to adres\u0105. +missingUsernameMessage=Pra\u0161ome \u012Fvesti naudotojo vard\u0105. +missingPasswordMessage=Pra\u0161ome \u012Fvesti slapta\u017Eod\u012F. +missingTotpMessage=Pra\u0161ome \u012Fvesti autentifikacijos kod\u0105. +notMatchPasswordMessage=Slapta\u017Eod\u017Eiai nesutampa. + +invalidPasswordExistingMessage=Neteisingas dabartinis slapta\u017Eodis. +invalidPasswordConfirmMessage=Pakartotas slapta\u017Eodis nesutampa. +invalidTotpMessage=Neteisingas autentifikacijos kodas. + +usernameExistsMessage=Toks naudotojas jau egzistuoja. +emailExistsMessage=El. pa\u0161to adresas jau egzistuoja. + +federatedIdentityExistsMessage=Naudotojas {0} {1} jau egzistuoja. Pra\u0161ome prsijungti prie naudotoj\u0173 valdymo posistem\u0117s paskyr\u0173 susiejimui. + +confirmLinkIdpTitle=Paskyra jau egzistuoja +federatedIdentityConfirmLinkMessage=Naudotojas {0} {1} jau egzistuoja. Ar t\u0119sti? +federatedIdentityConfirmReauthenticateMessage=Prisijunkite prie {0} nor\u0117dami susieti paskyr\u0105 su {1} +confirmLinkIdpReviewProfile=Per\u017Ei\u016Br\u0117ti naudotojo profilio informacij\u0105 +confirmLinkIdpContinue=Susieti su egzistuojan\u010Dia paskyra + +configureTotpMessage=Paskyros aktyvavimui Jums reikalingas Mobilus autentifikatorius. +updateProfileMessage=Paskyros aktyvavimui Jums reikia atnaujinti profilio informacij\u0105. +updatePasswordMessage=Paskyros aktyvavimui Jums reikia pakeisti slapta\u017Eod\u012F. +verifyEmailMessage=Paskyros aktyvavimui Jums reikia patvirtinti el. pa\u0161to adres\u0105. +linkIdpMessage=El. pa\u0161to adreso susiejimui su J\u016Bsu paskyra {0} reikalingas patvirtinimas. + +emailSentMessage=Netrukus tur\u0117tum\u0117te gauti el. pa\u0161to adres\u0105 su instrukcijomis. +emailSendErrorMessage=Klaida siun\u010Diant el. pa\u0161t\u0105, bandykite v\u0117liau. + +accountUpdatedMessage=J\u0173s\u0173 paskyros informacija atnaujinta. +accountPasswordUpdatedMessage=J\u016Bs\u0173 slapta\u017Eodis pakeistas. + +noAccessMessage=Prieiga negalima + +invalidPasswordMinLengthMessage=Neteisingas slapta\u017Eodis: privalomi bent {0} simboliai. +invalidPasswordMinDigitsMessage=Neteisingas slapta\u017Eodis: privalomi bent {0} skaitmenys. +invalidPasswordMinLowerCaseCharsMessage=Neteisingas slapta\u017Eodis: privalomos bent {0} ma\u017Eosios raid\u0117s. +invalidPasswordMinUpperCaseCharsMessage=Neteisingas slapta\u017Eodis: privalomos bent {0} did\u017Eiosios raid\u0117s. +invalidPasswordMinSpecialCharsMessage=Neteisingas slapta\u017Eodis: privalomi bent {0} special\u016Bs simboliai. +invalidPasswordNotUsernameMessage=Neteisingas slapta\u017Eodis: negali sutapti su naudotojo vardu. +invalidPasswordRegexPatternMessage=Neteisingas slapta\u017Eodis: neatitinka regexp taisykl\u0117s. +invalidPasswordHistoryMessage=Neteisingas slapta\u017Eodis: negali sutapti su prie\u0161 tai naudotais {0} slapta\u017Eod\u017Eiais. + +failedToProcessResponseMessage=Klaida apdorojant atsakym\u0105 +httpsRequiredMessage=Privalomas HTTPS +realmNotEnabledMessage=Srities galiojimas i\u0161jungtas +invalidRequestMessage=Neteisinga u\u017Eklausa +failedLogout=Nepavyko u\u017Ebaigti sesijos +unknownLoginRequesterMessage=Ne\u017Einomas prisijungimo pra\u0161ytojas +loginRequesterNotEnabledMessage=Prisijungimo pra\u0161ytojo galiojimas i\u0161jungtas +bearerOnlyMessage=Programos, sukonfig\u016Bruotos tik kaip perdav\u0117jai, negali inicijuoti prisijungim\u0105 per nar\u0161ykl\u0119. +standardFlowDisabledMessage=Su pateiktu atsakymo tipu prisijungimas per nar\u0161ykl\u0119 \u0161iam klientui negalimas. \u0160iam klientui ne\u012Fgalinta standartin\u0117 seka. +implicitFlowDisabledMessage=Su pateiktu atsakymo tipu prisijungimas per nar\u0161ykl\u0119 \u0161iam klientui negalimas. \u0160iam klientui ne\u012Fgalinta i\u0161reik\u0161tin\u0117 seka. +invalidRedirectUriMessage=Neteisinga nukreipimo nuoroda +unsupportedNameIdFormatMessage=Nepalaikomas NameIDFormat +invalidRequesterMessage=Neteisingas pra\u0161ytojas +registrationNotAllowedMessage=Registracija negalima +resetCredentialNotAllowedMessage=Prisijungimo duomen\u0173 atk\u016Brimas negalimas + +permissionNotApprovedMessage=Teis\u012F nepatvirtinta. +noRelayStateInResponseMessage=Tapatyb\u0117s teik\u0117jo atsakyme tr\u016Bksta perdavimo b\u016Bsenos. +insufficientPermissionMessage=Tr\u016Bksta teisi\u0173 tapatybi\u0173 susiejimui. +couldNotProceedWithAuthenticationRequestMessage=Nepavyksta prad\u0117ti tapatyb\u0117s teik\u0117jo autentifikacijos u\u017Eklausos. +couldNotObtainTokenMessage=Negaunamas prieigos raktas i\u0161 tapatyb\u0117s teik\u0117jo. +unexpectedErrorRetrievingTokenMessage=Prieigos rak\u0161o gavimo i\u0161 tapatyb\u0117s teik\u0117jo metu \u012Fvyko netik\u0117ta klaida. +unexpectedErrorHandlingResponseMessage=Tapatyb\u0117s teik\u0117jo atsakymo apdorojimo metu \u012Fvyko netik\u0117ta klaida. +identityProviderAuthenticationFailedMessage=Autentifikacijos klaida. Nepavyksta autentifikacija su tapatyb\u0117s teik\u0117ju. +identityProviderDifferentUserMessage=Autentifikuota kaip {0}, nors buvo tikimasi {1} +couldNotSendAuthenticationRequestMessage=Tapatyb\u0117s teik\u0117jui nepavyksta nusi\u0173sti autentifikacijos u\u017Eklausos. +unexpectedErrorHandlingRequestMessage=U\u017Eklausos tapatyb\u0117s teik\u0117jui formavimo metu \u012Fvyko netik\u0117ta klaida. +invalidAccessCodeMessage=Neteisingas prieigos kodas. +sessionNotActiveMessage=Sesija neaktyvi. +invalidCodeMessage=\u012Evyko klaida. Pra\u0161ome bandyti prisijungti dar kart\u0105. +identityProviderUnexpectedErrorMessage=Autentifikavimo su i\u0161oriniu tapatyb\u0117s teik\u0117ju metu \u012Fvyko netik\u0117ta klaida. +identityProviderNotFoundMessage=Su nurodytu identifikatoriumi nerastas tapatyb\u0117s teik\u0117jas. +identityProviderLinkSuccess=J\u016Bs\u0173 naudotojo paskyra buvo s\u0117kmingai susieta su {0} paskyra {1} . +staleCodeMessage=\u0160is puslapis nebegalioja. Pra\u0161ome gr\u012F\u017Eti \u012F program\u0105 ir bandyti prisijungti i\u0161 naujo. +realmSupportsNoCredentialsMessage=Sritis nepalaiko prisijungim\u0173 naudojant prisijungimo duomenis. +identityProviderNotUniqueMessage=Sritis palaiko daugiau nei vien\u0105 tapatyb\u0117s teik\u0117j\u0105. Negalima nustatyti kuris tapatyb\u0117s teik\u0117jas turi b\u016Bti naudojamas autentifikacijai. +emailVerifiedMessage=J\u016Bs\u0173 el. pa\u0161to adresas patvirtintas. +staleEmailVerificationLink=Nuoroda, kuri\u0105 paspaud\u0117te nebegalioja? Galb\u016Bt J\u016Bs jau patvirtinote el. pa\u0161to adres\u0105? + +backToApplication=« Gr\u012F\u017Eti \u012F program\u0105 +missingParameterMessage=Nenurodytas parametras\: {0} +clientNotFoundMessage=Nenurodytas klientas. +clientDisabledMessage=Kliento galiojimas i\u0161jungtas. +invalidParameterMessage=Neteisingas parametras\: {0} +alreadyLoggedIn=J\u016Bs jau esate prisijung\u0119. + +p3pPolicy=CP="Nurodyta reik\u0161m\u0117 n\u0117ra P3P taisykl\u0117!" \ No newline at end of file diff --git a/themes/Leanda/login/messages/messages_nl.properties b/themes/Leanda/login/messages/messages_nl.properties new file mode 100644 index 0000000..5d5b890 --- /dev/null +++ b/themes/Leanda/login/messages/messages_nl.properties @@ -0,0 +1,224 @@ +doLogIn=Inloggen +doRegister=Registreer +doCancel=Annuleer +doSubmit=Verzenden +doYes=Ja +doNo=Nee +doContinue=Doorgaan +doAccept=Accepteren +doDecline=Afwijzen +doForgotPassword=Wachtwoord vergeten? +doClickHere=Klik hier +doImpersonate=Identiteit overnemen +kerberosNotConfigured=Kerberos is niet geconfigureerd +kerberosNotConfiguredTitle=Kerberos is niet geconfigureerd +bypassKerberosDetail=U bent niet ingelogd via Kerberos of uw browser kan niet met Kerberos inloggen. Klik op 'doorgaan' om via een andere manier in te loggen +kerberosNotSetUp=Kerberos is onjuist geconfigureerd. U kunt niet inloggen. +registerWithTitle=Registreer met {0} +registerWithTitleHtml={0} +loginTitle=Inloggen bij {0} +loginTitleHtml={0} +impersonateTitle={0} Identiteit overnemen +impersonateTitleHtml={0} Identiteit overnemen +realmChoice=Realm +unknownUser=Onbekende gebruiker +loginTotpTitle=Mobile Authenticator Setup +loginProfileTitle=Update accountinformatie +loginTimeout=U bent te lang bezig geweest met inloggen. Het inlogproces begint overnieuw. +oauthGrantTitle=Verleen Toegang +oauthGrantTitleHtml={0} +errorTitle=Er is een fout opgetreden... +errorTitleHtml=Er is een fout opgetreden... +emailVerifyTitle=E-mailadres-verificatie +emailForgotTitle=Wachtwoord vergeten? +updatePasswordTitle=Wachtwoord updaten +codeSuccessTitle=Succescode +codeErrorTitle=Foutcode: {0} + +termsTitle=Voorwaarden +termsTitleHtml=Voorwaarden +termsText=

Gedefinieerde voorwaarden

+recaptchaFailed=Ongeldige Recaptcha +recaptchaNotConfigured=Recaptcha is verplicht, maar niet geconfigureerd +consentDenied=Toestemming geweigerd. + +noAccount=Nieuwe gebruiker? +username=Gebruikersnaam +usernameOrEmail=Gebruikersnaam of e-mailadres +firstName=Voornaam +givenName=Voornaam +lastName=Achternaam +familyName=Familienaam +email=E-mailadres +password=Wachtwoord +passwordConfirm=Bevestig wachtwoord +passwordNew=Nieuw wachtwoord +passwordNewConfirm=Bevestiging nieuwe wachtwoord +rememberMe=Ingelogd blijven +authenticatorCode=Authenticatiecode +address=Adres +postal_code=Postcode +country=Land +emailVerified=E-mailadres geverifieerd +gssDelegationCredential=GSS delegatie Credential +loginTotpStep1=Installeer FreeOTP of Google Authenticator op uw mobiele telefoon. Beide applicaties zijn beschikbaar in de Google Play en Apple App Store. +loginTotpStep2=Open de applicatie en scan de barcode of voer de sleutel in +loginTotpStep3=Voer de eenmalige code die door de applicatie is aangeleverd in en klik op 'Verzenden' om de setup te voltooien +loginTotpOneTime=Eenmalige code + +oauthGrantRequest=Wilt u deze toegangsrechten verlenen? +inResource=in + +emailVerifyInstruction1=Een e-mail met instructies om uw e-mailadres te verifiëren is zojuist verzonden. +emailVerifyInstruction2=Heeft u geen verificatiecode ontvangen in uw e-mail? +emailVerifyInstruction3=om opnieuw een e-mail te versturen. + +emailLinkIdpTitle=Link {0} +emailLinkIdp1=Er is een e-mail met instructies verzonden om {0} account {1} te koppelen met uw {2} account. +emailLinkIdp2=Heeft u geen verificatiecode in uw e-mail ontvangen? +emailLinkIdp3=om opnieuw een e-mail te versturen. + +backToLogin=« Terug naar Inloggen + +emailInstruction=Voer uw gebruikersnaam of e-mailadres in en wij sturen u een e-mailbericht met instructies voor het aanmaken van een nieuw wachtwoord. + +copyCodeInstruction=Kopieer deze code en plak deze in uw applicatie: + +personalInfo=Persoonlijke informatie: +role_realm-admin=Realm beheren +role_create-realm=Realm aanmaken +role_create-client=Client aanmaken +role_view-realm=Bekijk realm +role_view-users=Bekijk gebruikers +role_view-clients=Bekijk clients +role_view-events=Bekijk gebeurtenissen +role_view-identity-providers=Bekijk identity providers +role_manage-realm=Beheer realm +role_manage-users=Gebruikers beheren +role_manage-identity-providers=Beheer identity providers +role_manage-clients=Beheer clients +role_manage-events=Beheer gebeurtenissen +role_view-profile=Profiel bekijken +role_read-token=Token lezen +role_offline-access=Offline toegang +client_account=Account +client_security-admin-console=Security Admin Console +client_admin-cli=Admin CLI +client_broker=Broker +invalidUserMessage=Ongeldige gebruikersnaam of wachtwoord. +invalidEmailMessage=Ongeldig e-mailadres. +accountDisabledMessage=Account is uitgeschakeld, neem contact op met beheer. +accountTemporarilyDisabledMessage=Account is tijdelijk uitgeschakeld, neem contact op met beheer of probeer het later opnieuw. +expiredCodeMessage=Logintijd verlopen. Gelieve opnieuw in te loggen. + +missingFirstNameMessage=Voer uw voornaam in. +missingLastNameMessage=Voer uw achternaam in. +missingEmailMessage=Voer uw e-mailadres in. +missingUsernameMessage=Voer uw gebruikersnaam in. +missingPasswordMessage=Voer uw wachtwoord in. +missingTotpMessage=Voer uw authenticatiecode in. +notMatchPasswordMessage=Wachtwoorden komen niet overeen. +invalidPasswordExistingMessage=Ongeldig bestaand wachtwoord. +invalidPasswordConfirmMessage=Wachtwoord komt niet overeen met wachtwoordbevestiging. +invalidTotpMessage=Ongeldige authenticatiecode. + +usernameExistsMessage=Gebruikersnaam bestaat al. +emailExistsMessage=E-mailadres bestaat al. + +federatedIdentityExistsMessage=Gebruiker met {0} {1} bestaat al. Log in met het beheerdersaccount om het account te koppelen. + +confirmLinkIdpTitle=Account bestaat al +federatedIdentityConfirmLinkMessage=Gebruiker met {0} {1} bestaat al. Hoe wilt u doorgaan? +federatedIdentityConfirmReauthenticateMessage=Authenticeer als {0} om uw account te koppelen {1} +confirmLinkIdpReviewProfile=Nalopen profiel +confirmLinkIdpContinue=Voeg toe aan bestaande account + +configureTotpMessage=U moet de Mobile Authenticator configuren om uw account te activeren. +updateProfileMessage=U moet uw gebruikersprofiel bijwerken om uw account te activeren. +updatePasswordMessage=U moet uw wachtwoord wijzigen om uw account te activeren. +verifyEmailMessage=U moet uw e-mailadres verifiëren om uw account te activeren. +linkIdpMessage=U moet uw e-mailadres verifiëren om uw account te koppelen aan {0}. + +emailSentMessage=U ontvangt binnenkort een e-mail met verdere instructies. +emailSendErrorMessage=Het versturen van de e-mail is mislukt, probeer het later opnieuw. + +accountUpdatedMessage=Uw account is gewijzigd. +accountPasswordUpdatedMessage=Uw wachtwoord is gewijzigd. + +noAccessMessage=Geen toegang + +invalidPasswordMinLengthMessage=Ongeldig wachtwoord, de minimumlengte is {0} karakters. +invalidPasswordMinDigitsMessage=Ongeldig wachtwoord, deze moet minstens {0} cijfers bevatten. +invalidPasswordMinLowerCaseCharsMessage=Ongeldig wachtwoord, deze moet minstens {0} kleine letters bevatten. +invalidPasswordMinUpperCaseCharsMessage=Ongeldig wachtwoord, deze moet minstens {0} hoofdletters bevatten. +invalidPasswordMinSpecialCharsMessage=Ongeldig wachtwoord, deze moet minstens {0} speciale tekens bevatten. +invalidPasswordNotUsernameMessage=Ongeldig wachtwoord, deze mag niet overeen komen met de gebruikersnaam. +invalidPasswordRegexPatternMessage=Ongeldig wachtwoord, deze komt niet overeen met opgegeven reguliere expressie(s). +invalidPasswordHistoryMessage=Ongeldig wachtwoord, deze mag niet overeen komen met een van de laatste {0} wachtwoorden. + +failedToProcessResponseMessage=Het verwerken van de respons is mislukt +httpsRequiredMessage=HTTPS vereist +realmNotEnabledMessage=Realm niet geactiveerd +invalidRequestMessage=Ongeldige request +failedLogout=Afmelden is mislukt +unknownLoginRequesterMessage=De login requester is onbekend +loginRequesterNotEnabledMessage=De login requester is niet geactiveerd +bearerOnlyMessage=Bearer-only applicaties mogen geen browserlogin initiëren +standardFlowDisabledMessage=Client mag geen browserlogin starten met het opgegeven response_type. Standard flow is uitgeschakeld voor de client. +implicitFlowDisabledMessage=Client mag geen browserlogin starten met opgegeven response_type. Implicit flow is uitgeschakeld voor de klant. +invalidRedirectUriMessage=Ongeldige redirect-URI +unsupportedNameIdFormatMessage=Niet-ondersteunde NameIDFormat +invalidRequesterMessage=Ongeldige requester +registrationNotAllowedMessage=Registratie is niet toegestaan +resetCredentialNotAllowedMessage=Het opnieuw instellen van de aanmeldgegevens is niet toegestaan +permissionNotApprovedMessage=Recht verworpen. +noRelayStateInResponseMessage=Geen relay state in antwoord van de identity provider. +insufficientPermissionMessage=Onvoldoende rechten om identiteiten te koppelen. +couldNotProceedWithAuthenticationRequestMessage=Het authenticatieverzoek naar de identity provider wordt afgebroken. +couldNotObtainTokenMessage=Kon geen token bemachtigen van de identity provider. +unexpectedErrorRetrievingTokenMessage=Onverwachte fout bij het ophalen van de token van de identity provider. +unexpectedErrorHandlingResponseMessage=Onverwachte fout bij het verwerken van de respons van de identity provider. +identityProviderAuthenticationFailedMessage=Verificatie mislukt. Er kon niet worden geauthenticeerd met de identity provider. +identityProviderDifferentUserMessage=U bent geauthenticeerd als {0}, maar u werd verwacht als {1} geauthenticeerd te zijn +couldNotSendAuthenticationRequestMessage=Kan het authenticatieverzoek niet verzenden naar de identity provider. +unexpectedErrorHandlingRequestMessage=Onverwachte fout bij het verwerken van het authenticatieverzoek naar de identity provider. +invalidAccessCodeMessage=Ongeldige toegangscode. +sessionNotActiveMessage=Sessie inactief. +invalidCodeMessage=Er is een fout opgetreden, probeer nogmaals in te loggen. +identityProviderUnexpectedErrorMessage=Onverwachte fout tijdens de authenticatie met de identity provider +identityProviderNotFoundMessage=Geen identity provider gevonden met deze naam. +identityProviderLinkSuccess=Uw account is met succes gekoppeld aan {0} account {1}. +staleCodeMessage=Deze pagina is verlopen. Keer terug naar uw applicatie om opnieuw in te loggen. +realmSupportsNoCredentialsMessage=Realm ondersteunt geen enkel soort aanmeldgegeven. +identityProviderNotUniqueMessage=Realm ondersteunt meerdere identity providers. Er kon niet bepaald worden welke identity provider er gebruikt zou moeten worden tijdens de authenticatie. +emailVerifiedMessage=Uw e-mailadres is geverifieerd. +staleEmailVerificationLink=De link die u gebruikt is verlopen, wellicht omdat u uw e-mailadres al eerder geverifieerd heeft. + +backToApplication=« Terug naar de applicatie +missingParameterMessage=Missende parameters: {0} +clientNotFoundMessage=Client niet gevonden. +clientDisabledMessage=Client is inactief. +invalidParameterMessage=Ongeldige parameter: {0} +alreadyLoggedIn=U bent al ingelogd. + +p3pPolicy=CP="This is not a P3P policy!" +fullName=Volledige naam +street=Straat +locality=Plaats +region=Staat, provincie of regio +emailLinkIdp4=Als u de e-mail al geverifieerd heeft in een andere browser +emailLinkIdp5=om door te gaan. +pageExpiredTitle=Pagina is verlopen +pageExpiredMsg1=Om het inlogproces te herstarten +pageExpiredMsg2=Om het inlogproces te vervolgen +role_admin=Beheerder +role_view-applications=Bekijk applicaties +role_manage-applications=Beheer applicaties +role_manage-account=Beheer account +role_manage-account-links=Beheer account-links +client_realm-management=Realm-beheer +expiredActionMessage=Actie verlopen. Vervolg nu met inloggen. +invalidPasswordGenericMessage=Ongeldig wachtwoord: het nieuwe wachtwoord voldoet niet aan het wachtwoordbeleid. +identityProviderAlreadyLinkedMessage=De door {0} teruggegeven gefedereerde identiteit is al aan een andere gebruiker gekoppeld. +differentUserAuthenticated=U bent in deze sessie al als de gebruiker "{0}" aangemeld. Log eerst uit. +brokerLinkingSessionExpired=Broker account linking aangevraagd, maar de huidige sessie in verlopen. diff --git a/themes/Leanda/login/messages/messages_no.properties b/themes/Leanda/login/messages/messages_no.properties new file mode 100644 index 0000000..47922cd --- /dev/null +++ b/themes/Leanda/login/messages/messages_no.properties @@ -0,0 +1,231 @@ +doLogIn=Logg inn +doRegister=Registrer deg +doCancel=Avbryt +doSubmit=Send inn +doYes=Ja +doNo=Nei +doContinue=Fortsett +doAccept=Aksepter +doDecline=Avsl\u00E5 +doForgotPassword=Glemt passord? +doClickHere=Klikk her +doImpersonate=Utgi deg for \u00E5 v\u00E6re en annen bruker +kerberosNotConfigured=Kerberos er ikke konfigurert +kerberosNotConfiguredTitle=Kerberos er ikke konfigurert +bypassKerberosDetail=Enten er du ikke logget inn via Kerberos eller s\u00E5 st\u00F8tter ikke nettleseren innlogging med Kerberos. Vennligst klikk Fortsett for \u00E5 logge inn p\u00E5 andre m\u00E5ter +kerberosNotSetUp=Kerberos er ikke konfigurert. Du kan ikke logge inn. +registerWithTitle=Registrer deg med {0} +registerWithTitleHtml={0} +loginTitle=Logg inn p\u00E5 {0} +loginTitleHtml={0} +impersonateTitle={0} Gi deg ut for \u00E5 v\u00E6re en annen bruker +impersonateTitleHtml={0} Gi deg ut for \u00E5 v\u00E6re en annen bruker +realmChoice=Sikkerhetsdomene +unknownUser=Ukjent bruker +loginTotpTitle=Konfigurer autentifikator for mobil +loginProfileTitle=Oppdater konto +loginTimeout=Du brukte for lang tid p\u00E5 \u00E5 logge inn. Vennligst pr\u00F8v igjen. +oauthGrantTitle=Gi tilgang +oauthGrantTitleHtml={0} +errorTitle=Vi beklager... +errorTitleHtml=Vi beklager ... +emailVerifyTitle=E-postbekreftelse +emailForgotTitle=Glemt passord? +updatePasswordTitle=Oppdater passord +codeSuccessTitle=Suksesskode +codeErrorTitle=Feilkode\: {0} + +termsTitle=Vilk\u00E5r og betingelser +termsTitleHtml=Vilk\u00E5r og betingelser +termsText=

Vilk\u00E5r og betingelser kommer

+ +recaptchaFailed=Ugyldig Bildebekreftelse +recaptchaNotConfigured=Bildebekreftelse er p\u00E5krevet, men er ikke konfigurert +consentDenied=Samtykke avsl\u00E5tt. + +noAccount=Ny bruker? +username=Brukernavn +usernameOrEmail=Brukernavn eller e-postadresse +firstName=Fornavn +givenName=Fornavn +fullName=Fullstendig navn +lastName=Etternavn +familyName=Etternavn +email=E-postadresse +password=Passord +passwordConfirm=Bekreft passord +passwordNew=Nytt passord +passwordNewConfirm=Bekreft nytt Passord +rememberMe=Husk meg +authenticatorCode=Engangskode +address=Adresse +street=Gate-/veinavn + husnummer +locality=By +region=Fylke +postal_code=Postnummer +country=Land +emailVerified=E-postadresse bekreftet +gssDelegationCredential=GSS legitimasjons-delegering + +loginTotpStep1=Installer FreeOTP eller Google Authenticator p\u00E5 din mobiltelefon. Begge applikasjoner er tilgjengelige p\u00E5 Google Play og Apple App Store. +loginTotpStep2=\u00C5pne applikasjonen og skann strekkoden eller skriv inn koden +loginTotpStep3=Skriv inn engangskoden fra applikasjonen og klikk send inn for \u00E5 fullf\u00F8re +loginTotpOneTime=Engangskode + +oauthGrantRequest=Vil du gi disse tilgangsrettighetene? +inResource=i + +emailVerifyInstruction1=En e-post med instruksjoner for \u00E5 bekrefte din e-postadresse har blitt sendt til deg. +emailVerifyInstruction2=Ikke mottatt en bekreftelseskode i e-posten vi sendte til deg? +emailVerifyInstruction3=for \u00E5 sende e-post p\u00E5 nytt. + +emailLinkIdpTitle=Lenke {0} +emailLinkIdp1=En e-post med instruksjoner for \u00E5 koble {0} konto med din {2} konto har blitt sendt til deg. +emailLinkIdp2=Ikke mottatt en bekreftelseskode i e-posten vi sendte til deg? +emailLinkIdp3=for \u00E5 sende e-post p\u00E5 nytt. + +backToLogin=« Tilbake til innlogging +emailInstruction=Skriv inn e-postadressen din og vi vil sende deg instruksjoner for hvordan du oppretter et nytt passord. + +copyCodeInstruction=Vennligst kopier denne koden og lim den inn i applikasjonen din: + +personalInfo=Personlig informasjon: +role_admin=Administrator +role_realm-admin=Administrator for sikkerhetsdomene +role_create-realm=Opprette sikkerhetsdomene +role_create-client=Opprette klient +role_view-realm=Se sikkerhetsdomene +role_view-users=Se brukere +role_view-applications=Se applikasjoner +role_view-clients=Se klienter +role_view-events=Se hendelser +role_view-identity-providers=Se identitetsleverand\u00F8rer +role_manage-realm=Administrere sikkerhetsdomene +role_manage-users=Administrere brukere +role_manage-applications=Administrere applikasjoner +role_manage-identity-providers=Administrere identitetsleverand\u00F8rer +role_manage-clients=Administrere klienter +role_manage-events=Administrere hendelser +role_view-profile=Se profil +role_manage-account=Administrere konto +role_read-token=Lese token +role_offline-access=Frakoblet tilgang +role_uma_authorization=Skaffe tillatelser +client_account=Konto +client_security-admin-console=Sikkerthetsadministrasjonskonsoll +client_realm-management=Sikkerhetsdomene-administrasjon +client_broker=Broker + +invalidUserMessage=Ugyldig brukernavn eller passord. +invalidEmailMessage=Ugyldig e-postadresse. +accountDisabledMessage=Konto er deaktivert, kontakt administrator. +accountTemporarilyDisabledMessage=Konto er midlertidig deaktivert, kontakt administrator eller pr\u00F8v p\u00E5 nytt senere. +expiredCodeMessage=Login ble tidsavbrutt. Vennligst logg inn p\u00E5 nytt. + +missingFirstNameMessage=Vennligst oppgi fornavn. +missingLastNameMessage=Vennligst oppgi etternavn. +missingEmailMessage=Vennligst oppgi e-postadresse. +missingUsernameMessage=Vennligst oppgi brukernavn. +missingPasswordMessage=Vennligst oppgi passord. +missingTotpMessage=Vennligst oppgi autentiseringskode. +notMatchPasswordMessage=Passordene er ikke like. + +invalidPasswordExistingMessage=Ugyldig eksisterende passord. +invalidPasswordConfirmMessage=Passord er ikke like. +invalidTotpMessage=Ugyldig engangskode. + +usernameExistsMessage=Brukernavnet finnes allerede. +emailExistsMessage=E-post finnes allerede. + +federatedIdentityExistsMessage=Bruker med {0} {1} finnes allerede. Vennligst logg inn p\u00E5 kontoadministratsjon for \u00E5 koble sammen kontoene. + +confirmLinkIdpTitle=Kontoen finnes allerede +federatedIdentityConfirmLinkMessage=Bruker med {0} {1} finnes allerede. Hvordan vil du fortsette? +federatedIdentityConfirmReauthenticateMessage=Bekreft at du er {0} for \u00E5 koble din konto med {1} +confirmLinkIdpReviewProfile=Se over og bekreft profil +confirmLinkIdpContinue=Legg til eksisterende konto + +configureTotpMessage=Du m\u00E5 sette opp en engangskode-generator for \u00E5 aktivere konto. +updateProfileMessage=Du m\u00E5 oppdatere brukerprofilen din for \u00E5 aktivere konto. +updatePasswordMessage=Du m\u00E5 skifte passord for \u00E5 aktivere kontoen din. +verifyEmailMessage=Du m\u00E5 bekrefte e-postadressen din for \u00E5 aktivere konto. +linkIdpMessage=You need to verify your email address to link your account with {0}. + +emailSentMessage=Du vil straks motta en e-post med ytterlige instruksjoner. +emailSendErrorMessage=Mislyktes \u00E5 sende e-post, vennligst pr\u00F8v igjen senere. + +accountUpdatedMessage=Din konto har blitt oppdatert. +accountPasswordUpdatedMessage=Ditt passord har blitt oppdatert. + +noAccessMessage=Ingen tilgang + +invalidPasswordMinLengthMessage=Ugyldig passord: minimum lengde {0}. +invalidPasswordMinDigitsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sifre. +invalidPasswordMinLowerCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} sm\u00E5 bokstaver. +invalidPasswordMinUpperCaseCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} store bokstaver. +invalidPasswordMinSpecialCharsMessage=Ugyldig passord: m\u00E5 inneholde minimum {0} spesialtegn. +invalidPasswordNotUsernameMessage=Ugyldig passord: kan ikke v\u00E6re likt brukernavn. +invalidPasswordRegexPatternMessage=Ugyldig passord: tilfredsstiller ikke kravene for passord-m\u00F8nster. +invalidPasswordHistoryMessage=Ugyldig passord: kan ikke v\u00E6re likt noen av de {0} foreg\u00E5ende passordene. + +failedToProcessResponseMessage=Kunne ikke behandle svar +httpsRequiredMessage=HTTPS p\u00E5krevd +realmNotEnabledMessage=Sikkerhetsdomene er ikke aktivert +invalidRequestMessage=Ugyldig foresp\u00F8rsel +failedLogout=Utlogging feilet +unknownLoginRequesterMessage=Ukjent anmoder for innlogging +loginRequesterNotEnabledMessage=Anmoder for innlogging er ikke aktivert +bearerOnlyMessage=Bearer-only applikasjoner har ikke lov til \u00E5 initiere innlogging via nettleser +standardFlowDisabledMessage=Klienten har ikke lov til \u00E5 initiere innlogging via nettleser med gitt response_type. Standard flow er deaktivert for denne klienten. +implicitFlowDisabledMessage=Klienten har ikke lov til \u00E5 initiere innlogging via nettleser med gitt response_type. Implicit flow er deaktivert for denne klienten. +invalidRedirectUriMessage=Ugyldig redirect uri +unsupportedNameIdFormatMessage=NameIDFormat er ikke st\u00F8ttet +invalidRequesterMessage=Ugyldig sender av foresp\u00F8rsel +registrationNotAllowedMessage=Registrering er ikke lov +resetCredentialNotAllowedMessage=Tilbakestilling av innloggingsdata er ikke lov + +permissionNotApprovedMessage=Tillatelse ikke godkjent. +noRelayStateInResponseMessage=Ingen relay state i svar fra identitetsleverand\u00F8r. +insufficientPermissionMessage=Utilstrekkelige rettigheter for \u00E5 koble identiteter. +couldNotProceedWithAuthenticationRequestMessage=Kunne ikke g\u00E5 videre med autentiseringsforesp\u00F8rsel til identitetsleverand\u00F8r. +couldNotObtainTokenMessage=Klarte ikke \u00E5 innhente token fra identitetsleverand\u00F8r. +unexpectedErrorRetrievingTokenMessage=Uventet feil ved henting av token fra identitetsleverand\u00F8r. +unexpectedErrorHandlingResponseMessage=Uventet feil ved h\u00E5ndtering av svar fra identitetsleverand\u00F8r. +identityProviderAuthenticationFailedMessage=Autentisering feilet. Kunne ikke autentisere med identitetsleverand\u00F8r. +identityProviderDifferentUserMessage= Autentisert som {0}, men forventet \u00E5 bli identifisert som {1} +couldNotSendAuthenticationRequestMessage=Kunne ikke sende autentiseringsforesp\u00F8rsel til identitetsleverand\u00F8r. +unexpectedErrorHandlingRequestMessage=Uventet feil ved h\u00E5ndtering av autentiseringsforesp\u00F8rsel til identitetsleverand\u00F8r. +invalidAccessCodeMessage=Ugyldig tilgangskode. +sessionNotActiveMessage=Sesjonen er ikke aktiv. +invalidCodeMessage=En feil oppstod, vennligst logg inn p\u00E5 nytt i din applikasjon. +identityProviderUnexpectedErrorMessage=Uventet feil ved autentisering med identitetsleverand\u00F8r +identityProviderNotFoundMessage=Kunne ikke finne en identitetsleverand\u00F8r med identifikatoren. +identityProviderLinkSuccess=Din konto ble suksessfullt koblet med {0} konto {1}. +staleCodeMessage=Denne siden er ikke lenger gyldig. Vennligst g\u00E5 tilbake til applikasjonen din og logg inn p\u00E5 nytt. +realmSupportsNoCredentialsMessage=Sikkerhetsdomene st\u00F8tter ingen legitimasjonstyper. +identityProviderNotUniqueMessage=Sikkerhetsdomene st\u00F8tter flere identitetsleverand\u00F8rer. Kunne ikke avgj\u00F8re hvilken identitetsleverand\u00F8r som burde brukes for autentisering. +emailVerifiedMessage=Din e-postadresse har blitt verifisert. +staleEmailVerificationLink=Lenken du klikket er utg\u00E5tt og er ikke lenger gyldig. Har du kanskje allerede bekreftet e-postadressen din? + +locale_ca=Catal\u00E0 +locale_de=Deutsch +locale_en=English +locale_es=Espa\u00F1ol +locale_fr=Fran\u00e7ais +locale_it=Italian +locale_ja=\u65E5\u672C\u8A9E +locale_nl=Nederlands +locale_no=Norsk +locale_pt_BR=Portugu\u00EAs (Brasil) +locale_pt-BR=Portugu\u00EAs (Brasil) +locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 +locale_zh-CN=\u4e2d\u6587\u7b80\u4f53 + +backToApplication=« Tilbake til applikasjonen +missingParameterMessage=Manglende parameter\: {0} +clientNotFoundMessage=Klient ikke funnet. +clientDisabledMessage=Klient deaktivert. +invalidParameterMessage=Ugyldig parameter\: {0} +alreadyLoggedIn=Du er allerede innlogget. + +p3pPolicy=CP="Dette er ikke en P3P policy!" diff --git a/themes/Leanda/login/messages/messages_pt_BR.properties b/themes/Leanda/login/messages/messages_pt_BR.properties new file mode 100644 index 0000000..cddfe82 --- /dev/null +++ b/themes/Leanda/login/messages/messages_pt_BR.properties @@ -0,0 +1,214 @@ +doLogIn=Entrar +doRegister=Cadastre-se +doCancel=Cancelar +doSubmit=Ok +doYes=Sim +doNo=N\u00E3o +doContinue=Continue +doAccept=Aceitar +doDecline=Rejeitar +doForgotPassword=Esqueceu sua senha? +doClickHere=Clique aqui +doImpersonate=Personificar +kerberosNotConfigured=Kerberos N\u00E3o Configurado +kerberosNotConfiguredTitle=Kerberos N\u00E3o Configurado +bypassKerberosDetail=Ou voc\u00EA n\u00E3o est\u00E1 logado via Kerberos ou o seu navegador n\u00E3o est\u00E1 configurado para login Kerberos. Por favor, clique em continuar para fazer o login no atrav\u00E9s de outros meios +kerberosNotSetUp=Kerberos n\u00E3o est\u00E1 configurado. Voc\u00EA n\u00E3o pode acessar. +registerWithTitle=Registre-se com {0} +registerWithTitleHtml=Registre-se com {0} +loginTitle=Entrar em {0} +loginTitleHtml=Entrar em {0} +impersonateTitle={0} Impersonate User +impersonateTitleHtml={0} Impersonate User +realmChoice=Realm +unknownUser=Usu\u00E1rio desconhecido +loginTotpTitle=Configura\u00E7\u00E3o do autenticador mobile +loginProfileTitle=Atualiza\u00E7\u00E3o das Informa\u00E7\u00F5es da Conta +loginTimeout=Voc\u00EA demorou muito para entrar. Por favor, refa\u00E7a o processo de login a partir do in\u00EDcio. +oauthGrantTitle=Concess\u00E3o OAuth +oauthGrantTitleHtml=Acesso tempor\u00E1rio para {0} solicitado pela +errorTitle=N\u00F3s lamentamos... +errorTitleHtml=N\u00F3s lamentamos ... +emailVerifyTitle=Verifica\u00E7\u00E3o de e-mail +emailForgotTitle=Esqueceu sua senha? +updatePasswordTitle=Atualiza\u00E7\u00E3o de senha +codeSuccessTitle=C\u00F3digo de sucesso +codeErrorTitle=C\u00F3digo de erro\: {0} + +termsTitle=Termos e Condi\u00E7\u00F5es +termsTitleHtml=Termos e Condi\u00E7\u00F5es +termsText=

Termos e Condi\u00E7\u00F5es a ser definido

+ +recaptchaFailed=Recaptcha inv\u00E1lido +recaptchaNotConfigured=Recaptcha \u00E9 requerido, mas n\u00E3o foi configurado +consentDenied=Consentimento negado. + +noAccount=Novo usu\u00E1rio? +username=Nome de usu\u00E1rio +usernameOrEmail=Nome de usu\u00E1rio ou e-mail +firstName=Primeiro nome +givenName=Primeiro nome +fullName=Nome completo +lastName=Sobrenome +familyName=Sobrenome +email=E-mail +password=Senha +passwordConfirm=Confirme a senha +passwordNew=Nova senha +passwordNewConfirm=Confirma\u00E7\u00E3o da nova senha +rememberMe=Mantenha-me conectado +authenticatorCode=C\u00F3digo autenticador +address=Endere\u00E7o +street=Logradouro +locality=Cidade ou localidade +region=Estado +postal_code=CEP +country=Pa\u00EDs +emailVerified=E-mail verificado +gssDelegationCredential=gss delega\u00E7\u00E3o credencial + +loginTotpStep1=Instale FreeOTP ou Google Authenticator em seu celular +loginTotpStep2=Abra o aplicativo e escaneie o c\u00F3digo de barras ou digite o c\u00F3digo +loginTotpStep3=Digite o c\u00F3digo fornecido pelo aplicativo e clique em Enviar para concluir a configura\u00E7\u00E3o +loginTotpOneTime=C\u00F3digo autenticador + +oauthGrantRequest=Voc\u00EA concede esses privil\u00E9gios de acesso? +inResource=em + +emailVerifyInstruction1=Um e-mail com instru\u00E7\u00F5es para verificar o seu endere\u00E7o de e-mail foi enviado para voc\u00EA. +emailVerifyInstruction2=Voc\u00EA n\u00E3o recebeu um c\u00F3digo de verifica\u00E7\u00E3o em seu e-mail? +emailVerifyInstruction3=para reenviar o e-mail. + +emailLinkIdpTitle=Vincular {0} +emailLinkIdp1=Um e-mail com instru\u00E7\u00F5es para vincular a conta {0} {1} com sua conta {2} foi enviado para voc\u00EA. +emailLinkIdp2=N\u00E3o recebeu um c\u00F3digo de verifica\u00E7\u00E3o no e-mail? +emailLinkIdp3=para reenviar o e-mail. + +backToLogin=« Voltar + +emailInstruction=Digite seu nome de usu\u00E1rio ou endere\u00E7o de e-mail e n\u00F3s lhe enviaremos instru\u00E7\u00F5es sobre como criar uma nova senha. + +copyCodeInstruction=Por favor, copie o c\u00F3digo e cole-o em seu aplicativo: + +personalInfo=Informa\u00E7\u00F5es Pessoais: +role_admin=Admininstrador +role_realm-admin=Administra Realm +role_create-realm=Cria realm +role_create-client=Cria cliente +role_view-realm=Visualiza realm +role_view-users=Visualiza usu\u00E1rios +role_view-applications=Visualiza aplicativos +role_view-clients=Visualiza clientes +role_view-events=Visualiza eventos +role_view-identity-providers=Visualiza provedores de identidade +role_manage-realm=Gerencia realm +role_manage-users=Gerencia usu\u00E1rios +role_manage-applications=Gerencia aplicativos +role_manage-identity-providers=Gerencia provedores de identidade +role_manage-clients=Gerencia clientes +role_manage-events=Gerencia eventos +role_view-profile=Visualiza perfil +role_manage-account=Gerencia contas +role_read-token=L\u00EA token +role_offline-access=Acesso offline +client_account=Conta +client_security-admin-console=Console de Administra\u00E7\u00E3o de Seguran\u00E7a +client_admin-cli=Admin CLI +client_realm-management=Gerenciamento de Realm +client_broker=Broker + +invalidUserMessage=Nome de usu\u00E1rio ou senha inv\u00E1lida. +invalidEmailMessage=E-mail inv\u00E1lido. +accountDisabledMessage=Conta desativada, contate o administrador. +accountTemporarilyDisabledMessage=Conta temporariamente indispon\u00EDvel, contate o administrador ou tente novamente mais tarde. +expiredCodeMessage=Tempo de login expirado. Por favor, fa\u00E7a login novamente. + +missingFirstNameMessage=Por favor, informe o primeiro nome. +missingLastNameMessage=Por favor, informe o sobrenome. +missingEmailMessage=Por favor, informe o e-mail. +missingUsernameMessage=Por favor, informe o nome de usu\u00E1rio. +missingPasswordMessage=Por favor, informe a senha. +missingTotpMessage=Por favor, informe o c\u00F3digo autenticador. +notMatchPasswordMessage=As senhas n\u00E3o coincidem. + +invalidPasswordExistingMessage=Senha atual inv\u00E1lida. +invalidPasswordConfirmMessage=Senha de confirma\u00E7\u00E3o n\u00E3o coincide. +invalidTotpMessage=C\u00F3digo autenticador inv\u00E1lido. + +usernameExistsMessage=Nome de usu\u00E1rio j\u00E1 existe. +emailExistsMessage=E-mail j\u00E1 existe. + +federatedIdentityExistsMessage=Usu\u00E1rio com {0} {1} j\u00E1 existe. Por favor, entre em gerenciamento de contas para vincular a conta. + +confirmLinkIdpTitle=Conta j\u00E1 existente +federatedIdentityConfirmLinkMessage=Usu\u00E1rio com {0} {1} j\u00E1 existe. Como voc\u00EA quer continuar? +federatedIdentityConfirmReauthenticateMessage=Autenticar como {0} para vincular sua conta com {1} +confirmLinkIdpReviewProfile=Revisar informa\u00E7\u00F5es do perfil +confirmLinkIdpContinue=Vincular {0} com uma conta existente + +configureTotpMessage=Voc\u00EA precisa configurar seu celular com o autenticador Mobile para ativar sua conta. +updateProfileMessage=Voc\u00EA precisa atualizar o seu perfil de usu\u00E1rio para ativar sua conta. +updatePasswordMessage=Voc\u00EA precisa mudar sua senha para ativar sua conta. +verifyEmailMessage=Voc\u00EA precisa verificar o seu endere\u00E7o de e-mail para ativar sua conta. +linkIdpMessage=Voc\u00EA precisa confirmar o seu endere\u00E7o de e-mail para vincular sua conta com {0}. + +emailSentMessage=Voc\u00EA dever\u00E1 receber um e-mail em breve com mais instru\u00E7\u00F5es. +emailSendErrorMessage=Falha ao enviar e-mail, por favor, tente novamente mais tarde + +accountUpdatedMessage=Sua conta foi atualizada +accountPasswordUpdatedMessage=Sua senha foi atualizada + +noAccessMessage=Sem acesso + +invalidPasswordMinLengthMessage=Senha inv\u00E1lida\: comprimento m\u00EDnimo {0} +invalidPasswordMinDigitsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} n\u00FAmero(s) +invalidPasswordMinLowerCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) min\u00FAsculo +invalidPasswordMinUpperCaseCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) mai\u00FAsculo +invalidPasswordMinSpecialCharsMessage=Senha inv\u00E1lida\: deve conter pelo menos {0} caractere(s) especial +invalidPasswordNotUsernameMessage=Senha inv\u00E1lida\: n\u00E3o deve ser igual ao nome de usu\u00E1rio +invalidPasswordRegexPatternMessage=Senha inv\u00E1lida\: n\u00E3o corresponde ao padr\u00E3o da express\u00E3o regular. +invalidPasswordHistoryMessage=Senha inv\u00E1lida\: n\u00E3o pode ser igual a qualquer uma das {0} \u00FAltimas senhas. + +failedToProcessResponseMessage=Falha ao processar a resposta +httpsRequiredMessage=HTTPS requerido +realmNotEnabledMessage=Realm desativado +invalidRequestMessage=Pedido inv\u00E1lido +failedLogout=Falha ao sair +unknownLoginRequesterMessage=Solicitante de login desconhecido +loginRequesterNotEnabledMessage=Solicitante de login desativado +bearerOnlyMessage=Aplicativos somente ao portador n\u00E3o tem permiss\u00E3o para iniciar o login pelo navegador +standardFlowDisabledMessage=Cliente n\u00E3o tem permiss\u00E3o para iniciar o login com response_type informado. O fluxo padr\u00E3o est\u00E1 desabilitado para o cliente. +implicitFlowDisabledMessage=Cliente n\u00E3o tem permiss\u00E3o para iniciar o login com response_type informado. O fluxo padr\u00E3o est\u00E1 desabilitado para o cliente. +invalidRedirectUriMessage=URI de redirecionamento inv\u00E1lido +unsupportedNameIdFormatMessage=NameIDFormat n\u00E3o suportado +invalidRequesterMessage=Solicitante inv\u00E1lido +registrationNotAllowedMessage=Registro n\u00E3o permitido. +resetCredentialNotAllowedMessage=N\u00E3o \u00E9 permitido redefinir credencial. + +permissionNotApprovedMessage=Permiss\u00E3o n\u00E3o aprovada. +noRelayStateInResponseMessage=Sem estado de retransmiss\u00E3o na resposta do provedor de identidade. +insufficientPermissionMessage=Permiss\u00F5es insuficientes para vincular identidades. +couldNotProceedWithAuthenticationRequestMessage=N\u00E3o foi poss\u00EDvel proceder \u00E0 solicita\u00E7\u00E3o de autentica\u00E7\u00E3o para provedor de identidade. +couldNotObtainTokenMessage=N\u00E3o foi poss\u00EDvel obter token do provedor de identidade. +unexpectedErrorRetrievingTokenMessage=Erro inesperado ao recuperar token do provedor de identidade. +unexpectedErrorHandlingResponseMessage=Erro inesperado ao manusear resposta do provedor de identidade. +identityProviderAuthenticationFailedMessage=Falha na autentica\u00E7\u00E3o. N\u00E3o foi poss\u00EDvel autenticar com o provedor de identidade. +identityProviderDifferentUserMessage=Autenticado como {0}, mas era esperado ser autenticado como {1} +couldNotSendAuthenticationRequestMessage=N\u00E3o foi poss\u00EDvel enviar solicita\u00E7\u00E3o de autentica\u00E7\u00E3o para o provedor de identidade. +unexpectedErrorHandlingRequestMessage=Erro inesperado ao manusear pedido de autentica\u00E7\u00E3o para provedor de identidade. +invalidAccessCodeMessage=C\u00F3digo de acesso inv\u00E1lido. +sessionNotActiveMessage=Sess\u00E3o inativa. +invalidCodeMessage=C\u00F3digo inv\u00E1lido, por favor fa\u00E7a login novamente atrav\u00E9s de sua aplica\u00E7\u00E3o. +identityProviderUnexpectedErrorMessage=Erro inesperado durante a autentica\u00E7\u00E3o com o provedor de identidade +identityProviderNotFoundMessage=N\u00E3o foi poss\u00EDvel encontrar um provedor de identidade com o identificador. +identityProviderLinkSuccess=Sua conta foi vinculada com sucesso com {0} conta {1} . +realmSupportsNoCredentialsMessage=O realm n\u00E3o suporta qualquer tipo de credencial. +identityProviderNotUniqueMessage=O realm suporta m\u00FAltiplos provedores de identidade. N\u00E3o foi poss\u00EDvel determinar qual o provedor de identidade deve ser usado para se autenticar. +emailVerifiedMessage=O seu endere\u00E7o de e-mail foi confirmado. + +backToApplication=« Voltar para o aplicativo +missingParameterMessage=Par\u00E2metros que faltam\: {0} +clientNotFoundMessage=Cliente n\u00E3o encontrado. +invalidParameterMessage=Par\u00E2mentro inv\u00E1lido\: {0} +alreadyLoggedIn=You are already logged in. + diff --git a/themes/Leanda/login/messages/messages_ru.properties b/themes/Leanda/login/messages/messages_ru.properties new file mode 100644 index 0000000..0d3d31a --- /dev/null +++ b/themes/Leanda/login/messages/messages_ru.properties @@ -0,0 +1,220 @@ +# encoding: utf-8 +doLogIn=Вход +doRegister=Регистрация +doCancel=Отмена +doSubmit=Подтвердить +doYes=Да +doNo=Нет +doContinue=Продолжить +doAccept=Подтвердить +doDecline=Отменить +doForgotPassword=Забыли пароль? +doClickHere=Нажмите сюда +doImpersonate=Имперсонализироваться +kerberosNotConfigured=Kerberos не сконфигурирован +kerberosNotConfiguredTitle=Kerberos не сконфигурирован +bypassKerberosDetail=Либо вы не вошли в систему с помощью Kerberos, либо ваш браузер не настроен для входа в систему Kerberos. Пожалуйста, нажмите кнопку 'Продолжить' для входа в с помощью других средств +kerberosNotSetUp=Kerberos не настроен. Вы не можете войти. +registerWithTitle=Зарегистрироваться с {0} +registerWithTitleHtml={0} +loginTitle=Log in to {0} +loginTitleHtml={0} +impersonateTitle={0} Имперсонализация пользователя +impersonateTitleHtml={0} Имперсонализация пользователя +realmChoice=Realm +unknownUser=Неизвестный пользователь +loginTotpTitle=Настройка мобильного аутентификатора +loginProfileTitle=Обновление информации учетной записи +loginTimeout=Вы слишком долго бездействовали. Процесс аутентификации начнется с начала. +oauthGrantTitle=Согласовать доступ +oauthGrantTitleHtml={0} +errorTitle=Мы сожалеем... +errorTitleHtml=Мы сожалеем ... +emailVerifyTitle=Подтверждение адреса E-mail +emailForgotTitle=Забыли пароль? +updatePasswordTitle=Обновление пароля +codeSuccessTitle=Успешный код +codeErrorTitle=Ошибочный код\: {0} + +termsTitle=Условия и положения +termsTitleHtml=Условия и положения +termsText=

Условия и положения должны быть определены

+ +recaptchaFailed=Некорректная Recaptcha +recaptchaNotConfigured=Recaptcha требуется, но не сконфигурирована +consentDenied=В согласовании отказано. + +noAccount=Новый пользователь? +username=Имя пользователя +usernameOrEmail=Имя пользователя или E-mail +firstName=Имя +givenName=Выданное имя +fullName=Полное имя +lastName=Фамилия +familyName=Фамилия +email=E-mail +password=Пароль +passwordConfirm=Подтверждение пароля +passwordNew=Новый пароль +passwordNewConfirm=Подтверждение нового пароля +rememberMe=Запомнить меня +authenticatorCode=Одноразовый код +address=Адрес +street=Улица +locality=Город +region=Регион +postal_code=Почтовый индекс +country=Страна +emailVerified=E-mail подтвержден +gssDelegationCredential=Делегирование учетных данных GSS + +loginTotpStep1=Установите FreeOTP или Google Authenticator. Оба приложения доступны в Google Play и Apple App Store. +loginTotpStep2=Откройте приложение и просканируйте баркод, либо введите ключ +loginTotpStep3=Введите одноразовый пароль, выданный приложением, и нажмите сохранить для завершения установки +loginTotpOneTime=Одноразовый пароль + +oauthGrantRequest=Вы согласуете доступ к этим привелегиям? +inResource=в + +emailVerifyInstruction1=Вам было отправлено письмо с инструкциями для подтверждения адреса E-mail. +emailVerifyInstruction2=Не получили письмо с кодом подтверждения? +emailVerifyInstruction3=для повторной отправки письма. + +emailLinkIdpTitle=Связать {0} +emailLinkIdp1=Вам было отправлено письмо с инструкциями по объединению {0} учетной записи {1} с вашей учетной записью {2}. +emailLinkIdp2=Не получили код подтверждения на ваш E-mail? +emailLinkIdp3=для повторной отправки письма. + +backToLogin=« Назад ко входу + +emailInstruction=Введите Ваше имя пользователя или E-mail и мы вышлем Вам инструкции по получению нового пароля. + +copyCodeInstruction=Пожалуйста, скопируйте этот код в приложение: + +personalInfo=Персональная информация: +role_admin=Администратор +role_realm-admin=Администратор realm +role_create-realm=Создание realm +role_create-client=Создание клиента +role_view-realm=Просмотр realm +role_view-users=Просмотр пользователей +role_view-applications=Просмотр приложений +role_view-clients=Просмотр клиентов +role_view-events=Просмотр событий +role_view-identity-providers=Просмотр провайдеров учетных записей +role_manage-realm=Управление realm +role_manage-users=Управление пользователями +role_manage-applications=Управление приложениями +role_manage-identity-providers=Управление провайдерами учетных записей +role_manage-clients=Управление клиентами +role_manage-events=Управление событиями +role_view-profile=Просмотр профиля +role_manage-account=Управление учетной записью +role_read-token=Чтение токена +role_offline-access=Оффлайн доступ +client_account=Учетная запись +client_security-admin-console=Консоль администратора безопасности +client_admin-cli=Командный интерфейс администратора +client_realm-management=Управление realm +client_broker=Брокер + +invalidUserMessage=Неправильное имя пользователя или пароль. +invalidEmailMessage=Неправильный E-mail. +accountDisabledMessage=Учетная запись заблокирована, свяжитесь с администратором. +accountTemporarilyDisabledMessage=Учетная запись временно заблокирована, свяжитесь с администратором или попробуйте позже. +expiredCodeMessage=Вход просрочен по таймауту. Пожалуйста, войдите снова. + +missingFirstNameMessage=Пожалуйста введите имя. +missingLastNameMessage=Пожалуйста введите фамилию. +missingEmailMessage=Пожалуйста введите E-mail. +missingUsernameMessage=Пожалуйста введите имя пользователя. +missingPasswordMessage=Пожалуйста введите пароль. +missingTotpMessage=Пожалуйста введите код аутентификатора. +notMatchPasswordMessage=Пароли не совпадают. + +invalidPasswordExistingMessage=Неверный существующий пароль. +invalidPasswordConfirmMessage=Подтверждение пароля не совпадает. +invalidTotpMessage=Неверный код аутентификатора. + +usernameExistsMessage=Имя пользователя уже занято. +emailExistsMessage=E-mail уже существует. + +federatedIdentityExistsMessage=Пользователь с {0} {1} уже существует. Пожалуйста войдите в управление учетными записями, чтобы связать эту учетную запись. + +confirmLinkIdpTitle=Учетная запись уже существует +federatedIdentityConfirmLinkMessage=Пользователь с {0} {1} уже сущестует. Хотите продолжить? +federatedIdentityConfirmReauthenticateMessage=Аутентифицируйтесь как {0} для того, чтобы связать Вашу учетную запись с {1} +confirmLinkIdpReviewProfile=Обзор профиля +confirmLinkIdpContinue=Добавить в существующую учетную запись + +configureTotpMessage=Вам необходимо настроить аутентификатор в мобильном устройстве, чтобы активировать учетную запись. +updateProfileMessage=Вам необходимо обновить свой профиль, чтобы активировать Вашу учетную запись. +updatePasswordMessage=Вам необходимо изменить пароль, чтобы активировать Вашу учетную запись. +verifyEmailMessage=Вам необходимо подтвердить Ваш E-mail, чтобы активировать Вашу учетную запись. +linkIdpMessage=Вам необходимо подтвердить Ваш E-mail, чтобы связать Вашу учетную запись с {0}. + +emailSentMessage=В ближайшее время Вы должны получить письмо с дальнейшими инструкциями. +emailSendErrorMessage=Не получается отправить письмо. Пожалуйста, повторите позже. + +accountUpdatedMessage=Ваша учетная запись успешно обновлена. +accountPasswordUpdatedMessage=Ваш пароль успешно обновлен. + +noAccessMessage=Нет доступа + +invalidPasswordMinLengthMessage=Некорректный пароль: длина пароля должна быть не менее {0} символов(а). +invalidPasswordMinDigitsMessage=Некорректный пароль: пароль должен содержать не менее {0} цифр(ы). +invalidPasswordMinLowerCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в нижнем регистре. +invalidPasswordMinUpperCaseCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} символов(а) в верхнем регистре. +invalidPasswordMinSpecialCharsMessage=Некорректный пароль: пароль должен содержать не менее {0} спецсимволов(а). +invalidPasswordNotUsernameMessage=Некорректный пароль: пароль не должен совпадать с именем пользователя. +invalidPasswordRegexPatternMessage=Некорректный пароль: пароль не прошел проверку по регулярному выражению. +invalidPasswordHistoryMessage=Некорректный пароль: пароль не должен совпадать с последним(и) {0} паролем(ями). +invalidPasswordGenericMessage=Некорректный пароль: новый пароль не соответствует правилам пароля. + +failedToProcessResponseMessage=Не удалось обработать ответ +httpsRequiredMessage=Требуется HTTPS +realmNotEnabledMessage=Realm не включен +invalidRequestMessage=Неверный запрос +failedLogout=Выйти не удалось +unknownLoginRequesterMessage=Неизвестный клиент +loginRequesterNotEnabledMessage=Клиент отключен +bearerOnlyMessage=Bearer-only приложениям не разрешается инициализация входа через браузер +standardFlowDisabledMessage=Клиенту не разрешается инициировать вход через браузер с данным response_type. Standard flow отключен для этого клиента. +implicitFlowDisabledMessage=Клиенту не разрешается инициировать вход через браузер с данным response_type. Implicit flow отключен для этого клиента. +invalidRedirectUriMessage=Неверный uri для переадресации +unsupportedNameIdFormatMessage=Неподдерживаемый NameIDFormat +invalidRequesterMessage=Неверный запрашивающий +registrationNotAllowedMessage=Регистрация не разрешена +resetCredentialNotAllowedMessage=Сброс идентификационных данных не разрешен + +permissionNotApprovedMessage=Разрешение не подтверждено. +noRelayStateInResponseMessage=Нет изменения состояния в ответе от провайдера учетных записей. +insufficientPermissionMessage=Недостаточно полномочий для связывания идентификаторов. +couldNotProceedWithAuthenticationRequestMessage=Невозможно обработать аутентификационный запрос в провайдере учетных записей. +couldNotObtainTokenMessage=Не удалось получить токен от провайдера учетных записей. +unexpectedErrorRetrievingTokenMessage=Непредвиденная ошибка при получении токена от провайдера учетных записей. +unexpectedErrorHandlingResponseMessage=Непредвиденная ошибка при обработке ответа от провайдера учетных записей. +identityProviderAuthenticationFailedMessage=Аутентификация провалена. Невозможно аутентифицировать с поставщиком учетных записей. +identityProviderDifferentUserMessage=Аутентифицирован как {0}, но ожидается, что будет аутентифицирован как {1} +couldNotSendAuthenticationRequestMessage=Не получается выполнить запрос аутентификации к поставщику учетных записей. +unexpectedErrorHandlingRequestMessage=Непредвиденная ошибка при обработке запроса аутентификации поставщика учетных записей. +invalidAccessCodeMessage=Неверный код доступа. +sessionNotActiveMessage=Сессия не активна. +invalidCodeMessage=Произошла ошибка. Пожалуйста, войдите в систему снова через ваше приложение. +identityProviderUnexpectedErrorMessage=Непредвиденная ошибка при проверке подлинности поставщика учетных записей. +identityProviderNotFoundMessage=Не удалось найти поставщика учетных записей с данным идентификатором. +identityProviderLinkSuccess=Ваша учетная запись была успешно соединена с {0} учетной записью {1} . +staleCodeMessage=Эта страница больше не действительна, пожалуйста, вернитесь в приложение и снова войдите в систему. +realmSupportsNoCredentialsMessage=Realm не поддерживает никакой тип учетных данных. +identityProviderNotUniqueMessage=Realm поддерживает несколько поставщиков учетных записей. Не удалось определить, какой именно поставщик должен использоваться для аутентификации. +emailVerifiedMessage=Ваш E-mail был подтвержден. +staleEmailVerificationLink=Ссылка, по которой Вы перешли, устарела и больше не действует. Может быть, вы уже подтвердили свой E-mail? + +backToApplication=« Назад в приложение +missingParameterMessage=Пропущенные параметры\: {0} +clientNotFoundMessage=Клиент не найден. +clientDisabledMessage=Клиент отключен. +invalidParameterMessage=Неверный параметр\: {0} +alreadyLoggedIn=Вы уже вошли. + +p3pPolicy=CP="Это не политика P3P!" diff --git a/themes/Leanda/login/messages/messages_sv.properties b/themes/Leanda/login/messages/messages_sv.properties new file mode 100644 index 0000000..c383703 --- /dev/null +++ b/themes/Leanda/login/messages/messages_sv.properties @@ -0,0 +1,216 @@ +# encoding: utf-8 +doLogIn=Logga in +doRegister=Registrera +doCancel=Avbryt +doSubmit=Skicka +doYes=Ja +doNo=Nej +doContinue=Fortsätt +doAccept=Acceptera +doDecline=Avböj +doForgotPassword=Glömt lösenord? +doClickHere=Klicka här +doImpersonate=Imitera +kerberosNotConfigured=Kerberos är inte konfigurerat +kerberosNotConfiguredTitle=Kerberos är inte konfigurerat +bypassKerberosDetail=Antingen så är du inte inloggad via Kerberos eller så är inte din webbläsare inställd för Kerberosinloggning. Vänligen klicka på fortsätt för att logga in på annat sätt. +kerberosNotSetUp=Kerberos är inte inställt. Du kan inte logga in. +registerWithTitle=Registrera med {0} +registerWithTitleHtml={0} +loginTitle=Logga in till {0} +loginTitleHtml={0} +impersonateTitle={0} Imitera användare +impersonateTitleHtml={0} Imitera användare +realmChoice=Realm +unknownUser=Okänd användare +loginTotpTitle=Inställning av mobilautentiserare +loginProfileTitle=Uppdatera kontoinformation +loginTimeout=Det tog för lång tid att logga in. Inloggningsprocessen börjar om. +oauthGrantTitle=Bevilja åtkomst +oauthGrantTitleHtml={0} +errorTitle=Vi ber om ursäkt... +errorTitleHtml=Vi ber om ursäkt ... +emailVerifyTitle=E-postverifiering +emailForgotTitle=Glömt ditt lösenord? +updatePasswordTitle=Uppdatera lösenord +codeSuccessTitle=Rätt kod +codeErrorTitle=Felkod\: {0} + +termsTitle=Användarvillkor +termsTitleHtml=Användarvillkor +termsText=

Användarvillkoren har ännu inte definierats

+ +recaptchaFailed=Ogiltig Recaptcha +recaptchaNotConfigured=Recaptcha krävs, men är inte inställd +consentDenied=Samtycke förnekat. + +noAccount=Ny användare? +username=Användarnamn +usernameOrEmail=Användarnamn eller e-post +firstName=Förnamn +lastName=Efternamn +email=E-post +password=Lösenord +passwordConfirm=Bekräfta lösenord +passwordNew=Nytt lösenord +passwordNewConfirm=Bekräftelse av nytt lösenord +rememberMe=Kom ihåg mig +authenticatorCode=Engångskod +address=Adress +street=Gata +locality=Postort +region=Stat, Provins eller Region +postal_code=Postnummer +country=Land +emailVerified=E-post verifierad +gssDelegationCredential=GSS Delegation Credential + +loginTotpStep1=Installera FreeOTP eller Google Authenticator på din mobil. Båda applikationerna finns tillgängliga hos Google Play och Apple App Store. +loginTotpStep2=Öppna applikationen och skanna streckkoden eller skriv i nyckeln +loginTotpStep3=Fyll i engångskoden som tillhandahålls av applikationen och klicka på Spara för att avsluta inställningarna +loginTotpOneTime=Engångskod + +oauthGrantRequest=Godkänner du tillgång till de här rättigheterna? +inResource=i + +emailVerifyInstruction1=Ett e-postmeddelande med instruktioner om hur du verifierar din e-postadress har skickats till dig. +emailVerifyInstruction2=Har du inte fått en verifikationskod i din e-post? +emailVerifyInstruction3=för att skicka e-postmeddelandet igen. + +emailLinkIdpTitle=Länkning {0} +emailLinkIdp1=Ett e-postmeddelande med instruktioner om hur du länkar {0} kontot {1} med ditt {2} konto har skickats till dig. +emailLinkIdp2=Har du inte fått en verifikationskod i din e-post? +emailLinkIdp3=för att skicka e-postmeddelandet igen. + +backToLogin=« Tillbaka till inloggningen + +emailInstruction=Fyll i ditt användarnamn eller din e-postadress, så kommer vi att skicka instruktioner för hur du skapar ett nytt lösenord. + +copyCodeInstruction=Vänligen kopiera den här koden och klistra in den i din applikation: + +personalInfo=Personlig information: +role_admin=Administratör +role_realm-admin=Realm-administratör +role_create-realm=Skapa realm +role_create-client=Skapa klient +role_view-realm=Visa realm +role_view-users=Visa användare +role_view-applications=Visa applikationer +role_view-clients=Visa klienter +role_view-events=Visa event +role_view-identity-providers=Visa identitetsleverantörer +role_manage-realm=Hantera realm +role_manage-users=Hantera användare +role_manage-applications=Hantera applikationer +role_manage-identity-providers=Hantera identitetsleverantörer +role_manage-clients=Hantera klienter +role_manage-events=Hantera event +role_view-profile=Visa profil +role_manage-account=Hantera konto +role_read-token=Läs element +role_offline-access=Åtkomst offline +client_account=Konto +client_security-admin-console=Säkerhetsadministratörskonsol +client_admin-cli=Administratörs-CLI +client_realm-management=Realmhantering + +invalidUserMessage=Ogiltigt användarnamn eller lösenord. +invalidEmailMessage=Ogiltig e-postadress. +accountDisabledMessage=Kontot är inaktiverat, kontakta administratör. +accountTemporarilyDisabledMessage=Kontot är tillfälligt inaktiverat, kontakta administratör eller försök igen senare. +expiredCodeMessage=Inloggningen nådde en maxtidsgräns. Vänligen försök igen. + +missingFirstNameMessage=Vänligen ange förnamn. +missingLastNameMessage=Vänligen ange efternamn. +missingEmailMessage=Vänligen ange e-post. +missingUsernameMessage=Vänligen ange användarnamn. +missingPasswordMessage=Vänligen ange lösenord. +missingTotpMessage=Vänligen ange autentiseringskod. +notMatchPasswordMessage=Lösenorden matchar inte. + +invalidPasswordExistingMessage=Det nuvarande lösenordet är ogiltigt. +invalidPasswordConfirmMessage=Lösenordsbekräftelsen matchar inte. +invalidTotpMessage=Autentiseringskoden är ogiltig. + +usernameExistsMessage=Användarnamnet finns redan. +emailExistsMessage=E-postadressen finns redan. + +federatedIdentityExistsMessage=Användare med {0} {1} finns redan. Vänligen logga in till kontohanteringen för att länka kontot. + +confirmLinkIdpTitle=Kontot finns redan +federatedIdentityConfirmLinkMessage=Användare med {0} {1} finns redan, Hur vill du forsätta? +federatedIdentityConfirmReauthenticateMessage=Autentisera som {0} för att länka ditt konto med {1} +confirmLinkIdpReviewProfile=Granska profil +confirmLinkIdpContinue=Lägg till i existerande konto + +configureTotpMessage=Du behöver konfigurera mobilautentiseraren för att aktivera ditt konto. +updateProfileMessage=Du behöver uppdatera din användarprofil för att aktivera ditt konto. +updatePasswordMessage=Du behöver byta ditt lösenord för att aktivera ditt konto. +verifyEmailMessage=Du behöver verifiera din e-postadress för att aktivera ditt konto. +linkIdpMessage=Du behöver verifiera din e-postadress för att länka ditt konto med {0}. + +emailSentMessage=Du bör inom kort motta ett epost-meddelande med ytterligare instruktioner inom kort. +emailSendErrorMessage=E-postmeddelandet kunde inte skickas, försök igen senare. + +accountUpdatedMessage=Ditt konto har uppdaterats. +accountPasswordUpdatedMessage=Ditt lösenord har uppdaterats. + +noAccessMessage=Ingen åtkomst + +invalidPasswordMinLengthMessage=Ogiltigt lösenord. Minsta längd är {0}. +invalidPasswordMinDigitsMessage=Ogiltigt lösenord: måste innehålla minst {0} siffror. +invalidPasswordMinLowerCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} små bokstäver. +invalidPasswordMinUpperCaseCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} stora bokstäver. +invalidPasswordMinSpecialCharsMessage=Ogiltigt lösenord: måste innehålla minst {0} specialtecken. +invalidPasswordNotUsernameMessage=Ogiltigt lösenord: Får inte vara samma som användarnamnet. +invalidPasswordRegexPatternMessage=Ogiltigt lösenord: matchar inte regex mönstret(en). +invalidPasswordHistoryMessage=Ogiltigt lösenord: Får inte vara samma som de senaste {0} lösenorden. +invalidPasswordGenericMessage=Ogiltigt lösenord: Det nya lösenordet stämmer inte med lösenordspolicyn. + +failedToProcessResponseMessage=Misslyckades med att behandla svaret +httpsRequiredMessage=HTTPS krävs +realmNotEnabledMessage=Realm är inte aktiverad +invalidRequestMessage=Ogiltig förfrågan +failedLogout=Utloggning misslyckades +unknownLoginRequesterMessage=Okänd inloggningsförfrågan +loginRequesterNotEnabledMessage=Inloggningsförfrågaren är inte aktiverad +bearerOnlyMessage=Bearer-only-applikationer tillåts inte att initiera inloggning genom webbläsare +standardFlowDisabledMessage=Klienten tillåts inte att initiera inloggning genom webbläsare med det givna response_type. Standardflödet är inaktiverat för klienten. +implicitFlowDisabledMessage=Klienten tillåts inte att initiera inloggning genom webbläsare med det givna response_type. Villkorslöst flöde är inaktiverat för klienten. +invalidRedirectUriMessage=Ogiltig omdirigeringsadress +unsupportedNameIdFormatMessage=NameIDFormat stöds ej +invalidRequesterMessage=Ogiltig förfrågare +registrationNotAllowedMessage=Registrering tillåts ej +resetCredentialNotAllowedMessage=Återställning av uppgifter tillåts ej + +permissionNotApprovedMessage=Rättigheten ej godkänd. +noRelayStateInResponseMessage=Inget vidarebefordrat tillstånd i svaret från identitetsleverantör. +insufficientPermissionMessage=Otillräckliga tillstånd för att länka identiteter. +couldNotProceedWithAuthenticationRequestMessage=Kunde inte fortsätta med autentiseringsförfrågan till identitetsleverantör. +couldNotObtainTokenMessage=Kunde inte motta element från identitetsleverantör. +unexpectedErrorRetrievingTokenMessage=Oväntat fel när element hämtas från identitetsleverantör. +unexpectedErrorHandlingResponseMessage=Oväntat fel under hantering av svar från från identitetsleverantör. +identityProviderAuthenticationFailedMessage=Autentiseringen misslyckades. Kunde inte autentisera med identitetsleverantör. +identityProviderDifferentUserMessage=Autentiserad som {0}, men väntades att vara autentiserad som {1} +couldNotSendAuthenticationRequestMessage=Kunde inte skicka autentiseringsförfrågan till identitetsleverantör. +unexpectedErrorHandlingRequestMessage=Oväntat fel under hantering av autentiseringsförfrågan till identitetsleverantör. +invalidAccessCodeMessage=Ogiltig tillträdeskod. +sessionNotActiveMessage=Sessionen ej aktiv. +invalidCodeMessage=Ett fel uppstod, vänligen logga in igen genom din applikation. +identityProviderUnexpectedErrorMessage=Oväntat fel under autentiseringen med identitetsleverantör +identityProviderNotFoundMessage=Kunde inte hitta en identitetsleverantör med identifikatorn. +identityProviderLinkSuccess=Ditt konto lyckades med att länka {0} med kontot {1}. +staleCodeMessage=Den här sidan är inte längre giltig, vänligen gå tillbaka till din applikation och logga in igen +realmSupportsNoCredentialsMessage=Realmen stödjer inga inloggningstyper. +identityProviderNotUniqueMessage=Realmen stödjer flera identitetsleverantör. Kunde inte avgöra vilken identitetsleverantör som skall användas för autentisering. +emailVerifiedMessage=Din e-postadress har blivit verifierad. +staleEmailVerificationLink=Länken du klickade på är en gammal, inaktuell länk som inte längre är giltig. Kanske har du redan verifierat din e-post? + +backToApplication=« Tillbaka till applikationen +missingParameterMessage=Parametrar som saknas\: {0} +clientNotFoundMessage=Klienten hittades ej. +clientDisabledMessage=Klienten är inaktiverad. +invalidParameterMessage=Ogiltig parameter\: {0} +alreadyLoggedIn=Du är redan inloggad. + +p3pPolicy=CP="Det här är ingen P3P policy!" diff --git a/themes/Leanda/login/messages/messages_zh_CN.properties b/themes/Leanda/login/messages/messages_zh_CN.properties new file mode 100644 index 0000000..b2771b2 --- /dev/null +++ b/themes/Leanda/login/messages/messages_zh_CN.properties @@ -0,0 +1,234 @@ +# encoding: utf-8 +doLogIn=登录 +doRegister=注册 +doCancel=取消 +doSubmit=提交 +doYes=是 +doNo=否 +doContinue=继续 +doAccept=接受 +doDecline=拒绝 +doForgotPassword=忘记密码? +doClickHere=点击这里 +doImpersonate=模拟 +kerberosNotConfigured=Kerberos 没有配置 +kerberosNotConfiguredTitle=Kerberos 没有配置 +bypassKerberosDetail=您没有通过Kerberos登录 或者您的浏览器没有设置Kerberos登录. 请点击继续通过其他途径登录。 +kerberosNotSetUp=Kerberos没有配置,您不可以登录 +registerWithTitle=用 {0} 注册 +registerWithTitleHtml={0} +loginTitle=登录到 {0} +loginTitleHtml={0} +impersonateTitle={0} 模拟用户 +impersonateTitleHtml={0}模拟用户 +realmChoice=域 +unknownUser=未知用户 +loginTotpTitle=手机验证者配置 +loginProfileTitle=更新账户信息 +loginTimeout=登录超时,请重新开始登录 +oauthGrantTitle=授权 +oauthGrantTitleHtml={0} +errorTitle=很抱歉... +errorTitleHtml=我们很抱歉 ... +emailVerifyTitle=验证电子邮件地址 +emailForgotTitle=忘记密码? +updatePasswordTitle=更新密码 +codeSuccessTitle=成功码 +codeErrorTitle=错误码\: {0} + +termsTitle=条款 +termsTitleHtml=条款 +termsText=

需要确定的条款

+ +recaptchaFailed=无效的验证码 +recaptchaNotConfigured=需要验证码,但是没有配置 +consentDenied=许可被拒绝。 + +noAccount=新用户? +username=用户名 +usernameOrEmail=用户名 或 电子邮箱地址 +firstName=名 +givenName=姓 +fullName=全名 +lastName=姓 +familyName=姓 +email=Email +password=密码 +passwordConfirm=确认密码 +passwordNew=新密码 +passwordNewConfirm=新密码确认 +rememberMe=记住我 +authenticatorCode=一次性验证码 +address=地址 +street=街道 +locality=市 +region=省,自治区,直辖市 +postal_code=邮政编码 +country=国家 +emailVerified=电子邮件已验证 +gssDelegationCredential=GSS Delegation Credential + +loginTotpStep1=在手机安装 FreeOTP 或 Google Authenticator. 这两个应用可以在 Google Play 和 Apple App Store找到. +loginTotpStep2=打开应用扫描二维码或者输入一次性码 +loginTotpStep3=输入应用提供的一次性码点击提交完成设置 +loginTotpOneTime=一次性验证码 + +oauthGrantRequest=您是否想要授予下列权限? +inResource=in + +emailVerifyInstruction1=一封包含验证邮箱具体步骤的邮件已经发送到您的邮箱。 +emailVerifyInstruction2=邮箱没有收到验证码? +emailVerifyInstruction3=重新发送电子邮件 + +emailLinkIdpTitle=链接 {0} +emailLinkIdp1=一封包含链接账户 {0} 和账户 {1} 到账户 {2} 的邮件已经发送到您的邮箱。 +emailLinkIdp2=邮箱没有收到验证码邮件? +emailLinkIdp3=重新发送电子邮件 + +backToLogin=« 回到登录 + +emailInstruction=输入您的用户名和邮箱,我们会发送一封带有设置新密码步骤的邮件到您的邮箱。 + +copyCodeInstruction=请复制这段验证码并粘贴到应用: + +personalInfo=个人信息\: +role_admin=管理员 +role_realm-admin=域管理员 +role_create-realm=创建域 +role_create-client=创建客户 +role_view-realm=查看域 +role_view-users=查看用户 +role_view-applications=查看应用 +role_view-clients=查看客户 +role_view-events=查看时间 +role_view-identity-providers=查看身份提供者 +role_manage-realm=管理域 +role_manage-users=管理用户 +role_manage-applications=管理应用 +role_manage-identity-providers=管理身份提供者 +role_manage-clients=管理客户 +role_manage-events=管理事件 +role_view-profile=查看用户信息 +role_manage-account=管理账户 +role_read-token=读取 token +role_offline-access=离线访问 +client_account=账户 +client_security-admin-console=安全管理控制台 +client_admin-cli=管理命令行工具 +client_realm-management=域管理 +client_broker=代理 + +invalidUserMessage=无效的用户名或密码。 +invalidEmailMessage=无效的电子邮件地址 +accountDisabledMessage=账户被禁用,请联系管理员。 +accountTemporarilyDisabledMessage=账户被暂时禁用,请稍后再试或联系管理员。 +expiredCodeMessage=登录超时,请重新登陆。 + +missingFirstNameMessage=请输入名 +missingLastNameMessage=请输入姓 +missingEmailMessage=请输入email. +missingUsernameMessage=请输入用户名 +missingPasswordMessage=请输入密码 +missingTotpMessage=请输入验证码 +notMatchPasswordMessage=密码不匹配。 + +invalidPasswordExistingMessage=无效的旧密码 +invalidPasswordConfirmMessage=确认密码不相同 +invalidTotpMessage=无效的验证码 + +usernameExistsMessage=用户名已被占用 +emailExistsMessage=电子邮件已存在。 + +federatedIdentityExistsMessage=用户 {0} {1} 已存在. 请登录账户管理界面链接账户. + +confirmLinkIdpTitle=账户已存在 +federatedIdentityConfirmLinkMessage=用户{0} {1} 已存在. 怎么继续? +federatedIdentityConfirmReauthenticateMessage=以 {0} 登录来将 {1} 连接到您的账户 +confirmLinkIdpReviewProfile=审查您的信息 +confirmLinkIdpContinue=添加到已知账户 + +configureTotpMessage=您需要设置验证码模块来激活您的账户 +updateProfileMessage=您需要更新您的简介来激活您的账户 +updatePasswordMessage=您需要更新您的密码来激活您的账户 +verifyEmailMessage=您需要验证您的电子邮箱来激活您的账户 +linkIdpMessage=您需要验证您的电子邮箱来连接到账户{0}. + +emailSentMessage=您很快会收到一封关于接下来操作的邮件。 +emailSendErrorMessage=无法发送邮件,请稍后再试 + +accountUpdatedMessage=您的账户已经更新。 +accountPasswordUpdatedMessage=您的密码已经更新 + +noAccessMessage=无权限 + +invalidPasswordMinLengthMessage=无效的密码:最短长度 {0}. +invalidPasswordMinDigitsMessage=无效的密码: 至少包含{0} 个数字 +invalidPasswordMinLowerCaseCharsMessage=无效的密码:至少包含 {0} 小写字母. +invalidPasswordMinUpperCaseCharsMessage=无效的密码:至少包含 {0} 大写字母. +invalidPasswordMinSpecialCharsMessage=无效的密码:至少包含 {0} 特殊字符. +invalidPasswordNotUsernameMessage=无效的密码: 不能与用户名相同. +invalidPasswordRegexPatternMessage=无效的密码: 无法与正则表达式匹配. +invalidPasswordHistoryMessage=无效的密码: 不能与前 {0} 个旧密码相同. + +failedToProcessResponseMessage=无法处理回复 +httpsRequiredMessage=需要HTTPS +realmNotEnabledMessage=域未启用 +invalidRequestMessage=非法的请求 +failedLogout=无法登出 +unknownLoginRequesterMessage=未知的登录请求发起方 +loginRequesterNotEnabledMessage=登录请求发起方为启用 +bearerOnlyMessage=Bearer-only 的应用允许通过浏览器登录 +standardFlowDisabledMessage=客户程序不允许发起指定返回类型的浏览器登录. 标准的登录流程已禁用。 +implicitFlowDisabledMessage=客户程序不允许发起指定返回类型的浏览器登录. 隐式的登录流程已禁用。 +invalidRedirectUriMessage=无效的跳转链接 +unsupportedNameIdFormatMessage=不支持的 nameID格式 +invalidRequesterMessage=无效的发起者 +registrationNotAllowedMessage=注册不允许 +resetCredentialNotAllowedMessage=不允许重置密码 + +permissionNotApprovedMessage=许可没有批准 +noRelayStateInResponseMessage=身份提供者没有返回中继状态信息 +insufficientPermissionMessage=权限不足以链接新的身份 +couldNotProceedWithAuthenticationRequestMessage=无法与身份提供者处理认证请求 +couldNotObtainTokenMessage=未从身份提供者获得token +unexpectedErrorRetrievingTokenMessage=从身份提供者获得Token时遇到未知错误 +unexpectedErrorHandlingResponseMessage=从身份提供者获得回复时遇到未知错误 +identityProviderAuthenticationFailedMessage=认证失败,无法通过身份提供者认证 +identityProviderDifferentUserMessage=认证为 {0}, 但期望认证为 {1} +couldNotSendAuthenticationRequestMessage=无法向身份提供方发送认证请求 +unexpectedErrorHandlingRequestMessage=在处理发向认证提供方的请求时,出现未知错误。 +invalidAccessCodeMessage=无效的验证码 +sessionNotActiveMessage=会话不在活动状态 +invalidCodeMessage=发生错误,请重新通过应用登录 +identityProviderUnexpectedErrorMessage=在与认证提供者认证过程中发生未知错误 +identityProviderNotFoundMessage=无法找到认证提供方 +identityProviderLinkSuccess=您的账户已经将账户{0} 与账户 {1} 链接. +staleCodeMessage=当前页面已无效,请到登录界面重新登录 +realmSupportsNoCredentialsMessage=域不支持特定类型密码 +identityProviderNotUniqueMessage=域支持通过多个身份提供者登录,不知道应用哪一种方式登录 +emailVerifiedMessage=您的电子邮箱已经验证。 +staleEmailVerificationLink=您点击的链接已无效。可能您已经验证过您的电子邮箱? + +locale_ca=Català +locale_de=Deutsch +locale_en=English +locale_es=Español +locale_fr=Français +locale_it=Italian +locale_ja=日本語 +locale_nl=Nederlands +locale_no=Norsk +locale_pt_BR=Português (Brasil) +locale_pt-BR=Português (Brasil) +locale_ru=Русский +locale_lt=Lietuvių +locale_zh-CN=中文简体 + +backToApplication=« 回到应用 +missingParameterMessage=缺少参数 \: {0} +clientNotFoundMessage=客户端未找到 +clientDisabledMessage=客户端已禁用 +invalidParameterMessage=无效的参数 \: {0} +alreadyLoggedIn=您已经登录 + +p3pPolicy="This is not a P3P policy!" diff --git a/themes/Leanda/login/register.ftl b/themes/Leanda/login/register.ftl new file mode 100644 index 0000000..0ac0ab3 --- /dev/null +++ b/themes/Leanda/login/register.ftl @@ -0,0 +1,88 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "title"> + ${msg("registerWithTitle",(realm.displayName!''))} + <#elseif section = "header"> + ${msg("registerWithTitleHtml",(realm.displayNameHtml!''))?no_esc} + <#elseif section = "form"> +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + <#if !realm.registrationEmailAsUsername> +
+
+ +
+
+ +
+
+ + + <#if passwordRequired> +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + <#if recaptchaRequired??> +
+
+
+
+
+ + +
+ + +
+ +
+
+
+ + \ No newline at end of file diff --git a/themes/Leanda/login/resources/css/login.css b/themes/Leanda/login/resources/css/login.css new file mode 100644 index 0000000..e2eafde --- /dev/null +++ b/themes/Leanda/login/resources/css/login.css @@ -0,0 +1,30 @@ +body { + overflow-x: hidden; + -webkit-font-smoothing: antialiased; + background: url('../img/osdr-background.png') no-repeat center center fixed; + background-size: cover; +} + +#kc-background { + position: fixed; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.5); +} + +#kc-container { + position: relative; +} + +#kc-form-wrapper { + height: 100vh; +} + +.kc-logo { + width: 100px; + height: auto; +} + +.kc-logo .responsive-img { + width: 100px; +} \ No newline at end of file diff --git a/themes/Leanda/login/resources/css/materialize.css b/themes/Leanda/login/resources/css/materialize.css new file mode 100644 index 0000000..bc6c1fe --- /dev/null +++ b/themes/Leanda/login/resources/css/materialize.css @@ -0,0 +1,9067 @@ +/*! + * 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: #aa00ff !important; +} + +.purple-text.text-accent-4 { + color: #aa00ff !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: #ffff00 !important; +} + +.yellow-text.text-accent-2 { + color: #ffff00 !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: #eeeeee !important; +} + +.grey-text.text-lighten-3 { + color: #eeeeee !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: #000000 !important; +} + +.black-text { + color: #000000 !important; +} + +.white { + background-color: #FFFFFF !important; +} + +.white-text { + color: #FFFFFF !important; +} + +.transparent { + background-color: transparent !important; +} + +.transparent-text { + color: transparent !important; +} + +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ +html { + line-height: 1.15; + /* 1 */ + -ms-text-size-adjust: 100%; + /* 2 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers (opinionated). + */ +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ +figcaption, +figure, +main { + /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ +a { + background-color: transparent; + /* 1 */ + -webkit-text-decoration-skip: objects; + /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + -webkit-text-decoration: underline dotted; + -moz-text-decoration: underline dotted; + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; + /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + display: inline-block; + /* 1 */ + vertical-align: baseline; + /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ +[type="checkbox"], +[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* Interactive + ========================================================================== */ +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ +details, +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ +/** + * Add the correct display in IE 9-. + */ +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ +template { + display: none; +} + +/* Hidden + ========================================================================== */ +/** + * Add the correct display in IE 10-. + */ +[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; +} + +/* 2dp elevation modified*/ +.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); +} + +/* 6dp elevation modified*/ +.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); +} + +/* 12dp elevation modified*/ +.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); +} + +/* 16dp elevation */ +.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); +} + +/* 24dp elevation */ +.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; +} + +/********************* + Transition Classes +**********************/ +ul.staggered-list li { + opacity: 0; +} + +.fade-in { + opacity: 0; + -webkit-transform-origin: 0 50%; + transform-origin: 0 50%; +} + +/********************* + Media Query Classes +**********************/ +@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; + /* sort out borders */ + } + 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: 0.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: 0.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%; + } +} + +/******************* + Utility Classes +*******************/ +.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(0.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; +} + +/* This is needed for some mobile phones to display the Google Icon font properly */ +.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: -0.75rem; + margin-right: -0.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 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 0.912rem 0; +} + +h5 { + font-size: 1.64rem; + line-height: 110%; + margin: 1.0933333333rem 0 0.656rem 0; +} + +h6 { + font-size: 1.15rem; + line-height: 110%; + margin: 0.7666666667rem 0 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: 0.5rem 0 1rem 0; + border-radius: 2px; + background-color: #fff; +} + +.card { + position: relative; + margin: 0.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 100% only goes to width of button container */ + 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; +} + +/* Firefox Bug: link not triggered */ +.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: 0.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: 0.8rem; + color: #9e9e9e; +} + +/* Text Inputs + Textarea + ========================================================================== */ +/* Style Placeholders */ +::-webkit-input-placeholder { + color: #d1d1d1; +} +::-moz-placeholder { + color: #d1d1d1; +} +:-ms-input-placeholder { + color: #d1d1d1; +} +::-ms-input-placeholder { + color: #d1d1d1; +} +::placeholder { + color: #d1d1d1; +} + +/* Text inputs */ +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%; +} + +/* Validation Sass Placeholders */ +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: 0.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: 0.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); + } +} + +/* Search Field */ +.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 */ +textarea { + width: 100%; + height: 3rem; + background-color: transparent; +} + +textarea.materialize-textarea { + line-height: normal; + overflow-y: hidden; + /* prevents scroll bar flash */ + padding: .8rem 0 .8rem 0; + /* prevents text jump on Enter keypress */ + 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; + /* future version of deprecated 'word-wrap' */ + padding-top: 1.2rem; + /* prevents text jump on Enter keypress */ + position: absolute; + top: 0; + z-index: -1; +} + +/* Autocomplete */ +.autocomplete-content li .highlight { + color: #444; +} + +.autocomplete-content li img { + height: 40px; + width: 40px; + margin: 5px 15px; +} + +/* Character Counter */ +.character-counter { + min-height: 18px; +} + +/* Radio Buttons + ========================================================================== */ +[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; +} + +/* Unchecked styles */ +[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); +} + +/* Checked styles */ +[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); +} + +/* Radio With gap */ +[type="radio"].with-gap:checked + span:after { + -webkit-transform: scale(0.5); + transform: scale(0.5); +} + +/* Focused styles */ +[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); +} + +/* Disabled Radio With gap */ +[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); +} + +/* Disabled style */ +[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; +} + +/* Checkboxes + ========================================================================== */ +/* Remove default checkbox */ +[type="checkbox"]:not(:checked), +[type="checkbox"]:checked { + position: absolute; + opacity: 0; + pointer-events: none; +} + +[type="checkbox"] { + /* checkbox aspect */ +} + +[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); +} + +/* Indeterminate checkbox */ +[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; + /* .1s delay is for check animation */ + -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, +.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 Field + ========================================================================== */ +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: 0.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 Input + ========================================================================== */ +.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 + ========================================================================== */ +.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] { + /* fix for FF unable to apply focus style bug */ + border: 1px solid white; + /*required for proper track sizing in FF*/ +} + +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; + /*remove default tick marks*/ + 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); +} + +/*************** + Nav List +***************/ +.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; +} + +/* + @license + Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + Code distributed by Google as part of the polymer project is also + subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt + */ +/**************************/ +/* STYLES FOR THE SPINNER */ +/**************************/ +/* + * Constants: + * STROKEWIDTH = 3px + * ARCSIZE = 270 degrees (amount of circle the arc takes up) + * ARCTIME = 1333ms (time it takes to expand and contract arc) + * ARCSTARTROT = 216 degrees (how much the start location of the arc + * should rotate each time, 216 gives us a + * 5 pointed star shape (it's 360/5 * 3). + * For a 7 pointed star, we might do + * 360/7 * 3 = 154.286) + * CONTAINERWIDTH = 28px + * SHRINK_TIME = 400ms + */ +.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 { + /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */ + -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; +} + +/** + * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee): + * + * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't + * guarantee that the animation will start _exactly_ after that value. So we avoid using + * animation-delay and instead set custom keyframes for each color (as redundant as it + * seems). + * + * We write out each animation in full (instead of separating animation-name, + * animation-duration, etc.) because under the polyfill, Safari does not recognize those + * specific properties properly, treats them as -webkit-animation, and overrides the + * other animation rules. See https://github.com/Polymer/platform/issues/53. + */ +.active .spinner-layer.spinner-blue { + /* durations: 4 * ARCTIME */ + -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 { + /* durations: 4 * ARCTIME */ + -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 { + /* durations: 4 * ARCTIME */ + -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 { + /* durations: 4 * ARCTIME */ + -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 { + /* durations: 4 * ARCTIME */ + 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); + } + /* 0.5 * ARCSIZE */ + 25% { + -webkit-transform: rotate(270deg); + } + /* 1 * ARCSIZE */ + 37.5% { + -webkit-transform: rotate(405deg); + } + /* 1.5 * ARCSIZE */ + 50% { + -webkit-transform: rotate(540deg); + } + /* 2 * ARCSIZE */ + 62.5% { + -webkit-transform: rotate(675deg); + } + /* 2.5 * ARCSIZE */ + 75% { + -webkit-transform: rotate(810deg); + } + /* 3 * ARCSIZE */ + 87.5% { + -webkit-transform: rotate(945deg); + } + /* 3.5 * ARCSIZE */ + to { + -webkit-transform: rotate(1080deg); + } + /* 4 * ARCSIZE */ +} + +@keyframes fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + } + /* 0.5 * ARCSIZE */ + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + } + /* 1 * ARCSIZE */ + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg); + } + /* 1.5 * ARCSIZE */ + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg); + } + /* 2 * ARCSIZE */ + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg); + } + /* 2.5 * ARCSIZE */ + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg); + } + /* 3 * ARCSIZE */ + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg); + } + /* 3.5 * ARCSIZE */ + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg); + } + /* 4 * ARCSIZE */ +} + +@-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; + } +} + +/** + * Patch the gap that appear between the two adjacent div.circle-clipper while the + * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11). + */ +.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; + /* STROKEWIDTH */ + 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 { + /* duration: ARCTIME */ + -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 { + /* duration: ARCTIME */ + -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 { + /* duration: SHRINK_TIME */ + -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); + } +} + +/* Modal */ +.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; +} + +/* Date Display */ +.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; +} + +/* Calendar */ +.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); +} + +/* Footer */ +.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 Queries */ +@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 Containers */ +.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: white; +} + +/* Clock Digital Display */ +.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; +} + +/* Analog Clock Display */ +.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; +} + +/* Footer */ +.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 Queries */ +@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/themes/Leanda/login/resources/css/materialize.min.css b/themes/Leanda/login/resources/css/materialize.min.css new file mode 100644 index 0000000..74b1741 --- /dev/null +++ b/themes/Leanda/login/resources/css/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/themes/Leanda/login/resources/img/bg-pattern.svg b/themes/Leanda/login/resources/img/bg-pattern.svg new file mode 100644 index 0000000..3009d6a --- /dev/null +++ b/themes/Leanda/login/resources/img/bg-pattern.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/Leanda/login/resources/img/favicon.ico b/themes/Leanda/login/resources/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..677f6e070d13d82084676e2e9beb08a2328b6835 GIT binary patch literal 6527 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 BsrLW? literal 0 HcmV?d00001 diff --git a/themes/Leanda/login/resources/img/feedback-warning-sign.png b/themes/Leanda/login/resources/img/feedback-warning-sign.png new file mode 100644 index 0000000000000000000000000000000000000000..f9392a356fd3b383997c1ef289b48d02be96c351 GIT binary patch literal 646 zcmV;10(t$3P)5ebW)JIb`v2;&5sUEt7(pdR?_rqvF~(w z&wHPH?%{G}o6t%tD3-YcoIt#ZimsMn=fj5~SV}0ANdw)$JIs+vm8VEr5vY*RCc!0O zJeKiMnQmZjF~P}|ITC|_fPR3sChh|hh#}5v^?!j1No^OL5!{Yt{P|l#ojGW*>A`F% zG;=oe?E0{aNj(7$L<2hJOpDEg;c-0Uu3}QpfZdv9Yul(xOFAm{YCmuc7-<=Hz6#rb zwStWR%+Uk1dKH(KznaJbxtT_8h1rkY@F&AK;#}dXHiv>reL9ZVhZt;6c{&UPfawRU z3PX!QX+>?W8zy57-1{e1nf<%`Ip2$C{RJ2WP8EB!V*#i*Ll@AAxI)U6d9kg;Tft2N zvI|T#k_Ga${UDcC6K25hA)et;?S`pV)*0TbLbSFYPx%LC5OMf>LI(kYhG{MW?Gclt z?kz+j>;xV-pszlvScx&iWL1nHDUdjgc-@-yi~8Zf?-uKCu&$j zmGV@tHY^&3ufPQiVR|G&lMFKJqcV3b2BIPt0$RTQ1o3gEnU}InzE6h&(}7s>n+PkJ gT)C0w?I}vU?2N2CN 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𝔣BxqzhG32ESdp_sY>6Xf6DLJ~nD*&k&av5Iwa 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 VyC>_p^b4&3bGS9^r3vcp{{WTr!5;ts literal 0 HcmV?d00001 diff --git a/themes/Leanda/login/resources/js/materialize.js b/themes/Leanda/login/resources/js/materialize.js new file mode 100644 index 0000000..b15d3f2 --- /dev/null +++ b/themes/Leanda/login/resources/js/materialize.js @@ -0,0 +1,12374 @@ +/*! + * Materialize v1.0.0 (http://materializecss.com) + * Copyright 2014-2017 Materialize + * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE) + */ +var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/*! cash-dom 1.3.5, https://github.com/kenwheeler/cash @license MIT */ +(function (factory) { + window.cash = factory(); +})(function () { + var doc = document, + win = window, + ArrayProto = Array.prototype, + slice = ArrayProto.slice, + filter = ArrayProto.filter, + push = ArrayProto.push; + + var noop = function () {}, + isFunction = function (item) { + // @see https://crbug.com/568448 + return typeof item === typeof noop && item.call; + }, + isString = function (item) { + return typeof item === typeof ""; + }; + + var idMatch = /^#[\w-]*$/, + classMatch = /^\.[\w-]*$/, + htmlMatch = /<.+>/, + singlet = /^\w+$/; + + function find(selector, context) { + context = context || doc; + var elems = classMatch.test(selector) ? context.getElementsByClassName(selector.slice(1)) : singlet.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector); + return elems; + } + + var frag; + function parseHTML(str) { + if (!frag) { + frag = doc.implementation.createHTMLDocument(null); + var base = frag.createElement("base"); + base.href = doc.location.href; + frag.head.appendChild(base); + } + + frag.body.innerHTML = str; + + return frag.body.childNodes; + } + + function onReady(fn) { + if (doc.readyState !== "loading") { + fn(); + } else { + doc.addEventListener("DOMContentLoaded", fn); + } + } + + function Init(selector, context) { + if (!selector) { + return this; + } + + // If already a cash collection, don't do any further processing + if (selector.cash && selector !== win) { + return selector; + } + + var elems = selector, + i = 0, + length; + + if (isString(selector)) { + elems = idMatch.test(selector) ? + // If an ID use the faster getElementById check + doc.getElementById(selector.slice(1)) : htmlMatch.test(selector) ? + // If HTML, parse it into real elements + parseHTML(selector) : + // else use `find` + find(selector, context); + + // If function, use as shortcut for DOM ready + } else if (isFunction(selector)) { + onReady(selector);return this; + } + + if (!elems) { + return this; + } + + // If a single DOM element is passed in or received via ID, return the single element + if (elems.nodeType || elems === win) { + this[0] = elems; + this.length = 1; + } else { + // Treat like an array and loop through each item. + length = this.length = elems.length; + for (; i < length; i++) { + this[i] = elems[i]; + } + } + + return this; + } + + function cash(selector, context) { + return new Init(selector, context); + } + + var fn = cash.fn = cash.prototype = Init.prototype = { // jshint ignore:line + cash: true, + length: 0, + push: push, + splice: ArrayProto.splice, + map: ArrayProto.map, + init: Init + }; + + Object.defineProperty(fn, "constructor", { value: cash }); + + cash.parseHTML = parseHTML; + cash.noop = noop; + cash.isFunction = isFunction; + cash.isString = isString; + + cash.extend = fn.extend = function (target) { + target = target || {}; + + var args = slice.call(arguments), + length = args.length, + i = 1; + + if (args.length === 1) { + target = this; + i = 0; + } + + for (; i < length; i++) { + if (!args[i]) { + continue; + } + for (var key in args[i]) { + if (args[i].hasOwnProperty(key)) { + target[key] = args[i][key]; + } + } + } + + return target; + }; + + function each(collection, callback) { + var l = collection.length, + i = 0; + + for (; i < l; i++) { + if (callback.call(collection[i], collection[i], i, collection) === false) { + break; + } + } + } + + function matches(el, selector) { + var m = el && (el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector); + return !!m && m.call(el, selector); + } + + function getCompareFunction(selector) { + return ( + /* Use browser's `matches` function if string */ + isString(selector) ? matches : + /* Match a cash element */ + selector.cash ? function (el) { + return selector.is(el); + } : + /* Direct comparison */ + function (el, selector) { + return el === selector; + } + ); + } + + function unique(collection) { + return cash(slice.call(collection).filter(function (item, index, self) { + return self.indexOf(item) === index; + })); + } + + cash.extend({ + merge: function (first, second) { + var len = +second.length, + i = first.length, + j = 0; + + for (; j < len; i++, j++) { + first[i] = second[j]; + } + + first.length = i; + return first; + }, + + each: each, + matches: matches, + unique: unique, + isArray: Array.isArray, + isNumeric: function (n) { + return !isNaN(parseFloat(n)) && isFinite(n); + } + + }); + + var uid = cash.uid = "_cash" + Date.now(); + + function getDataCache(node) { + return node[uid] = node[uid] || {}; + } + + function setData(node, key, value) { + return getDataCache(node)[key] = value; + } + + function getData(node, key) { + var c = getDataCache(node); + if (c[key] === undefined) { + c[key] = node.dataset ? node.dataset[key] : cash(node).attr("data-" + key); + } + return c[key]; + } + + function removeData(node, key) { + var c = getDataCache(node); + if (c) { + delete c[key]; + } else if (node.dataset) { + delete node.dataset[key]; + } else { + cash(node).removeAttr("data-" + name); + } + } + + fn.extend({ + data: function (name, value) { + if (isString(name)) { + return value === undefined ? getData(this[0], name) : this.each(function (v) { + return setData(v, name, value); + }); + } + + for (var key in name) { + this.data(key, name[key]); + } + + return this; + }, + + removeData: function (key) { + return this.each(function (v) { + return removeData(v, key); + }); + } + + }); + + var notWhiteMatch = /\S+/g; + + function getClasses(c) { + return isString(c) && c.match(notWhiteMatch); + } + + function hasClass(v, c) { + return v.classList ? v.classList.contains(c) : new RegExp("(^| )" + c + "( |$)", "gi").test(v.className); + } + + function addClass(v, c, spacedName) { + if (v.classList) { + v.classList.add(c); + } else if (spacedName.indexOf(" " + c + " ")) { + v.className += " " + c; + } + } + + function removeClass(v, c) { + if (v.classList) { + v.classList.remove(c); + } else { + v.className = v.className.replace(c, ""); + } + } + + fn.extend({ + addClass: function (c) { + var classes = getClasses(c); + + return classes ? this.each(function (v) { + var spacedName = " " + v.className + " "; + each(classes, function (c) { + addClass(v, c, spacedName); + }); + }) : this; + }, + + attr: function (name, value) { + if (!name) { + return undefined; + } + + if (isString(name)) { + if (value === undefined) { + return this[0] ? this[0].getAttribute ? this[0].getAttribute(name) : this[0][name] : undefined; + } + + return this.each(function (v) { + if (v.setAttribute) { + v.setAttribute(name, value); + } else { + v[name] = value; + } + }); + } + + for (var key in name) { + this.attr(key, name[key]); + } + + return this; + }, + + hasClass: function (c) { + var check = false, + classes = getClasses(c); + if (classes && classes.length) { + this.each(function (v) { + check = hasClass(v, classes[0]); + return !check; + }); + } + return check; + }, + + prop: function (name, value) { + if (isString(name)) { + return value === undefined ? this[0][name] : this.each(function (v) { + v[name] = value; + }); + } + + for (var key in name) { + this.prop(key, name[key]); + } + + return this; + }, + + removeAttr: function (name) { + return this.each(function (v) { + if (v.removeAttribute) { + v.removeAttribute(name); + } else { + delete v[name]; + } + }); + }, + + removeClass: function (c) { + if (!arguments.length) { + return this.attr("class", ""); + } + var classes = getClasses(c); + return classes ? this.each(function (v) { + each(classes, function (c) { + removeClass(v, c); + }); + }) : this; + }, + + removeProp: function (name) { + return this.each(function (v) { + delete v[name]; + }); + }, + + toggleClass: function (c, state) { + if (state !== undefined) { + return this[state ? "addClass" : "removeClass"](c); + } + var classes = getClasses(c); + return classes ? this.each(function (v) { + var spacedName = " " + v.className + " "; + each(classes, function (c) { + if (hasClass(v, c)) { + removeClass(v, c); + } else { + addClass(v, c, spacedName); + } + }); + }) : this; + } }); + + fn.extend({ + add: function (selector, context) { + return unique(cash.merge(this, cash(selector, context))); + }, + + each: function (callback) { + each(this, callback); + return this; + }, + + eq: function (index) { + return cash(this.get(index)); + }, + + filter: function (selector) { + if (!selector) { + return this; + } + + var comparator = isFunction(selector) ? selector : getCompareFunction(selector); + + return cash(filter.call(this, function (e) { + return comparator(e, selector); + })); + }, + + first: function () { + return this.eq(0); + }, + + get: function (index) { + if (index === undefined) { + return slice.call(this); + } + return index < 0 ? this[index + this.length] : this[index]; + }, + + index: function (elem) { + var child = elem ? cash(elem)[0] : this[0], + collection = elem ? this : cash(child).parent().children(); + return slice.call(collection).indexOf(child); + }, + + last: function () { + return this.eq(-1); + } + + }); + + var camelCase = function () { + var camelRegex = /(?:^\w|[A-Z]|\b\w)/g, + whiteSpace = /[\s-_]+/g; + return function (str) { + return str.replace(camelRegex, function (letter, index) { + return letter[index === 0 ? "toLowerCase" : "toUpperCase"](); + }).replace(whiteSpace, ""); + }; + }(); + + var getPrefixedProp = function () { + var cache = {}, + doc = document, + div = doc.createElement("div"), + style = div.style; + + return function (prop) { + prop = camelCase(prop); + if (cache[prop]) { + return cache[prop]; + } + + var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), + prefixes = ["webkit", "moz", "ms", "o"], + props = (prop + " " + prefixes.join(ucProp + " ") + ucProp).split(" "); + + each(props, function (p) { + if (p in style) { + cache[p] = prop = cache[prop] = p; + return false; + } + }); + + return cache[prop]; + }; + }(); + + cash.prefixedProp = getPrefixedProp; + cash.camelCase = camelCase; + + fn.extend({ + css: function (prop, value) { + if (isString(prop)) { + prop = getPrefixedProp(prop); + return arguments.length > 1 ? this.each(function (v) { + return v.style[prop] = value; + }) : win.getComputedStyle(this[0])[prop]; + } + + for (var key in prop) { + this.css(key, prop[key]); + } + + return this; + } + + }); + + function compute(el, prop) { + return parseInt(win.getComputedStyle(el[0], null)[prop], 10) || 0; + } + + each(["Width", "Height"], function (v) { + var lower = v.toLowerCase(); + + fn[lower] = function () { + return this[0].getBoundingClientRect()[lower]; + }; + + fn["inner" + v] = function () { + return this[0]["client" + v]; + }; + + fn["outer" + v] = function (margins) { + return this[0]["offset" + v] + (margins ? compute(this, "margin" + (v === "Width" ? "Left" : "Top")) + compute(this, "margin" + (v === "Width" ? "Right" : "Bottom")) : 0); + }; + }); + + function registerEvent(node, eventName, callback) { + var eventCache = getData(node, "_cashEvents") || setData(node, "_cashEvents", {}); + eventCache[eventName] = eventCache[eventName] || []; + eventCache[eventName].push(callback); + node.addEventListener(eventName, callback); + } + + function removeEvent(node, eventName, callback) { + var events = getData(node, "_cashEvents"), + eventCache = events && events[eventName], + index; + + if (!eventCache) { + return; + } + + if (callback) { + node.removeEventListener(eventName, callback); + index = eventCache.indexOf(callback); + if (index >= 0) { + eventCache.splice(index, 1); + } + } else { + each(eventCache, function (event) { + node.removeEventListener(eventName, event); + }); + eventCache = []; + } + } + + fn.extend({ + off: function (eventName, callback) { + return this.each(function (v) { + return removeEvent(v, eventName, callback); + }); + }, + + on: function (eventName, delegate, callback, runOnce) { + // jshint ignore:line + var originalCallback; + if (!isString(eventName)) { + for (var key in eventName) { + this.on(key, delegate, eventName[key]); + } + return this; + } + + if (isFunction(delegate)) { + callback = delegate; + delegate = null; + } + + if (eventName === "ready") { + onReady(callback); + return this; + } + + if (delegate) { + originalCallback = callback; + callback = function (e) { + var t = e.target; + while (!matches(t, delegate)) { + if (t === this || t === null) { + return t = false; + } + + t = t.parentNode; + } + + if (t) { + originalCallback.call(t, e); + } + }; + } + + return this.each(function (v) { + var finalCallback = callback; + if (runOnce) { + finalCallback = function () { + callback.apply(this, arguments); + removeEvent(v, eventName, finalCallback); + }; + } + registerEvent(v, eventName, finalCallback); + }); + }, + + one: function (eventName, delegate, callback) { + return this.on(eventName, delegate, callback, true); + }, + + ready: onReady, + + /** + * Modified + * Triggers browser event + * @param String eventName + * @param Object data - Add properties to event object + */ + trigger: function (eventName, data) { + if (document.createEvent) { + var evt = document.createEvent('HTMLEvents'); + evt.initEvent(eventName, true, false); + evt = this.extend(evt, data); + return this.each(function (v) { + return v.dispatchEvent(evt); + }); + } + } + + }); + + function encode(name, value) { + return "&" + encodeURIComponent(name) + "=" + encodeURIComponent(value).replace(/%20/g, "+"); + } + + function getSelectMultiple_(el) { + var values = []; + each(el.options, function (o) { + if (o.selected) { + values.push(o.value); + } + }); + return values.length ? values : null; + } + + function getSelectSingle_(el) { + var selectedIndex = el.selectedIndex; + return selectedIndex >= 0 ? el.options[selectedIndex].value : null; + } + + function getValue(el) { + var type = el.type; + if (!type) { + return null; + } + switch (type.toLowerCase()) { + case "select-one": + return getSelectSingle_(el); + case "select-multiple": + return getSelectMultiple_(el); + case "radio": + return el.checked ? el.value : null; + case "checkbox": + return el.checked ? el.value : null; + default: + return el.value ? el.value : null; + } + } + + fn.extend({ + serialize: function () { + var query = ""; + + each(this[0].elements || this, function (el) { + if (el.disabled || el.tagName === "FIELDSET") { + return; + } + var name = el.name; + switch (el.type.toLowerCase()) { + case "file": + case "reset": + case "submit": + case "button": + break; + case "select-multiple": + var values = getValue(el); + if (values !== null) { + each(values, function (value) { + query += encode(name, value); + }); + } + break; + default: + var value = getValue(el); + if (value !== null) { + query += encode(name, value); + } + } + }); + + return query.substr(1); + }, + + val: function (value) { + if (value === undefined) { + return getValue(this[0]); + } + + return this.each(function (v) { + return v.value = value; + }); + } + + }); + + function insertElement(el, child, prepend) { + if (prepend) { + var first = el.childNodes[0]; + el.insertBefore(child, first); + } else { + el.appendChild(child); + } + } + + function insertContent(parent, child, prepend) { + var str = isString(child); + + if (!str && child.length) { + each(child, function (v) { + return insertContent(parent, v, prepend); + }); + return; + } + + each(parent, str ? function (v) { + return v.insertAdjacentHTML(prepend ? "afterbegin" : "beforeend", child); + } : function (v, i) { + return insertElement(v, i === 0 ? child : child.cloneNode(true), prepend); + }); + } + + fn.extend({ + after: function (selector) { + cash(selector).insertAfter(this); + return this; + }, + + append: function (content) { + insertContent(this, content); + return this; + }, + + appendTo: function (parent) { + insertContent(cash(parent), this); + return this; + }, + + before: function (selector) { + cash(selector).insertBefore(this); + return this; + }, + + clone: function () { + return cash(this.map(function (v) { + return v.cloneNode(true); + })); + }, + + empty: function () { + this.html(""); + return this; + }, + + html: function (content) { + if (content === undefined) { + return this[0].innerHTML; + } + var source = content.nodeType ? content[0].outerHTML : content; + return this.each(function (v) { + return v.innerHTML = source; + }); + }, + + insertAfter: function (selector) { + var _this = this; + + cash(selector).each(function (el, i) { + var parent = el.parentNode, + sibling = el.nextSibling; + _this.each(function (v) { + parent.insertBefore(i === 0 ? v : v.cloneNode(true), sibling); + }); + }); + + return this; + }, + + insertBefore: function (selector) { + var _this2 = this; + cash(selector).each(function (el, i) { + var parent = el.parentNode; + _this2.each(function (v) { + parent.insertBefore(i === 0 ? v : v.cloneNode(true), el); + }); + }); + return this; + }, + + prepend: function (content) { + insertContent(this, content, true); + return this; + }, + + prependTo: function (parent) { + insertContent(cash(parent), this, true); + return this; + }, + + remove: function () { + return this.each(function (v) { + if (!!v.parentNode) { + return v.parentNode.removeChild(v); + } + }); + }, + + text: function (content) { + if (content === undefined) { + return this[0].textContent; + } + return this.each(function (v) { + return v.textContent = content; + }); + } + + }); + + var docEl = doc.documentElement; + + fn.extend({ + position: function () { + var el = this[0]; + return { + left: el.offsetLeft, + top: el.offsetTop + }; + }, + + offset: function () { + var rect = this[0].getBoundingClientRect(); + return { + top: rect.top + win.pageYOffset - docEl.clientTop, + left: rect.left + win.pageXOffset - docEl.clientLeft + }; + }, + + offsetParent: function () { + return cash(this[0].offsetParent); + } + + }); + + fn.extend({ + children: function (selector) { + var elems = []; + this.each(function (el) { + push.apply(elems, el.children); + }); + elems = unique(elems); + + return !selector ? elems : elems.filter(function (v) { + return matches(v, selector); + }); + }, + + closest: function (selector) { + if (!selector || this.length < 1) { + return cash(); + } + if (this.is(selector)) { + return this.filter(selector); + } + return this.parent().closest(selector); + }, + + is: function (selector) { + if (!selector) { + return false; + } + + var match = false, + comparator = getCompareFunction(selector); + + this.each(function (el) { + match = comparator(el, selector); + return !match; + }); + + return match; + }, + + find: function (selector) { + if (!selector || selector.nodeType) { + return cash(selector && this.has(selector).length ? selector : null); + } + + var elems = []; + this.each(function (el) { + push.apply(elems, find(selector, el)); + }); + + return unique(elems); + }, + + has: function (selector) { + var comparator = isString(selector) ? function (el) { + return find(selector, el).length !== 0; + } : function (el) { + return el.contains(selector); + }; + + return this.filter(comparator); + }, + + next: function () { + return cash(this[0].nextElementSibling); + }, + + not: function (selector) { + if (!selector) { + return this; + } + + var comparator = getCompareFunction(selector); + + return this.filter(function (el) { + return !comparator(el, selector); + }); + }, + + parent: function () { + var result = []; + + this.each(function (item) { + if (item && item.parentNode) { + result.push(item.parentNode); + } + }); + + return unique(result); + }, + + parents: function (selector) { + var last, + result = []; + + this.each(function (item) { + last = item; + + while (last && last.parentNode && last !== doc.body.parentNode) { + last = last.parentNode; + + if (!selector || selector && matches(last, selector)) { + result.push(last); + } + } + }); + + return unique(result); + }, + + prev: function () { + return cash(this[0].previousElementSibling); + }, + + siblings: function (selector) { + var collection = this.parent().children(selector), + el = this[0]; + + return collection.filter(function (i) { + return i !== el; + }); + } + + }); + + return cash; +}); +; +var Component = function () { + /** + * Generic constructor for all components + * @constructor + * @param {Element} el + * @param {Object} options + */ + function Component(classDef, el, options) { + _classCallCheck(this, Component); + + // Display error if el is valid HTML Element + if (!(el instanceof Element)) { + console.error(Error(el + ' is not an HTML Element')); + } + + // If exists, destroy and reinitialize in child + var ins = classDef.getInstance(el); + if (!!ins) { + ins.destroy(); + } + + this.el = el; + this.$el = cash(el); + } + + /** + * Initializes components + * @param {class} classDef + * @param {Element | NodeList | jQuery} els + * @param {Object} options + */ + + + _createClass(Component, null, [{ + key: "init", + value: function init(classDef, els, options) { + var instances = null; + if (els instanceof Element) { + instances = new classDef(els, options); + } else if (!!els && (els.jquery || els.cash || els instanceof NodeList)) { + var instancesArr = []; + for (var i = 0; i < els.length; i++) { + instancesArr.push(new classDef(els[i], options)); + } + instances = instancesArr; + } + + return instances; + } + }]); + + return Component; +}(); + +; // Required for Meteor package, the use of window prevents export by Meteor +(function (window) { + if (window.Package) { + M = {}; + } else { + window.M = {}; + } + + // Check for jQuery + M.jQueryLoaded = !!window.jQuery; +})(window); + +// AMD +if (typeof define === 'function' && define.amd) { + define('M', [], function () { + return M; + }); + + // Common JS +} else if (typeof exports !== 'undefined' && !exports.nodeType) { + if (typeof module !== 'undefined' && !module.nodeType && module.exports) { + exports = module.exports = M; + } + exports.default = M; +} + +M.version = '1.0.0'; + +M.keys = { + TAB: 9, + ENTER: 13, + ESC: 27, + ARROW_UP: 38, + ARROW_DOWN: 40 +}; + +/** + * TabPress Keydown handler + */ +M.tabPressed = false; +M.keyDown = false; +var docHandleKeydown = function (e) { + M.keyDown = true; + if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) { + M.tabPressed = true; + } +}; +var docHandleKeyup = function (e) { + M.keyDown = false; + if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) { + M.tabPressed = false; + } +}; +var docHandleFocus = function (e) { + if (M.keyDown) { + document.body.classList.add('keyboard-focused'); + } +}; +var docHandleBlur = function (e) { + document.body.classList.remove('keyboard-focused'); +}; +document.addEventListener('keydown', docHandleKeydown, true); +document.addEventListener('keyup', docHandleKeyup, true); +document.addEventListener('focus', docHandleFocus, true); +document.addEventListener('blur', docHandleBlur, true); + +/** + * Initialize jQuery wrapper for plugin + * @param {Class} plugin javascript class + * @param {string} pluginName jQuery plugin name + * @param {string} classRef Class reference name + */ +M.initializeJqueryWrapper = function (plugin, pluginName, classRef) { + jQuery.fn[pluginName] = function (methodOrOptions) { + // Call plugin method if valid method name is passed in + if (plugin.prototype[methodOrOptions]) { + var params = Array.prototype.slice.call(arguments, 1); + + // Getter methods + if (methodOrOptions.slice(0, 3) === 'get') { + var instance = this.first()[0][classRef]; + return instance[methodOrOptions].apply(instance, params); + } + + // Void methods + return this.each(function () { + var instance = this[classRef]; + instance[methodOrOptions].apply(instance, params); + }); + + // Initialize plugin if options or no argument is passed in + } else if (typeof methodOrOptions === 'object' || !methodOrOptions) { + plugin.init(this, arguments[0]); + return this; + } + + // Return error if an unrecognized method name is passed in + jQuery.error("Method " + methodOrOptions + " does not exist on jQuery." + pluginName); + }; +}; + +/** + * Automatically initialize components + * @param {Element} context DOM Element to search within for components + */ +M.AutoInit = function (context) { + // Use document.body if no context is given + var root = !!context ? context : document.body; + + var registry = { + Autocomplete: root.querySelectorAll('.autocomplete:not(.no-autoinit)'), + Carousel: root.querySelectorAll('.carousel:not(.no-autoinit)'), + Chips: root.querySelectorAll('.chips:not(.no-autoinit)'), + Collapsible: root.querySelectorAll('.collapsible:not(.no-autoinit)'), + Datepicker: root.querySelectorAll('.datepicker:not(.no-autoinit)'), + Dropdown: root.querySelectorAll('.dropdown-trigger:not(.no-autoinit)'), + Materialbox: root.querySelectorAll('.materialboxed:not(.no-autoinit)'), + Modal: root.querySelectorAll('.modal:not(.no-autoinit)'), + Parallax: root.querySelectorAll('.parallax:not(.no-autoinit)'), + Pushpin: root.querySelectorAll('.pushpin:not(.no-autoinit)'), + ScrollSpy: root.querySelectorAll('.scrollspy:not(.no-autoinit)'), + FormSelect: root.querySelectorAll('select:not(.no-autoinit)'), + Sidenav: root.querySelectorAll('.sidenav:not(.no-autoinit)'), + Tabs: root.querySelectorAll('.tabs:not(.no-autoinit)'), + TapTarget: root.querySelectorAll('.tap-target:not(.no-autoinit)'), + Timepicker: root.querySelectorAll('.timepicker:not(.no-autoinit)'), + Tooltip: root.querySelectorAll('.tooltipped:not(.no-autoinit)'), + FloatingActionButton: root.querySelectorAll('.fixed-action-btn:not(.no-autoinit)') + }; + + for (var pluginName in registry) { + var plugin = M[pluginName]; + plugin.init(registry[pluginName]); + } +}; + +/** + * Generate approximated selector string for a jQuery object + * @param {jQuery} obj jQuery object to be parsed + * @returns {string} + */ +M.objectSelectorString = function (obj) { + var tagStr = obj.prop('tagName') || ''; + var idStr = obj.attr('id') || ''; + var classStr = obj.attr('class') || ''; + return (tagStr + idStr + classStr).replace(/\s/g, ''); +}; + +// Unique Random ID +M.guid = function () { + function s4() { + return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); + } + return function () { + return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); + }; +}(); + +/** + * Escapes hash from special characters + * @param {string} hash String returned from this.hash + * @returns {string} + */ +M.escapeHash = function (hash) { + return hash.replace(/(:|\.|\[|\]|,|=|\/)/g, '\\$1'); +}; + +M.elementOrParentIsFixed = function (element) { + var $element = $(element); + var $checkElements = $element.add($element.parents()); + var isFixed = false; + $checkElements.each(function () { + if ($(this).css('position') === 'fixed') { + isFixed = true; + return false; + } + }); + return isFixed; +}; + +/** + * @typedef {Object} Edges + * @property {Boolean} top If the top edge was exceeded + * @property {Boolean} right If the right edge was exceeded + * @property {Boolean} bottom If the bottom edge was exceeded + * @property {Boolean} left If the left edge was exceeded + */ + +/** + * @typedef {Object} Bounding + * @property {Number} left left offset coordinate + * @property {Number} top top offset coordinate + * @property {Number} width + * @property {Number} height + */ + +/** + * Escapes hash from special characters + * @param {Element} container Container element that acts as the boundary + * @param {Bounding} bounding element bounding that is being checked + * @param {Number} offset offset from edge that counts as exceeding + * @returns {Edges} + */ +M.checkWithinContainer = function (container, bounding, offset) { + var edges = { + top: false, + right: false, + bottom: false, + left: false + }; + + var containerRect = container.getBoundingClientRect(); + // If body element is smaller than viewport, use viewport height instead. + var containerBottom = container === document.body ? Math.max(containerRect.bottom, window.innerHeight) : containerRect.bottom; + + var scrollLeft = container.scrollLeft; + var scrollTop = container.scrollTop; + + var scrolledX = bounding.left - scrollLeft; + var scrolledY = bounding.top - scrollTop; + + // Check for container and viewport for each edge + if (scrolledX < containerRect.left + offset || scrolledX < offset) { + edges.left = true; + } + + if (scrolledX + bounding.width > containerRect.right - offset || scrolledX + bounding.width > window.innerWidth - offset) { + edges.right = true; + } + + if (scrolledY < containerRect.top + offset || scrolledY < offset) { + edges.top = true; + } + + if (scrolledY + bounding.height > containerBottom - offset || scrolledY + bounding.height > window.innerHeight - offset) { + edges.bottom = true; + } + + return edges; +}; + +M.checkPossibleAlignments = function (el, container, bounding, offset) { + var canAlign = { + top: true, + right: true, + bottom: true, + left: true, + spaceOnTop: null, + spaceOnRight: null, + spaceOnBottom: null, + spaceOnLeft: null + }; + + var containerAllowsOverflow = getComputedStyle(container).overflow === 'visible'; + var containerRect = container.getBoundingClientRect(); + var containerHeight = Math.min(containerRect.height, window.innerHeight); + var containerWidth = Math.min(containerRect.width, window.innerWidth); + var elOffsetRect = el.getBoundingClientRect(); + + var scrollLeft = container.scrollLeft; + var scrollTop = container.scrollTop; + + var scrolledX = bounding.left - scrollLeft; + var scrolledYTopEdge = bounding.top - scrollTop; + var scrolledYBottomEdge = bounding.top + elOffsetRect.height - scrollTop; + + // Check for container and viewport for left + canAlign.spaceOnRight = !containerAllowsOverflow ? containerWidth - (scrolledX + bounding.width) : window.innerWidth - (elOffsetRect.left + bounding.width); + if (canAlign.spaceOnRight < 0) { + canAlign.left = false; + } + + // Check for container and viewport for Right + canAlign.spaceOnLeft = !containerAllowsOverflow ? scrolledX - bounding.width + elOffsetRect.width : elOffsetRect.right - bounding.width; + if (canAlign.spaceOnLeft < 0) { + canAlign.right = false; + } + + // Check for container and viewport for Top + canAlign.spaceOnBottom = !containerAllowsOverflow ? containerHeight - (scrolledYTopEdge + bounding.height + offset) : window.innerHeight - (elOffsetRect.top + bounding.height + offset); + if (canAlign.spaceOnBottom < 0) { + canAlign.top = false; + } + + // Check for container and viewport for Bottom + canAlign.spaceOnTop = !containerAllowsOverflow ? scrolledYBottomEdge - (bounding.height - offset) : elOffsetRect.bottom - (bounding.height + offset); + if (canAlign.spaceOnTop < 0) { + canAlign.bottom = false; + } + + return canAlign; +}; + +M.getOverflowParent = function (element) { + if (element == null) { + return null; + } + + if (element === document.body || getComputedStyle(element).overflow !== 'visible') { + return element; + } + + return M.getOverflowParent(element.parentElement); +}; + +/** + * Gets id of component from a trigger + * @param {Element} trigger trigger + * @returns {string} + */ +M.getIdFromTrigger = function (trigger) { + var id = trigger.getAttribute('data-target'); + if (!id) { + id = trigger.getAttribute('href'); + if (id) { + id = id.slice(1); + } else { + id = ''; + } + } + return id; +}; + +/** + * Multi browser support for document scroll top + * @returns {Number} + */ +M.getDocumentScrollTop = function () { + return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; +}; + +/** + * Multi browser support for document scroll left + * @returns {Number} + */ +M.getDocumentScrollLeft = function () { + return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0; +}; + +/** + * @typedef {Object} Edges + * @property {Boolean} top If the top edge was exceeded + * @property {Boolean} right If the right edge was exceeded + * @property {Boolean} bottom If the bottom edge was exceeded + * @property {Boolean} left If the left edge was exceeded + */ + +/** + * @typedef {Object} Bounding + * @property {Number} left left offset coordinate + * @property {Number} top top offset coordinate + * @property {Number} width + * @property {Number} height + */ + +/** + * Get time in ms + * @license https://raw.github.com/jashkenas/underscore/master/LICENSE + * @type {function} + * @return {number} + */ +var getTime = Date.now || function () { + return new Date().getTime(); +}; + +/** + * Returns a function, that, when invoked, will only be triggered at most once + * during a given window of time. Normally, the throttled function will run + * as much as it can, without ever going more than once per `wait` duration; + * but if you'd like to disable the execution on the leading edge, pass + * `{leading: false}`. To disable execution on the trailing edge, ditto. + * @license https://raw.github.com/jashkenas/underscore/master/LICENSE + * @param {function} func + * @param {number} wait + * @param {Object=} options + * @returns {Function} + */ +M.throttle = function (func, wait, options) { + var context = void 0, + args = void 0, + result = void 0; + var timeout = null; + var previous = 0; + options || (options = {}); + var later = function () { + previous = options.leading === false ? 0 : getTime(); + timeout = null; + result = func.apply(context, args); + context = args = null; + }; + return function () { + var now = getTime(); + if (!previous && options.leading === false) previous = now; + var remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; +}; +; /* + v2.2.0 + 2017 Julian Garnier + Released under the MIT license + */ +var $jscomp = { scope: {} };$jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, r, p) { + if (p.get || p.set) throw new TypeError("ES3 does not support getters and setters.");e != Array.prototype && e != Object.prototype && (e[r] = p.value); +};$jscomp.getGlobal = function (e) { + return "undefined" != typeof window && window === e ? e : "undefined" != typeof global && null != global ? global : e; +};$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 (e) { + return $jscomp.SYMBOL_PREFIX + (e || "") + $jscomp.symbolCounter_++; +}; +$jscomp.initSymbolIterator = function () { + $jscomp.initSymbol();var e = $jscomp.global.Symbol.iterator;e || (e = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator"));"function" != typeof Array.prototype[e] && $jscomp.defineProperty(Array.prototype, e, { configurable: !0, writable: !0, value: function () { + return $jscomp.arrayIterator(this); + } });$jscomp.initSymbolIterator = function () {}; +};$jscomp.arrayIterator = function (e) { + var r = 0;return $jscomp.iteratorPrototype(function () { + return r < e.length ? { done: !1, value: e[r++] } : { done: !0 }; + }); +}; +$jscomp.iteratorPrototype = function (e) { + $jscomp.initSymbolIterator();e = { next: e };e[$jscomp.global.Symbol.iterator] = function () { + return this; + };return e; +};$jscomp.array = $jscomp.array || {};$jscomp.iteratorFromArray = function (e, r) { + $jscomp.initSymbolIterator();e instanceof String && (e += "");var p = 0, + m = { next: function () { + if (p < e.length) { + var u = p++;return { value: r(u, e[u]), done: !1 }; + }m.next = function () { + return { done: !0, value: void 0 }; + };return m.next(); + } };m[Symbol.iterator] = function () { + return m; + };return m; +}; +$jscomp.polyfill = function (e, r, p, m) { + if (r) { + p = $jscomp.global;e = e.split(".");for (m = 0; m < e.length - 1; m++) { + var u = e[m];u in p || (p[u] = {});p = p[u]; + }e = e[e.length - 1];m = p[e];r = r(m);r != m && null != r && $jscomp.defineProperty(p, e, { configurable: !0, writable: !0, value: r }); + } +};$jscomp.polyfill("Array.prototype.keys", function (e) { + return e ? e : function () { + return $jscomp.iteratorFromArray(this, function (e) { + return e; + }); + }; +}, "es6-impl", "es3");var $jscomp$this = this; +(function (r) { + M.anime = r(); +})(function () { + function e(a) { + if (!h.col(a)) try { + return document.querySelectorAll(a); + } catch (c) {} + }function r(a, c) { + for (var d = a.length, b = 2 <= arguments.length ? arguments[1] : void 0, f = [], n = 0; n < d; n++) { + if (n in a) { + var k = a[n];c.call(b, k, n, a) && f.push(k); + } + }return f; + }function p(a) { + return a.reduce(function (a, d) { + return a.concat(h.arr(d) ? p(d) : d); + }, []); + }function m(a) { + if (h.arr(a)) return a; + h.str(a) && (a = e(a) || a);return a instanceof NodeList || a instanceof HTMLCollection ? [].slice.call(a) : [a]; + }function u(a, c) { + return a.some(function (a) { + return a === c; + }); + }function C(a) { + var c = {}, + d;for (d in a) { + c[d] = a[d]; + }return c; + }function D(a, c) { + var d = C(a), + b;for (b in a) { + d[b] = c.hasOwnProperty(b) ? c[b] : a[b]; + }return d; + }function z(a, c) { + var d = C(a), + b;for (b in c) { + d[b] = h.und(a[b]) ? c[b] : a[b]; + }return d; + }function T(a) { + a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (a, c, d, k) { + return c + c + d + d + k + k; + });var c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a); + a = parseInt(c[1], 16);var d = parseInt(c[2], 16), + c = parseInt(c[3], 16);return "rgba(" + a + "," + d + "," + c + ",1)"; + }function U(a) { + function c(a, c, b) { + 0 > b && (b += 1);1 < b && --b;return b < 1 / 6 ? a + 6 * (c - a) * b : .5 > b ? c : b < 2 / 3 ? a + (c - a) * (2 / 3 - b) * 6 : a; + }var d = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a = parseInt(d[1]) / 360;var b = parseInt(d[2]) / 100, + f = parseInt(d[3]) / 100, + d = d[4] || 1;if (0 == b) f = b = a = f;else { + var n = .5 > f ? f * (1 + b) : f + b - f * b, + k = 2 * f - n, + f = c(k, n, a + 1 / 3), + b = c(k, n, a);a = c(k, n, a - 1 / 3); + }return "rgba(" + 255 * f + "," + 255 * b + "," + 255 * a + "," + d + ")"; + }function y(a) { + if (a = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a)) return a[2]; + }function V(a) { + if (-1 < a.indexOf("translate") || "perspective" === a) return "px";if (-1 < a.indexOf("rotate") || -1 < a.indexOf("skew")) return "deg"; + }function I(a, c) { + return h.fnc(a) ? a(c.target, c.id, c.total) : a; + }function E(a, c) { + if (c in a.style) return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0"; + }function J(a, c) { + if (h.dom(a) && u(W, c)) return "transform";if (h.dom(a) && (a.getAttribute(c) || h.svg(a) && a[c])) return "attribute";if (h.dom(a) && "transform" !== c && E(a, c)) return "css";if (null != a[c]) return "object"; + }function X(a, c) { + var d = V(c), + d = -1 < c.indexOf("scale") ? 1 : 0 + d;a = a.style.transform;if (!a) return d;for (var b = [], f = [], n = [], k = /(\w+)\((.+?)\)/g; b = k.exec(a);) { + f.push(b[1]), n.push(b[2]); + }a = r(n, function (a, b) { + return f[b] === c; + });return a.length ? a[0] : d; + }function K(a, c) { + switch (J(a, c)) {case "transform": + return X(a, c);case "css": + return E(a, c);case "attribute": + return a.getAttribute(c);}return a[c] || 0; + }function L(a, c) { + var d = /^(\*=|\+=|-=)/.exec(a);if (!d) return a;var b = y(a) || 0;c = parseFloat(c);a = parseFloat(a.replace(d[0], ""));switch (d[0][0]) {case "+": + return c + a + b;case "-": + return c - a + b;case "*": + return c * a + b;} + }function F(a, c) { + return Math.sqrt(Math.pow(c.x - a.x, 2) + Math.pow(c.y - a.y, 2)); + }function M(a) { + a = a.points;for (var c = 0, d, b = 0; b < a.numberOfItems; b++) { + var f = a.getItem(b);0 < b && (c += F(d, f));d = f; + }return c; + }function N(a) { + if (a.getTotalLength) return a.getTotalLength();switch (a.tagName.toLowerCase()) {case "circle": + return 2 * Math.PI * a.getAttribute("r");case "rect": + return 2 * a.getAttribute("width") + 2 * a.getAttribute("height");case "line": + return F({ x: a.getAttribute("x1"), y: a.getAttribute("y1") }, { x: a.getAttribute("x2"), y: a.getAttribute("y2") });case "polyline": + return M(a);case "polygon": + var c = a.points;return M(a) + F(c.getItem(c.numberOfItems - 1), c.getItem(0));} + }function Y(a, c) { + function d(b) { + b = void 0 === b ? 0 : b;return a.el.getPointAtLength(1 <= c + b ? c + b : 0); + }var b = d(), + f = d(-1), + n = d(1);switch (a.property) {case "x": + return b.x;case "y": + return b.y; + case "angle": + return 180 * Math.atan2(n.y - f.y, n.x - f.x) / Math.PI;} + }function O(a, c) { + var d = /-?\d*\.?\d+/g, + b;b = h.pth(a) ? a.totalLength : a;if (h.col(b)) { + if (h.rgb(b)) { + var f = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b = f ? "rgba(" + f[1] + ",1)" : b; + } else b = h.hex(b) ? T(b) : h.hsl(b) ? U(b) : void 0; + } else f = (f = y(b)) ? b.substr(0, b.length - f.length) : b, b = c && !/\s/g.test(b) ? f + c : f;b += "";return { original: b, numbers: b.match(d) ? b.match(d).map(Number) : [0], strings: h.str(a) || c ? b.split(d) : [] }; + }function P(a) { + a = a ? p(h.arr(a) ? a.map(m) : m(a)) : [];return r(a, function (a, d, b) { + return b.indexOf(a) === d; + }); + }function Z(a) { + var c = P(a);return c.map(function (a, b) { + return { target: a, id: b, total: c.length }; + }); + }function aa(a, c) { + var d = C(c);if (h.arr(a)) { + var b = a.length;2 !== b || h.obj(a[0]) ? h.fnc(c.duration) || (d.duration = c.duration / b) : a = { value: a }; + }return m(a).map(function (a, b) { + b = b ? 0 : c.delay;a = h.obj(a) && !h.pth(a) ? a : { value: a };h.und(a.delay) && (a.delay = b);return a; + }).map(function (a) { + return z(a, d); + }); + }function ba(a, c) { + var d = {}, + b;for (b in a) { + var f = I(a[b], c);h.arr(f) && (f = f.map(function (a) { + return I(a, c); + }), 1 === f.length && (f = f[0]));d[b] = f; + }d.duration = parseFloat(d.duration);d.delay = parseFloat(d.delay);return d; + }function ca(a) { + return h.arr(a) ? A.apply(this, a) : Q[a]; + }function da(a, c) { + var d;return a.tweens.map(function (b) { + b = ba(b, c);var f = b.value, + e = K(c.target, a.name), + k = d ? d.to.original : e, + k = h.arr(f) ? f[0] : k, + w = L(h.arr(f) ? f[1] : f, k), + e = y(w) || y(k) || y(e);b.from = O(k, e);b.to = O(w, e);b.start = d ? d.end : a.offset;b.end = b.start + b.delay + b.duration;b.easing = ca(b.easing);b.elasticity = (1E3 - Math.min(Math.max(b.elasticity, 1), 999)) / 1E3;b.isPath = h.pth(f);b.isColor = h.col(b.from.original);b.isColor && (b.round = 1);return d = b; + }); + }function ea(a, c) { + return r(p(a.map(function (a) { + return c.map(function (b) { + var c = J(a.target, b.name);if (c) { + var d = da(b, a);b = { type: c, property: b.name, animatable: a, tweens: d, duration: d[d.length - 1].end, delay: d[0].delay }; + } else b = void 0;return b; + }); + })), function (a) { + return !h.und(a); + }); + }function R(a, c, d, b) { + var f = "delay" === a;return c.length ? (f ? Math.min : Math.max).apply(Math, c.map(function (b) { + return b[a]; + })) : f ? b.delay : d.offset + b.delay + b.duration; + }function fa(a) { + var c = D(ga, a), + d = D(S, a), + b = Z(a.targets), + f = [], + e = z(c, d), + k;for (k in a) { + e.hasOwnProperty(k) || "targets" === k || f.push({ name: k, offset: e.offset, tweens: aa(a[k], d) }); + }a = ea(b, f);return z(c, { children: [], animatables: b, animations: a, duration: R("duration", a, c, d), delay: R("delay", a, c, d) }); + }function q(a) { + function c() { + return window.Promise && new Promise(function (a) { + return p = a; + }); + }function d(a) { + return g.reversed ? g.duration - a : a; + }function b(a) { + for (var b = 0, c = {}, d = g.animations, f = d.length; b < f;) { + var e = d[b], + k = e.animatable, + h = e.tweens, + n = h.length - 1, + l = h[n];n && (l = r(h, function (b) { + return a < b.end; + })[0] || l);for (var h = Math.min(Math.max(a - l.start - l.delay, 0), l.duration) / l.duration, w = isNaN(h) ? 1 : l.easing(h, l.elasticity), h = l.to.strings, p = l.round, n = [], m = void 0, m = l.to.numbers.length, t = 0; t < m; t++) { + var x = void 0, + x = l.to.numbers[t], + q = l.from.numbers[t], + x = l.isPath ? Y(l.value, w * x) : q + w * (x - q);p && (l.isColor && 2 < t || (x = Math.round(x * p) / p));n.push(x); + }if (l = h.length) for (m = h[0], w = 0; w < l; w++) { + p = h[w + 1], t = n[w], isNaN(t) || (m = p ? m + (t + p) : m + (t + " ")); + } else m = n[0];ha[e.type](k.target, e.property, m, c, k.id);e.currentValue = m;b++; + }if (b = Object.keys(c).length) for (d = 0; d < b; d++) { + H || (H = E(document.body, "transform") ? "transform" : "-webkit-transform"), g.animatables[d].target.style[H] = c[d].join(" "); + }g.currentTime = a;g.progress = a / g.duration * 100; + }function f(a) { + if (g[a]) g[a](g); + }function e() { + g.remaining && !0 !== g.remaining && g.remaining--; + }function k(a) { + var k = g.duration, + n = g.offset, + w = n + g.delay, + r = g.currentTime, + x = g.reversed, + q = d(a);if (g.children.length) { + var u = g.children, + v = u.length; + if (q >= g.currentTime) for (var G = 0; G < v; G++) { + u[G].seek(q); + } else for (; v--;) { + u[v].seek(q); + } + }if (q >= w || !k) g.began || (g.began = !0, f("begin")), f("run");if (q > n && q < k) b(q);else if (q <= n && 0 !== r && (b(0), x && e()), q >= k && r !== k || !k) b(k), x || e();f("update");a >= k && (g.remaining ? (t = h, "alternate" === g.direction && (g.reversed = !g.reversed)) : (g.pause(), g.completed || (g.completed = !0, f("complete"), "Promise" in window && (p(), m = c()))), l = 0); + }a = void 0 === a ? {} : a;var h, + t, + l = 0, + p = null, + m = c(), + g = fa(a);g.reset = function () { + var a = g.direction, + c = g.loop;g.currentTime = 0;g.progress = 0;g.paused = !0;g.began = !1;g.completed = !1;g.reversed = "reverse" === a;g.remaining = "alternate" === a && 1 === c ? 2 : c;b(0);for (a = g.children.length; a--;) { + g.children[a].reset(); + } + };g.tick = function (a) { + h = a;t || (t = h);k((l + h - t) * q.speed); + };g.seek = function (a) { + k(d(a)); + };g.pause = function () { + var a = v.indexOf(g);-1 < a && v.splice(a, 1);g.paused = !0; + };g.play = function () { + g.paused && (g.paused = !1, t = 0, l = d(g.currentTime), v.push(g), B || ia()); + };g.reverse = function () { + g.reversed = !g.reversed;t = 0;l = d(g.currentTime); + };g.restart = function () { + g.pause(); + g.reset();g.play(); + };g.finished = m;g.reset();g.autoplay && g.play();return g; + }var ga = { update: void 0, begin: void 0, run: void 0, complete: void 0, loop: 1, direction: "normal", autoplay: !0, offset: 0 }, + S = { duration: 1E3, delay: 0, easing: "easeOutElastic", elasticity: 500, round: 0 }, + W = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "), + H, + h = { arr: function (a) { + return Array.isArray(a); + }, obj: function (a) { + return -1 < Object.prototype.toString.call(a).indexOf("Object"); + }, + pth: function (a) { + return h.obj(a) && a.hasOwnProperty("totalLength"); + }, svg: function (a) { + return a instanceof SVGElement; + }, dom: function (a) { + return a.nodeType || h.svg(a); + }, str: function (a) { + return "string" === typeof a; + }, fnc: function (a) { + return "function" === typeof a; + }, und: function (a) { + return "undefined" === typeof a; + }, hex: function (a) { + return (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a) + ); + }, rgb: function (a) { + return (/^rgb/.test(a) + ); + }, hsl: function (a) { + return (/^hsl/.test(a) + ); + }, col: function (a) { + return h.hex(a) || h.rgb(a) || h.hsl(a); + } }, + A = function () { + function a(a, d, b) { + return (((1 - 3 * b + 3 * d) * a + (3 * b - 6 * d)) * a + 3 * d) * a; + }return function (c, d, b, f) { + if (0 <= c && 1 >= c && 0 <= b && 1 >= b) { + var e = new Float32Array(11);if (c !== d || b !== f) for (var k = 0; 11 > k; ++k) { + e[k] = a(.1 * k, c, b); + }return function (k) { + if (c === d && b === f) return k;if (0 === k) return 0;if (1 === k) return 1;for (var h = 0, l = 1; 10 !== l && e[l] <= k; ++l) { + h += .1; + }--l;var l = h + (k - e[l]) / (e[l + 1] - e[l]) * .1, + n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (.001 <= n) { + for (h = 0; 4 > h; ++h) { + n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (0 === n) break;var m = a(l, c, b) - k, + l = l - m / n; + }k = l; + } else if (0 === n) k = l;else { + var l = h, + h = h + .1, + g = 0;do { + m = l + (h - l) / 2, n = a(m, c, b) - k, 0 < n ? h = m : l = m; + } while (1e-7 < Math.abs(n) && 10 > ++g);k = m; + }return a(k, d, f); + }; + } + }; + }(), + Q = function () { + function a(a, b) { + return 0 === a || 1 === a ? a : -Math.pow(2, 10 * (a - 1)) * Math.sin(2 * (a - 1 - b / (2 * Math.PI) * Math.asin(1)) * Math.PI / b); + }var c = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "), + d = { In: [[.55, .085, .68, .53], [.55, .055, .675, .19], [.895, .03, .685, .22], [.755, .05, .855, .06], [.47, 0, .745, .715], [.95, .05, .795, .035], [.6, .04, .98, .335], [.6, -.28, .735, .045], a], Out: [[.25, .46, .45, .94], [.215, .61, .355, 1], [.165, .84, .44, 1], [.23, 1, .32, 1], [.39, .575, .565, 1], [.19, 1, .22, 1], [.075, .82, .165, 1], [.175, .885, .32, 1.275], function (b, c) { + return 1 - a(1 - b, c); + }], InOut: [[.455, .03, .515, .955], [.645, .045, .355, 1], [.77, 0, .175, 1], [.86, 0, .07, 1], [.445, .05, .55, .95], [1, 0, 0, 1], [.785, .135, .15, .86], [.68, -.55, .265, 1.55], function (b, c) { + return .5 > b ? a(2 * b, c) / 2 : 1 - a(-2 * b + 2, c) / 2; + }] }, + b = { linear: A(.25, .25, .75, .75) }, + f = {}, + e;for (e in d) { + f.type = e, d[f.type].forEach(function (a) { + return function (d, f) { + b["ease" + a.type + c[f]] = h.fnc(d) ? d : A.apply($jscomp$this, d); + }; + }(f)), f = { type: f.type }; + }return b; + }(), + ha = { css: function (a, c, d) { + return a.style[c] = d; + }, attribute: function (a, c, d) { + return a.setAttribute(c, d); + }, object: function (a, c, d) { + return a[c] = d; + }, transform: function (a, c, d, b, f) { + b[f] || (b[f] = []);b[f].push(c + "(" + d + ")"); + } }, + v = [], + B = 0, + ia = function () { + function a() { + B = requestAnimationFrame(c); + }function c(c) { + var b = v.length;if (b) { + for (var d = 0; d < b;) { + v[d] && v[d].tick(c), d++; + }a(); + } else cancelAnimationFrame(B), B = 0; + }return a; + }();q.version = "2.2.0";q.speed = 1;q.running = v;q.remove = function (a) { + a = P(a);for (var c = v.length; c--;) { + for (var d = v[c], b = d.animations, f = b.length; f--;) { + u(a, b[f].animatable.target) && (b.splice(f, 1), b.length || d.pause()); + } + } + };q.getValue = K;q.path = function (a, c) { + var d = h.str(a) ? e(a)[0] : a, + b = c || 100;return function (a) { + return { el: d, property: a, totalLength: N(d) * (b / 100) }; + }; + };q.setDashoffset = function (a) { + var c = N(a);a.setAttribute("stroke-dasharray", c);return c; + };q.bezier = A;q.easings = Q;q.timeline = function (a) { + var c = q(a);c.pause();c.duration = 0;c.add = function (d) { + c.children.forEach(function (a) { + a.began = !0;a.completed = !0; + });m(d).forEach(function (b) { + var d = z(b, D(S, a || {}));d.targets = d.targets || a.targets;b = c.duration;var e = d.offset;d.autoplay = !1;d.direction = c.direction;d.offset = h.und(e) ? b : L(e, b);c.began = !0;c.completed = !0;c.seek(d.offset);d = q(d);d.began = !0;d.completed = !0;d.duration > b && (c.duration = d.duration);c.children.push(d); + });c.seek(0);c.reset();c.autoplay && c.restart();return c; + };return c; + };q.random = function (a, c) { + return Math.floor(Math.random() * (c - a + 1)) + a; + };return q; +}); +;(function ($, anim) { + 'use strict'; + + var _defaults = { + accordion: true, + onOpenStart: undefined, + onOpenEnd: undefined, + onCloseStart: undefined, + onCloseEnd: undefined, + inDuration: 300, + outDuration: 300 + }; + + /** + * @class + * + */ + + var Collapsible = function (_Component) { + _inherits(Collapsible, _Component); + + /** + * Construct Collapsible instance + * @constructor + * @param {Element} el + * @param {Object} options + */ + function Collapsible(el, options) { + _classCallCheck(this, Collapsible); + + var _this3 = _possibleConstructorReturn(this, (Collapsible.__proto__ || Object.getPrototypeOf(Collapsible)).call(this, Collapsible, el, options)); + + _this3.el.M_Collapsible = _this3; + + /** + * Options for the collapsible + * @member Collapsible#options + * @prop {Boolean} [accordion=false] - Type of the collapsible + * @prop {Function} onOpenStart - Callback function called before collapsible is opened + * @prop {Function} onOpenEnd - Callback function called after collapsible is opened + * @prop {Function} onCloseStart - Callback function called before collapsible is closed + * @prop {Function} onCloseEnd - Callback function called after collapsible is closed + * @prop {Number} inDuration - Transition in duration in milliseconds. + * @prop {Number} outDuration - Transition duration in milliseconds. + */ + _this3.options = $.extend({}, Collapsible.defaults, options); + + // Setup tab indices + _this3.$headers = _this3.$el.children('li').children('.collapsible-header'); + _this3.$headers.attr('tabindex', 0); + + _this3._setupEventHandlers(); + + // Open first active + var $activeBodies = _this3.$el.children('li.active').children('.collapsible-body'); + if (_this3.options.accordion) { + // Handle Accordion + $activeBodies.first().css('display', 'block'); + } else { + // Handle Expandables + $activeBodies.css('display', 'block'); + } + return _this3; + } + + _createClass(Collapsible, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this.el.M_Collapsible = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + var _this4 = this; + + this._handleCollapsibleClickBound = this._handleCollapsibleClick.bind(this); + this._handleCollapsibleKeydownBound = this._handleCollapsibleKeydown.bind(this); + this.el.addEventListener('click', this._handleCollapsibleClickBound); + this.$headers.each(function (header) { + header.addEventListener('keydown', _this4._handleCollapsibleKeydownBound); + }); + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + var _this5 = this; + + this.el.removeEventListener('click', this._handleCollapsibleClickBound); + this.$headers.each(function (header) { + header.removeEventListener('keydown', _this5._handleCollapsibleKeydownBound); + }); + } + + /** + * Handle Collapsible Click + * @param {Event} e + */ + + }, { + key: "_handleCollapsibleClick", + value: function _handleCollapsibleClick(e) { + var $header = $(e.target).closest('.collapsible-header'); + if (e.target && $header.length) { + var $collapsible = $header.closest('.collapsible'); + if ($collapsible[0] === this.el) { + var $collapsibleLi = $header.closest('li'); + var $collapsibleLis = $collapsible.children('li'); + var isActive = $collapsibleLi[0].classList.contains('active'); + var index = $collapsibleLis.index($collapsibleLi); + + if (isActive) { + this.close(index); + } else { + this.open(index); + } + } + } + } + + /** + * Handle Collapsible Keydown + * @param {Event} e + */ + + }, { + key: "_handleCollapsibleKeydown", + value: function _handleCollapsibleKeydown(e) { + if (e.keyCode === 13) { + this._handleCollapsibleClickBound(e); + } + } + + /** + * Animate in collapsible slide + * @param {Number} index - 0th index of slide + */ + + }, { + key: "_animateIn", + value: function _animateIn(index) { + var _this6 = this; + + var $collapsibleLi = this.$el.children('li').eq(index); + if ($collapsibleLi.length) { + var $body = $collapsibleLi.children('.collapsible-body'); + + anim.remove($body[0]); + $body.css({ + display: 'block', + overflow: 'hidden', + height: 0, + paddingTop: '', + paddingBottom: '' + }); + + var pTop = $body.css('padding-top'); + var pBottom = $body.css('padding-bottom'); + var finalHeight = $body[0].scrollHeight; + $body.css({ + paddingTop: 0, + paddingBottom: 0 + }); + + anim({ + targets: $body[0], + height: finalHeight, + paddingTop: pTop, + paddingBottom: pBottom, + duration: this.options.inDuration, + easing: 'easeInOutCubic', + complete: function (anim) { + $body.css({ + overflow: '', + paddingTop: '', + paddingBottom: '', + height: '' + }); + + // onOpenEnd callback + if (typeof _this6.options.onOpenEnd === 'function') { + _this6.options.onOpenEnd.call(_this6, $collapsibleLi[0]); + } + } + }); + } + } + + /** + * Animate out collapsible slide + * @param {Number} index - 0th index of slide to open + */ + + }, { + key: "_animateOut", + value: function _animateOut(index) { + var _this7 = this; + + var $collapsibleLi = this.$el.children('li').eq(index); + if ($collapsibleLi.length) { + var $body = $collapsibleLi.children('.collapsible-body'); + anim.remove($body[0]); + $body.css('overflow', 'hidden'); + anim({ + targets: $body[0], + height: 0, + paddingTop: 0, + paddingBottom: 0, + duration: this.options.outDuration, + easing: 'easeInOutCubic', + complete: function () { + $body.css({ + height: '', + overflow: '', + padding: '', + display: '' + }); + + // onCloseEnd callback + if (typeof _this7.options.onCloseEnd === 'function') { + _this7.options.onCloseEnd.call(_this7, $collapsibleLi[0]); + } + } + }); + } + } + + /** + * Open Collapsible + * @param {Number} index - 0th index of slide + */ + + }, { + key: "open", + value: function open(index) { + var _this8 = this; + + var $collapsibleLi = this.$el.children('li').eq(index); + if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) { + // onOpenStart callback + if (typeof this.options.onOpenStart === 'function') { + this.options.onOpenStart.call(this, $collapsibleLi[0]); + } + + // Handle accordion behavior + if (this.options.accordion) { + var $collapsibleLis = this.$el.children('li'); + var $activeLis = this.$el.children('li.active'); + $activeLis.each(function (el) { + var index = $collapsibleLis.index($(el)); + _this8.close(index); + }); + } + + // Animate in + $collapsibleLi[0].classList.add('active'); + this._animateIn(index); + } + } + + /** + * Close Collapsible + * @param {Number} index - 0th index of slide + */ + + }, { + key: "close", + value: function close(index) { + var $collapsibleLi = this.$el.children('li').eq(index); + if ($collapsibleLi.length && $collapsibleLi[0].classList.contains('active')) { + // onCloseStart callback + if (typeof this.options.onCloseStart === 'function') { + this.options.onCloseStart.call(this, $collapsibleLi[0]); + } + + // Animate out + $collapsibleLi[0].classList.remove('active'); + this._animateOut(index); + } + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(Collapsible.__proto__ || Object.getPrototypeOf(Collapsible), "init", this).call(this, this, els, options); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_Collapsible; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return Collapsible; + }(Component); + + M.Collapsible = Collapsible; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(Collapsible, 'collapsible', 'M_Collapsible'); + } +})(cash, M.anime); +;(function ($, anim) { + 'use strict'; + + var _defaults = { + alignment: 'left', + autoFocus: true, + constrainWidth: true, + container: null, + coverTrigger: true, + closeOnClick: true, + hover: false, + inDuration: 150, + outDuration: 250, + onOpenStart: null, + onOpenEnd: null, + onCloseStart: null, + onCloseEnd: null, + onItemClick: null + }; + + /** + * @class + */ + + var Dropdown = function (_Component2) { + _inherits(Dropdown, _Component2); + + function Dropdown(el, options) { + _classCallCheck(this, Dropdown); + + var _this9 = _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call(this, Dropdown, el, options)); + + _this9.el.M_Dropdown = _this9; + Dropdown._dropdowns.push(_this9); + + _this9.id = M.getIdFromTrigger(el); + _this9.dropdownEl = document.getElementById(_this9.id); + _this9.$dropdownEl = $(_this9.dropdownEl); + + /** + * Options for the dropdown + * @member Dropdown#options + * @prop {String} [alignment='left'] - Edge which the dropdown is aligned to + * @prop {Boolean} [autoFocus=true] - Automatically focus dropdown el for keyboard + * @prop {Boolean} [constrainWidth=true] - Constrain width to width of the button + * @prop {Element} container - Container element to attach dropdown to (optional) + * @prop {Boolean} [coverTrigger=true] - Place dropdown over trigger + * @prop {Boolean} [closeOnClick=true] - Close on click of dropdown item + * @prop {Boolean} [hover=false] - Open dropdown on hover + * @prop {Number} [inDuration=150] - Duration of open animation in ms + * @prop {Number} [outDuration=250] - Duration of close animation in ms + * @prop {Function} onOpenStart - Function called when dropdown starts opening + * @prop {Function} onOpenEnd - Function called when dropdown finishes opening + * @prop {Function} onCloseStart - Function called when dropdown starts closing + * @prop {Function} onCloseEnd - Function called when dropdown finishes closing + */ + _this9.options = $.extend({}, Dropdown.defaults, options); + + /** + * Describes open/close state of dropdown + * @type {Boolean} + */ + _this9.isOpen = false; + + /** + * Describes if dropdown content is scrollable + * @type {Boolean} + */ + _this9.isScrollable = false; + + /** + * Describes if touch moving on dropdown content + * @type {Boolean} + */ + _this9.isTouchMoving = false; + + _this9.focusedIndex = -1; + _this9.filterQuery = []; + + // Move dropdown-content after dropdown-trigger + if (!!_this9.options.container) { + $(_this9.options.container).append(_this9.dropdownEl); + } else { + _this9.$el.after(_this9.dropdownEl); + } + + _this9._makeDropdownFocusable(); + _this9._resetFilterQueryBound = _this9._resetFilterQuery.bind(_this9); + _this9._handleDocumentClickBound = _this9._handleDocumentClick.bind(_this9); + _this9._handleDocumentTouchmoveBound = _this9._handleDocumentTouchmove.bind(_this9); + _this9._handleDropdownClickBound = _this9._handleDropdownClick.bind(_this9); + _this9._handleDropdownKeydownBound = _this9._handleDropdownKeydown.bind(_this9); + _this9._handleTriggerKeydownBound = _this9._handleTriggerKeydown.bind(_this9); + _this9._setupEventHandlers(); + return _this9; + } + + _createClass(Dropdown, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._resetDropdownStyles(); + this._removeEventHandlers(); + Dropdown._dropdowns.splice(Dropdown._dropdowns.indexOf(this), 1); + this.el.M_Dropdown = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + // Trigger keydown handler + this.el.addEventListener('keydown', this._handleTriggerKeydownBound); + + // Item click handler + this.dropdownEl.addEventListener('click', this._handleDropdownClickBound); + + // Hover event handlers + if (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); + + // Click event handlers + } else { + this._handleClickBound = this._handleClick.bind(this); + this.el.addEventListener('click', this._handleClickBound); + } + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + this.el.removeEventListener('keydown', this._handleTriggerKeydownBound); + this.dropdownEl.removeEventListener('click', this._handleDropdownClickBound); + + if (this.options.hover) { + this.el.removeEventListener('mouseenter', this._handleMouseEnterBound); + this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound); + this.dropdownEl.removeEventListener('mouseleave', this._handleMouseLeaveBound); + } else { + this.el.removeEventListener('click', this._handleClickBound); + } + } + }, { + key: "_setupTemporaryEventHandlers", + value: function _setupTemporaryEventHandlers() { + // Use capture phase event handler to prevent click + document.body.addEventListener('click', this._handleDocumentClickBound, true); + document.body.addEventListener('touchend', this._handleDocumentClickBound); + document.body.addEventListener('touchmove', this._handleDocumentTouchmoveBound); + this.dropdownEl.addEventListener('keydown', this._handleDropdownKeydownBound); + } + }, { + key: "_removeTemporaryEventHandlers", + value: function _removeTemporaryEventHandlers() { + // Use capture phase event handler to prevent click + document.body.removeEventListener('click', this._handleDocumentClickBound, true); + document.body.removeEventListener('touchend', this._handleDocumentClickBound); + document.body.removeEventListener('touchmove', this._handleDocumentTouchmoveBound); + this.dropdownEl.removeEventListener('keydown', this._handleDropdownKeydownBound); + } + }, { + key: "_handleClick", + value: function _handleClick(e) { + e.preventDefault(); + this.open(); + } + }, { + key: "_handleMouseEnter", + value: function _handleMouseEnter() { + this.open(); + } + }, { + key: "_handleMouseLeave", + value: function _handleMouseLeave(e) { + var toEl = e.toElement || e.relatedTarget; + var leaveToDropdownContent = !!$(toEl).closest('.dropdown-content').length; + var leaveToActiveDropdownTrigger = false; + + var $closestTrigger = $(toEl).closest('.dropdown-trigger'); + if ($closestTrigger.length && !!$closestTrigger[0].M_Dropdown && $closestTrigger[0].M_Dropdown.isOpen) { + leaveToActiveDropdownTrigger = true; + } + + // Close hover dropdown if mouse did not leave to either active dropdown-trigger or dropdown-content + if (!leaveToActiveDropdownTrigger && !leaveToDropdownContent) { + this.close(); + } + } + }, { + key: "_handleDocumentClick", + value: function _handleDocumentClick(e) { + var _this10 = this; + + var $target = $(e.target); + if (this.options.closeOnClick && $target.closest('.dropdown-content').length && !this.isTouchMoving) { + // isTouchMoving to check if scrolling on mobile. + setTimeout(function () { + _this10.close(); + }, 0); + } else if ($target.closest('.dropdown-trigger').length || !$target.closest('.dropdown-content').length) { + setTimeout(function () { + _this10.close(); + }, 0); + } + this.isTouchMoving = false; + } + }, { + key: "_handleTriggerKeydown", + value: function _handleTriggerKeydown(e) { + // ARROW DOWN OR ENTER WHEN SELECT IS CLOSED - open Dropdown + if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ENTER) && !this.isOpen) { + e.preventDefault(); + this.open(); + } + } + + /** + * Handle Document Touchmove + * @param {Event} e + */ + + }, { + key: "_handleDocumentTouchmove", + value: function _handleDocumentTouchmove(e) { + var $target = $(e.target); + if ($target.closest('.dropdown-content').length) { + this.isTouchMoving = true; + } + } + + /** + * Handle Dropdown Click + * @param {Event} e + */ + + }, { + key: "_handleDropdownClick", + value: function _handleDropdownClick(e) { + // onItemClick callback + if (typeof this.options.onItemClick === 'function') { + var itemEl = $(e.target).closest('li')[0]; + this.options.onItemClick.call(this, itemEl); + } + } + + /** + * Handle Dropdown Keydown + * @param {Event} e + */ + + }, { + key: "_handleDropdownKeydown", + value: function _handleDropdownKeydown(e) { + if (e.which === M.keys.TAB) { + e.preventDefault(); + this.close(); + + // Navigate down dropdown list + } else if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) && this.isOpen) { + e.preventDefault(); + var direction = e.which === M.keys.ARROW_DOWN ? 1 : -1; + var newFocusedIndex = this.focusedIndex; + var foundNewIndex = false; + do { + newFocusedIndex = newFocusedIndex + direction; + + if (!!this.dropdownEl.children[newFocusedIndex] && this.dropdownEl.children[newFocusedIndex].tabIndex !== -1) { + foundNewIndex = true; + break; + } + } while (newFocusedIndex < this.dropdownEl.children.length && newFocusedIndex >= 0); + + if (foundNewIndex) { + this.focusedIndex = newFocusedIndex; + this._focusFocusedItem(); + } + + // ENTER selects choice on focused item + } else if (e.which === M.keys.ENTER && this.isOpen) { + // Search for and ") + ''; + } + }, { + key: "renderRow", + value: function renderRow(days, isRTL, isRowSelected) { + return '' + (isRTL ? days.reverse() : days).join('') + ''; + } + }, { + key: "renderTable", + value: function renderTable(opts, data, randId) { + return '
' + this.renderHead(opts) + this.renderBody(data) + '
'; + } + }, { + key: "renderHead", + value: function renderHead(opts) { + var i = void 0, + arr = []; + for (i = 0; i < 7; i++) { + arr.push("" + this.renderDayName(opts, i, true) + ""); + } + return '' + (opts.isRTL ? arr.reverse() : arr).join('') + ''; + } + }, { + key: "renderBody", + value: function renderBody(rows) { + return '' + rows.join('') + ''; + } + }, { + key: "renderTitle", + value: function renderTitle(instance, c, year, month, refYear, randId) { + var i = void 0, + j = void 0, + arr = void 0, + opts = this.options, + isMinYear = year === opts.minYear, + isMaxYear = year === opts.maxYear, + html = '
', + monthHtml = void 0, + yearHtml = void 0, + prev = true, + next = true; + + for (arr = [], i = 0; i < 12; i++) { + arr.push(''); + } + + monthHtml = ''; + + if ($.isArray(opts.yearRange)) { + i = opts.yearRange[0]; + j = opts.yearRange[1] + 1; + } else { + i = year - opts.yearRange; + j = 1 + year + opts.yearRange; + } + + for (arr = []; i < j && i <= opts.maxYear; i++) { + if (i >= opts.minYear) { + arr.push(""); + } + } + + yearHtml = ""; + + var leftArrow = ''; + html += ""; + + html += '
'; + if (opts.showMonthAfterYear) { + html += yearHtml + monthHtml; + } else { + html += monthHtml + yearHtml; + } + html += '
'; + + if (isMinYear && (month === 0 || opts.minMonth >= month)) { + prev = false; + } + + if (isMaxYear && (month === 11 || opts.maxMonth <= month)) { + next = false; + } + + var rightArrow = ''; + html += ""; + + return html += '
'; + } + + /** + * refresh the HTML + */ + + }, { + key: "draw", + value: function draw(force) { + if (!this.isOpen && !force) { + return; + } + var opts = this.options, + minYear = opts.minYear, + maxYear = opts.maxYear, + minMonth = opts.minMonth, + maxMonth = opts.maxMonth, + html = '', + randId = void 0; + + if (this._y <= minYear) { + this._y = minYear; + if (!isNaN(minMonth) && this._m < minMonth) { + this._m = minMonth; + } + } + if (this._y >= maxYear) { + this._y = maxYear; + if (!isNaN(maxMonth) && this._m > maxMonth) { + this._m = maxMonth; + } + } + + randId = 'datepicker-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2); + + for (var c = 0; c < 1; c++) { + this._renderDateDisplay(); + html += this.renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId); + } + + this.destroySelects(); + + this.calendarEl.innerHTML = html; + + // Init Materialize Select + var yearSelect = this.calendarEl.querySelector('.orig-select-year'); + var monthSelect = this.calendarEl.querySelector('.orig-select-month'); + M.FormSelect.init(yearSelect, { + classes: 'select-year', + dropdownOptions: { container: document.body, constrainWidth: false } + }); + M.FormSelect.init(monthSelect, { + classes: 'select-month', + dropdownOptions: { container: document.body, constrainWidth: false } + }); + + // Add change handlers for select + yearSelect.addEventListener('change', this._handleYearChange.bind(this)); + monthSelect.addEventListener('change', this._handleMonthChange.bind(this)); + + if (typeof this.options.onDraw === 'function') { + this.options.onDraw(this); + } + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + 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); + + if (this.options.showClearBtn) { + this._handleClearClickBound = this._handleClearClick.bind(this); + this.clearBtn.addEventListener('click', this._handleClearClickBound); + } + } + }, { + key: "_setupVariables", + value: function _setupVariables() { + var _this56 = this; + + this.$modalEl = $(Datepicker._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'); + if (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 _this56.date.getDate(); + }, + dd: function () { + var d = _this56.date.getDate(); + return (d < 10 ? '0' : '') + d; + }, + ddd: function () { + return _this56.options.i18n.weekdaysShort[_this56.date.getDay()]; + }, + dddd: function () { + return _this56.options.i18n.weekdays[_this56.date.getDay()]; + }, + m: function () { + return _this56.date.getMonth() + 1; + }, + mm: function () { + var m = _this56.date.getMonth() + 1; + return (m < 10 ? '0' : '') + m; + }, + mmm: function () { + return _this56.options.i18n.monthsShort[_this56.date.getMonth()]; + }, + mmmm: function () { + return _this56.options.i18n.months[_this56.date.getMonth()]; + }, + yy: function () { + return ('' + _this56.date.getFullYear()).slice(2); + }, + yyyy: function () { + return _this56.date.getFullYear(); + } + }; + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + 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 _handleInputClick() { + this.open(); + } + }, { + key: "_handleInputKeydown", + value: function _handleInputKeydown(e) { + if (e.which === M.keys.ENTER) { + e.preventDefault(); + this.open(); + } + } + }, { + key: "_handleCalendarClick", + value: function _handleCalendarClick(e) { + if (!this.isOpen) { + return; + } + + var $target = $(e.target); + if (!$target.hasClass('is-disabled')) { + if ($target.hasClass('datepicker-day-button') && !$target.hasClass('is-empty') && !$target.parent().hasClass('is-disabled')) { + this.setDate(new Date(e.target.getAttribute('data-year'), e.target.getAttribute('data-month'), e.target.getAttribute('data-day'))); + if (this.options.autoClose) { + this._finishSelection(); + } + } else if ($target.closest('.month-prev').length) { + this.prevMonth(); + } else if ($target.closest('.month-next').length) { + this.nextMonth(); + } + } + } + }, { + key: "_handleClearClick", + value: function _handleClearClick() { + this.date = null; + this.setInputValue(); + this.close(); + } + }, { + key: "_handleMonthChange", + value: function _handleMonthChange(e) { + this.gotoMonth(e.target.value); + } + }, { + key: "_handleYearChange", + value: function _handleYearChange(e) { + this.gotoYear(e.target.value); + } + + /** + * change view to a specific month (zero-index, e.g. 0: January) + */ + + }, { + key: "gotoMonth", + value: function gotoMonth(month) { + if (!isNaN(month)) { + this.calendars[0].month = parseInt(month, 10); + this.adjustCalendars(); + } + } + + /** + * change view to a specific full year (e.g. "2012") + */ + + }, { + key: "gotoYear", + value: function gotoYear(year) { + if (!isNaN(year)) { + this.calendars[0].year = parseInt(year, 10); + this.adjustCalendars(); + } + } + }, { + key: "_handleInputChange", + value: function _handleInputChange(e) { + var date = void 0; + + // Prevent change event from being fired when triggered by the plugin + if (e.firedBy === this) { + return; + } + if (this.options.parse) { + date = this.options.parse(this.el.value, this.options.format); + } else { + date = new Date(Date.parse(this.el.value)); + } + + if (Datepicker._isDate(date)) { + this.setDate(date); + } + } + }, { + key: "renderDayName", + value: function renderDayName(opts, day, abbr) { + day += opts.firstDay; + while (day >= 7) { + day -= 7; + } + return abbr ? opts.i18n.weekdaysAbbrev[day] : opts.i18n.weekdays[day]; + } + + /** + * Set input value to the selected date and close Datepicker + */ + + }, { + key: "_finishSelection", + value: function _finishSelection() { + this.setInputValue(); + this.close(); + } + + /** + * Open Datepicker + */ + + }, { + key: "open", + value: function open() { + if (this.isOpen) { + return; + } + + this.isOpen = true; + if (typeof this.options.onOpen === 'function') { + this.options.onOpen.call(this); + } + this.draw(); + this.modal.open(); + return this; + } + + /** + * Close Datepicker + */ + + }, { + key: "close", + value: function close() { + if (!this.isOpen) { + return; + } + + this.isOpen = false; + if (typeof this.options.onClose === 'function') { + this.options.onClose.call(this); + } + this.modal.close(); + return this; + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(Datepicker.__proto__ || Object.getPrototypeOf(Datepicker), "init", this).call(this, this, els, options); + } + }, { + key: "_isDate", + value: function _isDate(obj) { + return (/Date/.test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime()) + ); + } + }, { + key: "_isWeekend", + value: function _isWeekend(date) { + var day = date.getDay(); + return day === 0 || day === 6; + } + }, { + key: "_setToStartOfDay", + value: function _setToStartOfDay(date) { + if (Datepicker._isDate(date)) date.setHours(0, 0, 0, 0); + } + }, { + key: "_getDaysInMonth", + value: function _getDaysInMonth(year, month) { + return [31, Datepicker._isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; + } + }, { + key: "_isLeapYear", + value: function _isLeapYear(year) { + // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951 + return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; + } + }, { + key: "_compareDates", + value: function _compareDates(a, b) { + // weak date comparison (use setToStartOfDay(date) to ensure correct result) + return a.getTime() === b.getTime(); + } + }, { + key: "_setToStartOfDay", + value: function _setToStartOfDay(date) { + if (Datepicker._isDate(date)) date.setHours(0, 0, 0, 0); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_Datepicker; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return Datepicker; + }(Component); + + Datepicker._template = [''].join(''); + + M.Datepicker = Datepicker; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(Datepicker, 'datepicker', 'M_Datepicker'); + } +})(cash); +;(function ($) { + 'use strict'; + + var _defaults = { + dialRadius: 135, + outerRadius: 105, + innerRadius: 70, + tickRadius: 20, + duration: 350, + container: null, + defaultTime: 'now', // default time, 'now' or '13:14' e.g. + fromNow: 0, // Millisecond offset from the defaultTime + showClearBtn: false, + + // internationalization + i18n: { + cancel: 'Cancel', + clear: 'Clear', + done: 'Ok' + }, + + autoClose: false, // auto close when minute is selected + twelveHour: true, // change to 12 hour AM/PM clock from 24 hour + vibrate: true, // vibrate the device when dragging clock hand + + // Callbacks + onOpenStart: null, + onOpenEnd: null, + onCloseStart: null, + onCloseEnd: null, + onSelect: null + }; + + /** + * @class + * + */ + + var Timepicker = function (_Component16) { + _inherits(Timepicker, _Component16); + + function Timepicker(el, options) { + _classCallCheck(this, Timepicker); + + var _this57 = _possibleConstructorReturn(this, (Timepicker.__proto__ || Object.getPrototypeOf(Timepicker)).call(this, Timepicker, el, options)); + + _this57.el.M_Timepicker = _this57; + + _this57.options = $.extend({}, Timepicker.defaults, options); + + _this57.id = M.guid(); + _this57._insertHTMLIntoDOM(); + _this57._setupModal(); + _this57._setupVariables(); + _this57._setupEventHandlers(); + + _this57._clockSetup(); + _this57._pickerSetup(); + return _this57; + } + + _createClass(Timepicker, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this.modal.destroy(); + $(this.modalEl).remove(); + this.el.M_Timepicker = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + 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); + + $(this.spanHours).on('click', this.showView.bind(this, 'hours')); + $(this.spanMinutes).on('click', this.showView.bind(this, 'minutes')); + } + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + this.el.removeEventListener('click', this._handleInputClickBound); + this.el.removeEventListener('keydown', this._handleInputKeydownBound); + } + }, { + key: "_handleInputClick", + value: function _handleInputClick() { + this.open(); + } + }, { + key: "_handleInputKeydown", + value: function _handleInputKeydown(e) { + if (e.which === M.keys.ENTER) { + e.preventDefault(); + this.open(); + } + } + }, { + key: "_handleClockClickStart", + value: function _handleClockClickStart(e) { + e.preventDefault(); + var clockPlateBR = this.plate.getBoundingClientRect(); + var offset = { x: clockPlateBR.left, y: clockPlateBR.top }; + + this.x0 = offset.x + this.options.dialRadius; + this.y0 = offset.y + this.options.dialRadius; + this.moved = false; + var clickPos = Timepicker._Pos(e); + this.dx = clickPos.x - this.x0; + this.dy = clickPos.y - this.y0; + + // Set clock hands + this.setHand(this.dx, this.dy, false); + + // Mousemove on document + document.addEventListener('mousemove', this._handleDocumentClickMoveBound); + document.addEventListener('touchmove', this._handleDocumentClickMoveBound); + + // Mouseup on document + document.addEventListener('mouseup', this._handleDocumentClickEndBound); + document.addEventListener('touchend', this._handleDocumentClickEndBound); + } + }, { + key: "_handleDocumentClickMove", + value: function _handleDocumentClickMove(e) { + e.preventDefault(); + var clickPos = Timepicker._Pos(e); + var x = clickPos.x - this.x0; + var y = clickPos.y - this.y0; + this.moved = true; + this.setHand(x, y, false, true); + } + }, { + key: "_handleDocumentClickEnd", + value: function _handleDocumentClickEnd(e) { + var _this58 = this; + + e.preventDefault(); + document.removeEventListener('mouseup', this._handleDocumentClickEndBound); + document.removeEventListener('touchend', this._handleDocumentClickEndBound); + var clickPos = Timepicker._Pos(e); + var x = clickPos.x - this.x0; + var y = clickPos.y - this.y0; + if (this.moved && x === this.dx && y === this.dy) { + this.setHand(x, y); + } + + if (this.currentView === 'hours') { + this.showView('minutes', this.options.duration / 2); + } else if (this.options.autoClose) { + $(this.minutesView).addClass('timepicker-dial-out'); + setTimeout(function () { + _this58.done(); + }, this.options.duration / 2); + } + + if (typeof this.options.onSelect === 'function') { + this.options.onSelect.call(this, this.hours, this.minutes); + } + + // Unbind mousemove event + document.removeEventListener('mousemove', this._handleDocumentClickMoveBound); + document.removeEventListener('touchmove', this._handleDocumentClickMoveBound); + } + }, { + key: "_insertHTMLIntoDOM", + value: function _insertHTMLIntoDOM() { + this.$modalEl = $(Timepicker._template); + this.modalEl = this.$modalEl[0]; + this.modalEl.id = 'modal-' + this.id; + + // Append popover to input by default + var containerEl = document.querySelector(this.options.container); + if (this.options.container && !!containerEl) { + this.$modalEl.appendTo(containerEl); + } else { + this.$modalEl.insertBefore(this.el); + } + } + }, { + key: "_setupModal", + value: function _setupModal() { + var _this59 = this; + + this.modal = M.Modal.init(this.modalEl, { + onOpenStart: this.options.onOpenStart, + onOpenEnd: this.options.onOpenEnd, + onCloseStart: this.options.onCloseStart, + onCloseEnd: function () { + if (typeof _this59.options.onCloseEnd === 'function') { + _this59.options.onCloseEnd.call(_this59); + } + _this59.isOpen = false; + } + }); + } + }, { + key: "_setupVariables", + value: function _setupVariables() { + 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 _pickerSetup() { + var $clearBtn = $("").appendTo(this.footer).on('click', this.clear.bind(this)); + if (this.options.showClearBtn) { + $clearBtn.css({ visibility: '' }); + } + + var confirmationBtnsContainer = $('
'); + $('').appendTo(confirmationBtnsContainer).on('click', this.close.bind(this)); + $('').appendTo(confirmationBtnsContainer).on('click', this.done.bind(this)); + confirmationBtnsContainer.appendTo(this.footer); + } + }, { + key: "_clockSetup", + value: function _clockSetup() { + if (this.options.twelveHour) { + this.$amBtn = $('
AM
'); + this.$pmBtn = $('
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 _buildSVGClock() { + // Draw clock hands and others + var dialRadius = this.options.dialRadius; + var tickRadius = this.options.tickRadius; + var diameter = dialRadius * 2; + + var svg = Timepicker._createSVGEl('svg'); + svg.setAttribute('class', 'timepicker-svg'); + svg.setAttribute('width', diameter); + svg.setAttribute('height', diameter); + var g = Timepicker._createSVGEl('g'); + g.setAttribute('transform', 'translate(' + dialRadius + ',' + dialRadius + ')'); + var bearing = Timepicker._createSVGEl('circle'); + bearing.setAttribute('class', 'timepicker-canvas-bearing'); + bearing.setAttribute('cx', 0); + bearing.setAttribute('cy', 0); + bearing.setAttribute('r', 4); + var hand = Timepicker._createSVGEl('line'); + hand.setAttribute('x1', 0); + hand.setAttribute('y1', 0); + var bg = Timepicker._createSVGEl('circle'); + bg.setAttribute('class', 'timepicker-canvas-bg'); + bg.setAttribute('r', tickRadius); + g.appendChild(hand); + g.appendChild(bg); + g.appendChild(bearing); + svg.appendChild(g); + this._canvas.appendChild(svg); + + this.hand = hand; + this.bg = bg; + this.bearing = bearing; + this.g = g; + } + }, { + key: "_buildHoursView", + value: function _buildHoursView() { + var $tick = $('
'); + // Hours view + if (this.options.twelveHour) { + for (var i = 1; i < 13; i += 1) { + var tick = $tick.clone(); + var radian = i / 6 * Math.PI; + var radius = this.options.outerRadius; + tick.css({ + left: this.options.dialRadius + Math.sin(radian) * radius - this.options.tickRadius + 'px', + top: this.options.dialRadius - Math.cos(radian) * radius - this.options.tickRadius + 'px' + }); + tick.html(i === 0 ? '00' : i); + this.hoursView.appendChild(tick[0]); + // tick.on(mousedownEvent, mousedown); + } + } else { + for (var _i2 = 0; _i2 < 24; _i2 += 1) { + var _tick = $tick.clone(); + var _radian = _i2 / 6 * Math.PI; + var inner = _i2 > 0 && _i2 < 13; + var _radius = inner ? this.options.innerRadius : this.options.outerRadius; + _tick.css({ + left: this.options.dialRadius + Math.sin(_radian) * _radius - this.options.tickRadius + 'px', + top: this.options.dialRadius - Math.cos(_radian) * _radius - this.options.tickRadius + 'px' + }); + _tick.html(_i2 === 0 ? '00' : _i2); + this.hoursView.appendChild(_tick[0]); + // tick.on(mousedownEvent, mousedown); + } + } + } + }, { + key: "_buildMinutesView", + value: function _buildMinutesView() { + var $tick = $('
'); + // Minutes view + for (var i = 0; i < 60; i += 5) { + var tick = $tick.clone(); + var radian = i / 30 * Math.PI; + tick.css({ + left: this.options.dialRadius + Math.sin(radian) * this.options.outerRadius - this.options.tickRadius + 'px', + top: this.options.dialRadius - Math.cos(radian) * this.options.outerRadius - this.options.tickRadius + 'px' + }); + tick.html(Timepicker._addLeadingZero(i)); + this.minutesView.appendChild(tick[0]); + } + } + }, { + key: "_handleAmPmClick", + value: function _handleAmPmClick(e) { + var $btnClicked = $(e.target); + this.amOrPm = $btnClicked.hasClass('am-btn') ? 'AM' : 'PM'; + this._updateAmPmView(); + } + }, { + key: "_updateAmPmView", + value: function _updateAmPmView() { + if (this.options.twelveHour) { + this.$amBtn.toggleClass('text-primary', this.amOrPm === 'AM'); + this.$pmBtn.toggleClass('text-primary', this.amOrPm === 'PM'); + } + } + }, { + key: "_updateTimeFromInput", + value: function _updateTimeFromInput() { + // Get the time + var value = ((this.el.value || this.options.defaultTime || '') + '').split(':'); + if (this.options.twelveHour && !(typeof value[1] === 'undefined')) { + if (value[1].toUpperCase().indexOf('AM') > 0) { + this.amOrPm = 'AM'; + } else { + this.amOrPm = 'PM'; + } + value[1] = value[1].replace('AM', '').replace('PM', ''); + } + if (value[0] === 'now') { + var now = new Date(+new Date() + this.options.fromNow); + value = [now.getHours(), now.getMinutes()]; + if (this.options.twelveHour) { + this.amOrPm = value[0] >= 12 && value[0] < 24 ? 'PM' : 'AM'; + } + } + this.hours = +value[0] || 0; + this.minutes = +value[1] || 0; + this.spanHours.innerHTML = this.hours; + this.spanMinutes.innerHTML = Timepicker._addLeadingZero(this.minutes); + + this._updateAmPmView(); + } + }, { + key: "showView", + value: function showView(view, delay) { + if (view === 'minutes' && $(this.hoursView).css('visibility') === 'visible') { + // raiseCallback(this.options.beforeHourSelect); + } + var isHours = view === 'hours', + nextView = isHours ? this.hoursView : this.minutesView, + hideView = isHours ? this.minutesView : this.hoursView; + this.currentView = view; + + $(this.spanHours).toggleClass('text-primary', isHours); + $(this.spanMinutes).toggleClass('text-primary', !isHours); + + // Transition view + hideView.classList.add('timepicker-dial-out'); + $(nextView).css('visibility', 'visible').removeClass('timepicker-dial-out'); + + // Reset clock hand + this.resetClock(delay); + + // After transitions ended + clearTimeout(this.toggleViewTimer); + this.toggleViewTimer = setTimeout(function () { + $(hideView).css('visibility', 'hidden'); + }, this.options.duration); + } + }, { + key: "resetClock", + value: function resetClock(delay) { + var view = this.currentView, + value = this[view], + isHours = view === 'hours', + unit = Math.PI / (isHours ? 6 : 30), + radian = value * unit, + radius = isHours && value > 0 && value < 13 ? this.options.innerRadius : this.options.outerRadius, + x = Math.sin(radian) * radius, + y = -Math.cos(radian) * radius, + self = this; + + if (delay) { + $(this.canvas).addClass('timepicker-canvas-out'); + setTimeout(function () { + $(self.canvas).removeClass('timepicker-canvas-out'); + self.setHand(x, y); + }, delay); + } else { + this.setHand(x, y); + } + } + }, { + key: "setHand", + value: function setHand(x, y, roundBy5) { + var _this60 = this; + + var radian = Math.atan2(x, -y), + isHours = this.currentView === 'hours', + unit = Math.PI / (isHours || roundBy5 ? 6 : 30), + z = Math.sqrt(x * x + y * y), + inner = isHours && z < (this.options.outerRadius + this.options.innerRadius) / 2, + radius = inner ? this.options.innerRadius : this.options.outerRadius; + + if (this.options.twelveHour) { + radius = this.options.outerRadius; + } + + // Radian should in range [0, 2PI] + if (radian < 0) { + radian = Math.PI * 2 + radian; + } + + // Get the round value + var value = Math.round(radian / unit); + + // Get the round radian + radian = value * unit; + + // Correct the hours or minutes + if (this.options.twelveHour) { + if (isHours) { + if (value === 0) value = 12; + } else { + if (roundBy5) value *= 5; + if (value === 60) value = 0; + } + } else { + if (isHours) { + if (value === 12) { + value = 0; + } + value = inner ? value === 0 ? 12 : value : value === 0 ? 0 : value + 12; + } else { + if (roundBy5) { + value *= 5; + } + if (value === 60) { + value = 0; + } + } + } + + // Once hours or minutes changed, vibrate the device + if (this[this.currentView] !== value) { + if (this.vibrate && this.options.vibrate) { + // Do not vibrate too frequently + if (!this.vibrateTimer) { + navigator[this.vibrate](10); + this.vibrateTimer = setTimeout(function () { + _this60.vibrateTimer = null; + }, 100); + } + } + } + + this[this.currentView] = value; + if (isHours) { + this['spanHours'].innerHTML = value; + } else { + this['spanMinutes'].innerHTML = Timepicker._addLeadingZero(value); + } + + // Set clock hand and others' position + var cx1 = Math.sin(radian) * (radius - this.options.tickRadius), + cy1 = -Math.cos(radian) * (radius - this.options.tickRadius), + cx2 = Math.sin(radian) * radius, + cy2 = -Math.cos(radian) * radius; + this.hand.setAttribute('x2', cx1); + this.hand.setAttribute('y2', cy1); + this.bg.setAttribute('cx', cx2); + this.bg.setAttribute('cy', cy2); + } + }, { + key: "open", + value: function open() { + if (this.isOpen) { + return; + } + + this.isOpen = true; + this._updateTimeFromInput(); + this.showView('hours'); + + this.modal.open(); + } + }, { + key: "close", + value: function close() { + if (!this.isOpen) { + return; + } + + this.isOpen = false; + this.modal.close(); + } + + /** + * Finish timepicker selection. + */ + + }, { + key: "done", + value: function done(e, clearValue) { + // Set input value + var last = this.el.value; + var value = clearValue ? '' : Timepicker._addLeadingZero(this.hours) + ':' + Timepicker._addLeadingZero(this.minutes); + this.time = value; + if (!clearValue && this.options.twelveHour) { + value = value + " " + this.amOrPm; + } + this.el.value = value; + + // Trigger change event + if (value !== last) { + this.$el.trigger('change'); + } + + this.close(); + this.el.focus(); + } + }, { + key: "clear", + value: function clear() { + this.done(null, true); + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(Timepicker.__proto__ || Object.getPrototypeOf(Timepicker), "init", this).call(this, this, els, options); + } + }, { + key: "_addLeadingZero", + value: function _addLeadingZero(num) { + return (num < 10 ? '0' : '') + num; + } + }, { + key: "_createSVGEl", + value: function _createSVGEl(name) { + var svgNS = 'http://www.w3.org/2000/svg'; + return document.createElementNS(svgNS, name); + } + + /** + * @typedef {Object} Point + * @property {number} x The X Coordinate + * @property {number} y The Y Coordinate + */ + + /** + * Get x position of mouse or touch event + * @param {Event} e + * @return {Point} x and y location + */ + + }, { + key: "_Pos", + value: function _Pos(e) { + if (e.targetTouches && e.targetTouches.length >= 1) { + return { x: e.targetTouches[0].clientX, y: e.targetTouches[0].clientY }; + } + // mouse event + return { x: e.clientX, y: e.clientY }; + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_Timepicker; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return Timepicker; + }(Component); + + Timepicker._template = [''].join(''); + + M.Timepicker = Timepicker; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(Timepicker, 'timepicker', 'M_Timepicker'); + } +})(cash); +;(function ($) { + 'use strict'; + + var _defaults = {}; + + /** + * @class + * + */ + + var CharacterCounter = function (_Component17) { + _inherits(CharacterCounter, _Component17); + + /** + * Construct CharacterCounter instance + * @constructor + * @param {Element} el + * @param {Object} options + */ + function CharacterCounter(el, options) { + _classCallCheck(this, CharacterCounter); + + var _this61 = _possibleConstructorReturn(this, (CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter)).call(this, CharacterCounter, el, options)); + + _this61.el.M_CharacterCounter = _this61; + + /** + * Options for the character counter + */ + _this61.options = $.extend({}, CharacterCounter.defaults, options); + + _this61.isInvalid = false; + _this61.isValidLength = false; + _this61._setupCounter(); + _this61._setupEventHandlers(); + return _this61; + } + + _createClass(CharacterCounter, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this.el.CharacterCounter = undefined; + this._removeCounter(); + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + this._handleUpdateCounterBound = this.updateCounter.bind(this); + + this.el.addEventListener('focus', this._handleUpdateCounterBound, true); + this.el.addEventListener('input', this._handleUpdateCounterBound, true); + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + this.el.removeEventListener('focus', this._handleUpdateCounterBound, true); + this.el.removeEventListener('input', this._handleUpdateCounterBound, true); + } + + /** + * Setup counter element + */ + + }, { + key: "_setupCounter", + value: function _setupCounter() { + this.counterEl = document.createElement('span'); + $(this.counterEl).addClass('character-counter').css({ + float: 'right', + 'font-size': '12px', + height: 1 + }); + + this.$el.parent().append(this.counterEl); + } + + /** + * Remove counter element + */ + + }, { + key: "_removeCounter", + value: function _removeCounter() { + $(this.counterEl).remove(); + } + + /** + * Update counter + */ + + }, { + key: "updateCounter", + value: function updateCounter() { + var maxLength = +this.$el.attr('data-length'), + actualLength = this.el.value.length; + this.isValidLength = actualLength <= maxLength; + var counterString = actualLength; + + if (maxLength) { + counterString += '/' + maxLength; + this._validateInput(); + } + + $(this.counterEl).html(counterString); + } + + /** + * Add validation classes + */ + + }, { + key: "_validateInput", + value: function _validateInput() { + if (this.isValidLength && this.isInvalid) { + this.isInvalid = false; + this.$el.removeClass('invalid'); + } else if (!this.isValidLength && !this.isInvalid) { + this.isInvalid = true; + this.$el.removeClass('valid'); + this.$el.addClass('invalid'); + } + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter), "init", this).call(this, this, els, options); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_CharacterCounter; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return CharacterCounter; + }(Component); + + M.CharacterCounter = CharacterCounter; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(CharacterCounter, 'characterCounter', 'M_CharacterCounter'); + } +})(cash); +;(function ($) { + 'use strict'; + + var _defaults = { + duration: 200, // ms + dist: -100, // zoom scale TODO: make this more intuitive as an option + shift: 0, // spacing for center image + padding: 0, // Padding between non center items + numVisible: 5, // Number of visible items in carousel + fullWidth: false, // Change to full width styles + indicators: false, // Toggle indicators + noWrap: false, // Don't wrap around and cycle through items. + onCycleTo: null // Callback for when a new slide is cycled to. + }; + + /** + * @class + * + */ + + var Carousel = function (_Component18) { + _inherits(Carousel, _Component18); + + /** + * Construct Carousel instance + * @constructor + * @param {Element} el + * @param {Object} options + */ + function Carousel(el, options) { + _classCallCheck(this, Carousel); + + var _this62 = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, Carousel, el, options)); + + _this62.el.M_Carousel = _this62; + + /** + * Options for the carousel + * @member Carousel#options + * @prop {Number} duration + * @prop {Number} dist + * @prop {Number} shift + * @prop {Number} padding + * @prop {Number} numVisible + * @prop {Boolean} fullWidth + * @prop {Boolean} indicators + * @prop {Boolean} noWrap + * @prop {Function} onCycleTo + */ + _this62.options = $.extend({}, Carousel.defaults, options); + + // Setup + _this62.hasMultipleSlides = _this62.$el.find('.carousel-item').length > 1; + _this62.showIndicators = _this62.options.indicators && _this62.hasMultipleSlides; + _this62.noWrap = _this62.options.noWrap || !_this62.hasMultipleSlides; + _this62.pressed = false; + _this62.dragged = false; + _this62.offset = _this62.target = 0; + _this62.images = []; + _this62.itemWidth = _this62.$el.find('.carousel-item').first().innerWidth(); + _this62.itemHeight = _this62.$el.find('.carousel-item').first().innerHeight(); + _this62.dim = _this62.itemWidth * 2 + _this62.options.padding || 1; // Make sure dim is non zero for divisions. + _this62._autoScrollBound = _this62._autoScroll.bind(_this62); + _this62._trackBound = _this62._track.bind(_this62); + + // Full Width carousel setup + if (_this62.options.fullWidth) { + _this62.options.dist = 0; + _this62._setCarouselHeight(); + + // Offset fixed items when indicators. + if (_this62.showIndicators) { + _this62.$el.find('.carousel-fixed-item').addClass('with-indicators'); + } + } + + // Iterate through slides + _this62.$indicators = $('
    '); + _this62.$el.find('.carousel-item').each(function (el, i) { + _this62.images.push(el); + if (_this62.showIndicators) { + var $indicator = $('
  • '); + + // Add active to first by default. + if (i === 0) { + $indicator[0].classList.add('active'); + } + + _this62.$indicators.append($indicator); + } + }); + if (_this62.showIndicators) { + _this62.$el.append(_this62.$indicators); + } + _this62.count = _this62.images.length; + + // Cap numVisible at count + _this62.options.numVisible = Math.min(_this62.count, _this62.options.numVisible); + + // Setup cross browser string + _this62.xform = 'transform'; + ['webkit', 'Moz', 'O', 'ms'].every(function (prefix) { + var e = prefix + 'Transform'; + if (typeof document.body.style[e] !== 'undefined') { + _this62.xform = e; + return false; + } + return true; + }); + + _this62._setupEventHandlers(); + _this62._scroll(_this62.offset); + return _this62; + } + + _createClass(Carousel, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this.el.M_Carousel = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + var _this63 = 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); + + if (typeof window.ontouchstart !== 'undefined') { + 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); + + if (this.showIndicators && this.$indicators) { + this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this); + this.$indicators.find('.indicator-item').each(function (el, i) { + el.addEventListener('click', _this63._handleIndicatorClickBound); + }); + } + + // Resize + var throttledResize = M.throttle(this._handleResize, 200); + this._handleThrottledResizeBound = throttledResize.bind(this); + + window.addEventListener('resize', this._handleThrottledResizeBound); + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + var _this64 = this; + + if (typeof window.ontouchstart !== 'undefined') { + 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); + + if (this.showIndicators && this.$indicators) { + this.$indicators.find('.indicator-item').each(function (el, i) { + el.removeEventListener('click', _this64._handleIndicatorClickBound); + }); + } + + window.removeEventListener('resize', this._handleThrottledResizeBound); + } + + /** + * Handle Carousel Tap + * @param {Event} e + */ + + }, { + key: "_handleCarouselTap", + value: function _handleCarouselTap(e) { + // Fixes firefox draggable image bug + if (e.type === 'mousedown' && $(e.target).is('img')) { + e.preventDefault(); + } + this.pressed = true; + this.dragged = false; + this.verticalDragged = false; + this.reference = this._xpos(e); + this.referenceY = this._ypos(e); + + this.velocity = this.amplitude = 0; + this.frame = this.offset; + this.timestamp = Date.now(); + clearInterval(this.ticker); + this.ticker = setInterval(this._trackBound, 100); + } + + /** + * Handle Carousel Drag + * @param {Event} e + */ + + }, { + key: "_handleCarouselDrag", + value: function _handleCarouselDrag(e) { + var x = void 0, + y = void 0, + delta = void 0, + deltaY = void 0; + if (this.pressed) { + x = this._xpos(e); + y = this._ypos(e); + delta = this.reference - x; + deltaY = Math.abs(this.referenceY - y); + if (deltaY < 30 && !this.verticalDragged) { + // If vertical scrolling don't allow dragging. + if (delta > 2 || delta < -2) { + this.dragged = true; + this.reference = x; + this._scroll(this.offset + delta); + } + } else if (this.dragged) { + // If dragging don't allow vertical scroll. + e.preventDefault(); + e.stopPropagation(); + return false; + } else { + // Vertical scrolling. + this.verticalDragged = true; + } + } + + if (this.dragged) { + // If dragging don't allow vertical scroll. + e.preventDefault(); + e.stopPropagation(); + return false; + } + } + + /** + * Handle Carousel Release + * @param {Event} e + */ + + }, { + key: "_handleCarouselRelease", + value: function _handleCarouselRelease(e) { + if (this.pressed) { + this.pressed = false; + } else { + return; + } + + clearInterval(this.ticker); + this.target = this.offset; + if (this.velocity > 10 || this.velocity < -10) { + this.amplitude = 0.9 * this.velocity; + this.target = this.offset + this.amplitude; + } + this.target = Math.round(this.target / this.dim) * this.dim; + + // No wrap of items. + if (this.noWrap) { + if (this.target >= this.dim * (this.count - 1)) { + this.target = this.dim * (this.count - 1); + } else if (this.target < 0) { + this.target = 0; + } + } + this.amplitude = this.target - this.offset; + this.timestamp = Date.now(); + requestAnimationFrame(this._autoScrollBound); + + if (this.dragged) { + e.preventDefault(); + e.stopPropagation(); + } + return false; + } + + /** + * Handle Carousel CLick + * @param {Event} e + */ + + }, { + key: "_handleCarouselClick", + value: function _handleCarouselClick(e) { + // Disable clicks if carousel was dragged. + if (this.dragged) { + e.preventDefault(); + e.stopPropagation(); + return false; + } else if (!this.options.fullWidth) { + var clickedIndex = $(e.target).closest('.carousel-item').index(); + var diff = this._wrap(this.center) - clickedIndex; + + // Disable clicks if carousel was shifted by click + if (diff !== 0) { + e.preventDefault(); + e.stopPropagation(); + } + this._cycleTo(clickedIndex); + } + } + + /** + * Handle Indicator CLick + * @param {Event} e + */ + + }, { + key: "_handleIndicatorClick", + value: function _handleIndicatorClick(e) { + e.stopPropagation(); + + var indicator = $(e.target).closest('.indicator-item'); + if (indicator.length) { + this._cycleTo(indicator.index()); + } + } + + /** + * Handle Throttle Resize + * @param {Event} e + */ + + }, { + key: "_handleResize", + value: function _handleResize(e) { + if (this.options.fullWidth) { + this.itemWidth = this.$el.find('.carousel-item').first().innerWidth(); + this.imageHeight = this.$el.find('.carousel-item.active').height(); + this.dim = this.itemWidth * 2 + this.options.padding; + this.offset = this.center * 2 * this.itemWidth; + this.target = this.offset; + this._setCarouselHeight(true); + } else { + this._scroll(); + } + } + + /** + * Set carousel height based on first slide + * @param {Booleam} imageOnly - true for image slides + */ + + }, { + key: "_setCarouselHeight", + value: function _setCarouselHeight(imageOnly) { + var _this65 = this; + + var firstSlide = this.$el.find('.carousel-item.active').length ? this.$el.find('.carousel-item.active').first() : this.$el.find('.carousel-item').first(); + var firstImage = firstSlide.find('img').first(); + if (firstImage.length) { + if (firstImage[0].complete) { + // If image won't trigger the load event + var imageHeight = firstImage.height(); + if (imageHeight > 0) { + this.$el.css('height', imageHeight + 'px'); + } else { + // If image still has no height, use the natural dimensions to calculate + var naturalWidth = firstImage[0].naturalWidth; + var naturalHeight = firstImage[0].naturalHeight; + var adjustedHeight = this.$el.width() / naturalWidth * naturalHeight; + this.$el.css('height', adjustedHeight + 'px'); + } + } else { + // Get height when image is loaded normally + firstImage.one('load', function (el, i) { + _this65.$el.css('height', el.offsetHeight + 'px'); + }); + } + } else if (!imageOnly) { + var slideHeight = firstSlide.height(); + this.$el.css('height', slideHeight + 'px'); + } + } + + /** + * Get x position from event + * @param {Event} e + */ + + }, { + key: "_xpos", + value: function _xpos(e) { + // touch event + if (e.targetTouches && e.targetTouches.length >= 1) { + return e.targetTouches[0].clientX; + } + + // mouse event + return e.clientX; + } + + /** + * Get y position from event + * @param {Event} e + */ + + }, { + key: "_ypos", + value: function _ypos(e) { + // touch event + if (e.targetTouches && e.targetTouches.length >= 1) { + return e.targetTouches[0].clientY; + } + + // mouse event + return e.clientY; + } + + /** + * Wrap index + * @param {Number} x + */ + + }, { + key: "_wrap", + value: function _wrap(x) { + return x >= this.count ? x % this.count : x < 0 ? this._wrap(this.count + x % this.count) : x; + } + + /** + * Tracks scrolling information + */ + + }, { + key: "_track", + value: function _track() { + var now = void 0, + elapsed = void 0, + delta = void 0, + v = void 0; + + now = Date.now(); + elapsed = now - this.timestamp; + this.timestamp = now; + delta = this.offset - this.frame; + this.frame = this.offset; + + v = 1000 * delta / (1 + elapsed); + this.velocity = 0.8 * v + 0.2 * this.velocity; + } + + /** + * Auto scrolls to nearest carousel item. + */ + + }, { + key: "_autoScroll", + value: function _autoScroll() { + var elapsed = void 0, + delta = void 0; + + if (this.amplitude) { + elapsed = Date.now() - this.timestamp; + delta = this.amplitude * Math.exp(-elapsed / this.options.duration); + if (delta > 2 || delta < -2) { + this._scroll(this.target - delta); + requestAnimationFrame(this._autoScrollBound); + } else { + this._scroll(this.target); + } + } + } + + /** + * Scroll to target + * @param {Number} x + */ + + }, { + key: "_scroll", + value: function _scroll(x) { + var _this66 = this; + + // Track scrolling state + if (!this.$el.hasClass('scrolling')) { + this.el.classList.add('scrolling'); + } + if (this.scrollingTimeout != null) { + window.clearTimeout(this.scrollingTimeout); + } + this.scrollingTimeout = window.setTimeout(function () { + _this66.$el.removeClass('scrolling'); + }, this.options.duration); + + // Start actual scroll + var i = void 0, + half = void 0, + delta = void 0, + dir = void 0, + tween = void 0, + el = void 0, + alignment = void 0, + zTranslation = void 0, + tweenedOpacity = void 0, + centerTweenedOpacity = void 0; + var lastCenter = this.center; + var numVisibleOffset = 1 / this.options.numVisible; + + this.offset = typeof x === 'number' ? x : this.offset; + this.center = Math.floor((this.offset + this.dim / 2) / this.dim); + delta = this.offset - this.center * this.dim; + dir = delta < 0 ? 1 : -1; + tween = -dir * delta * 2 / this.dim; + half = this.count >> 1; + + if (this.options.fullWidth) { + alignment = 'translateX(0)'; + centerTweenedOpacity = 1; + } else { + alignment = 'translateX(' + (this.el.clientWidth - this.itemWidth) / 2 + 'px) '; + alignment += 'translateY(' + (this.el.clientHeight - this.itemHeight) / 2 + 'px)'; + centerTweenedOpacity = 1 - numVisibleOffset * tween; + } + + // Set indicator active + if (this.showIndicators) { + var diff = this.center % this.count; + var activeIndicator = this.$indicators.find('.indicator-item.active'); + if (activeIndicator.index() !== diff) { + activeIndicator.removeClass('active'); + this.$indicators.find('.indicator-item').eq(diff)[0].classList.add('active'); + } + } + + // center + // Don't show wrapped items. + if (!this.noWrap || this.center >= 0 && this.center < this.count) { + el = this.images[this._wrap(this.center)]; + + // Add active class to center item. + if (!$(el).hasClass('active')) { + this.$el.find('.carousel-item').removeClass('active'); + el.classList.add('active'); + } + var transformString = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween * i + "px) translateZ(" + this.options.dist * tween + "px)"; + this._updateItemStyle(el, centerTweenedOpacity, 0, transformString); + } + + for (i = 1; i <= half; ++i) { + // right side + if (this.options.fullWidth) { + zTranslation = this.options.dist; + tweenedOpacity = i === half && delta < 0 ? 1 - tween : 1; + } else { + zTranslation = this.options.dist * (i * 2 + tween * dir); + tweenedOpacity = 1 - numVisibleOffset * (i * 2 + tween * dir); + } + // Don't show wrapped items. + if (!this.noWrap || this.center + i < this.count) { + el = this.images[this._wrap(this.center + i)]; + var _transformString = alignment + " translateX(" + (this.options.shift + (this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)"; + this._updateItemStyle(el, tweenedOpacity, -i, _transformString); + } + + // left side + if (this.options.fullWidth) { + zTranslation = this.options.dist; + tweenedOpacity = i === half && delta > 0 ? 1 - tween : 1; + } else { + zTranslation = this.options.dist * (i * 2 - tween * dir); + tweenedOpacity = 1 - numVisibleOffset * (i * 2 - tween * dir); + } + // Don't show wrapped items. + if (!this.noWrap || this.center - i >= 0) { + el = this.images[this._wrap(this.center - i)]; + var _transformString2 = alignment + " translateX(" + (-this.options.shift + (-this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)"; + this._updateItemStyle(el, tweenedOpacity, -i, _transformString2); + } + } + + // center + // Don't show wrapped items. + if (!this.noWrap || this.center >= 0 && this.center < this.count) { + el = this.images[this._wrap(this.center)]; + var _transformString3 = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween + "px) translateZ(" + this.options.dist * tween + "px)"; + this._updateItemStyle(el, centerTweenedOpacity, 0, _transformString3); + } + + // onCycleTo callback + var $currItem = this.$el.find('.carousel-item').eq(this._wrap(this.center)); + if (lastCenter !== this.center && typeof this.options.onCycleTo === 'function') { + this.options.onCycleTo.call(this, $currItem[0], this.dragged); + } + + // One time callback + if (typeof this.oneTimeCallback === 'function') { + this.oneTimeCallback.call(this, $currItem[0], this.dragged); + this.oneTimeCallback = null; + } + } + + /** + * Cycle to target + * @param {Element} el + * @param {Number} opacity + * @param {Number} zIndex + * @param {String} transform + */ + + }, { + key: "_updateItemStyle", + value: function _updateItemStyle(el, opacity, zIndex, transform) { + el.style[this.xform] = transform; + el.style.zIndex = zIndex; + el.style.opacity = opacity; + el.style.visibility = 'visible'; + } + + /** + * Cycle to target + * @param {Number} n + * @param {Function} callback + */ + + }, { + key: "_cycleTo", + value: function _cycleTo(n, callback) { + var diff = this.center % this.count - n; + + // Account for wraparound. + if (!this.noWrap) { + if (diff < 0) { + if (Math.abs(diff + this.count) < Math.abs(diff)) { + diff += this.count; + } + } else if (diff > 0) { + if (Math.abs(diff - this.count) < diff) { + diff -= this.count; + } + } + } + + this.target = this.dim * Math.round(this.offset / this.dim); + // Next + if (diff < 0) { + this.target += this.dim * Math.abs(diff); + + // Prev + } else if (diff > 0) { + this.target -= this.dim * diff; + } + + // Set one time callback + if (typeof callback === 'function') { + this.oneTimeCallback = callback; + } + + // Scroll + if (this.offset !== this.target) { + this.amplitude = this.target - this.offset; + this.timestamp = Date.now(); + requestAnimationFrame(this._autoScrollBound); + } + } + + /** + * Cycle to next item + * @param {Number} [n] + */ + + }, { + key: "next", + value: function next(n) { + if (n === undefined || isNaN(n)) { + n = 1; + } + + var index = this.center + n; + if (index >= this.count || index < 0) { + if (this.noWrap) { + return; + } + + index = this._wrap(index); + } + this._cycleTo(index); + } + + /** + * Cycle to previous item + * @param {Number} [n] + */ + + }, { + key: "prev", + value: function prev(n) { + if (n === undefined || isNaN(n)) { + n = 1; + } + + var index = this.center - n; + if (index >= this.count || index < 0) { + if (this.noWrap) { + return; + } + + index = this._wrap(index); + } + + this._cycleTo(index); + } + + /** + * Cycle to nth item + * @param {Number} [n] + * @param {Function} callback + */ + + }, { + key: "set", + value: function set(n, callback) { + if (n === undefined || isNaN(n)) { + n = 0; + } + + if (n > this.count || n < 0) { + if (this.noWrap) { + return; + } + + n = this._wrap(n); + } + + this._cycleTo(n, callback); + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(Carousel.__proto__ || Object.getPrototypeOf(Carousel), "init", this).call(this, this, els, options); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_Carousel; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return Carousel; + }(Component); + + M.Carousel = Carousel; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(Carousel, 'carousel', 'M_Carousel'); + } +})(cash); +;(function ($) { + 'use strict'; + + var _defaults = { + onOpen: undefined, + onClose: undefined + }; + + /** + * @class + * + */ + + var TapTarget = function (_Component19) { + _inherits(TapTarget, _Component19); + + /** + * Construct TapTarget instance + * @constructor + * @param {Element} el + * @param {Object} options + */ + function TapTarget(el, options) { + _classCallCheck(this, TapTarget); + + var _this67 = _possibleConstructorReturn(this, (TapTarget.__proto__ || Object.getPrototypeOf(TapTarget)).call(this, TapTarget, el, options)); + + _this67.el.M_TapTarget = _this67; + + /** + * Options for the select + * @member TapTarget#options + * @prop {Function} onOpen - Callback function called when feature discovery is opened + * @prop {Function} onClose - Callback function called when feature discovery is closed + */ + _this67.options = $.extend({}, TapTarget.defaults, options); + + _this67.isOpen = false; + + // setup + _this67.$origin = $('#' + _this67.$el.attr('data-target')); + _this67._setup(); + + _this67._calculatePositioning(); + _this67._setupEventHandlers(); + return _this67; + } + + _createClass(TapTarget, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this.el.TapTarget = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + 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); + + // Resize + var throttledResize = M.throttle(this._handleResize, 200); + this._handleThrottledResizeBound = throttledResize.bind(this); + + window.addEventListener('resize', this._handleThrottledResizeBound); + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + this.el.removeEventListener('click', this._handleTargetClickBound); + this.originEl.removeEventListener('click', this._handleOriginClickBound); + window.removeEventListener('resize', this._handleThrottledResizeBound); + } + + /** + * Handle Target Click + * @param {Event} e + */ + + }, { + key: "_handleTargetClick", + value: function _handleTargetClick(e) { + this.open(); + } + + /** + * Handle Origin Click + * @param {Event} e + */ + + }, { + key: "_handleOriginClick", + value: function _handleOriginClick(e) { + this.close(); + } + + /** + * Handle Resize + * @param {Event} e + */ + + }, { + key: "_handleResize", + value: function _handleResize(e) { + this._calculatePositioning(); + } + + /** + * Handle Resize + * @param {Event} e + */ + + }, { + key: "_handleDocumentClick", + value: function _handleDocumentClick(e) { + if (!$(e.target).closest('.tap-target-wrapper').length) { + this.close(); + e.preventDefault(); + e.stopPropagation(); + } + } + + /** + * Setup Tap Target + */ + + }, { + key: "_setup", + value: function _setup() { + // Creating tap target + this.wrapper = this.$el.parent()[0]; + this.waveEl = $(this.wrapper).find('.tap-target-wave')[0]; + this.originEl = $(this.wrapper).find('.tap-target-origin')[0]; + this.contentEl = this.$el.find('.tap-target-content')[0]; + + // Creating wrapper + if (!$(this.wrapper).hasClass('.tap-target-wrapper')) { + this.wrapper = document.createElement('div'); + this.wrapper.classList.add('tap-target-wrapper'); + this.$el.before($(this.wrapper)); + this.wrapper.append(this.el); + } + + // Creating content + if (!this.contentEl) { + this.contentEl = document.createElement('div'); + this.contentEl.classList.add('tap-target-content'); + this.$el.append(this.contentEl); + } + + // Creating foreground wave + if (!this.waveEl) { + this.waveEl = document.createElement('div'); + this.waveEl.classList.add('tap-target-wave'); + + // Creating origin + if (!this.originEl) { + this.originEl = this.$origin.clone(true, true); + 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); + } + } + + /** + * Calculate positioning + */ + + }, { + key: "_calculatePositioning", + value: function _calculatePositioning() { + // Element or parent is fixed position? + var isFixed = this.$origin.css('position') === 'fixed'; + if (!isFixed) { + var parents = this.$origin.parents(); + for (var i = 0; i < parents.length; i++) { + isFixed = $(parents[i]).css('position') == 'fixed'; + if (isFixed) { + break; + } + } + } + + // Calculating origin + var originWidth = this.$origin.outerWidth(); + var originHeight = this.$origin.outerHeight(); + var originTop = isFixed ? this.$origin.offset().top - M.getDocumentScrollTop() : this.$origin.offset().top; + var originLeft = isFixed ? this.$origin.offset().left - M.getDocumentScrollLeft() : this.$origin.offset().left; + + // Calculating screen + var windowWidth = window.innerWidth; + var windowHeight = window.innerHeight; + var centerX = windowWidth / 2; + var centerY = windowHeight / 2; + var isLeft = originLeft <= centerX; + var isRight = originLeft > centerX; + var isTop = originTop <= centerY; + var isBottom = originTop > centerY; + var isCenterX = originLeft >= windowWidth * 0.25 && originLeft <= windowWidth * 0.75; + + // Calculating tap target + var tapTargetWidth = this.$el.outerWidth(); + var tapTargetHeight = this.$el.outerHeight(); + var tapTargetTop = originTop + originHeight / 2 - tapTargetHeight / 2; + var tapTargetLeft = originLeft + originWidth / 2 - tapTargetWidth / 2; + var tapTargetPosition = isFixed ? 'fixed' : 'absolute'; + + // Calculating content + var tapTargetTextWidth = isCenterX ? tapTargetWidth : tapTargetWidth / 2 + originWidth; + var tapTargetTextHeight = tapTargetHeight / 2; + var tapTargetTextTop = isTop ? tapTargetHeight / 2 : 0; + var tapTargetTextBottom = 0; + var tapTargetTextLeft = isLeft && !isCenterX ? tapTargetWidth / 2 - originWidth : 0; + var tapTargetTextRight = 0; + var tapTargetTextPadding = originWidth; + var tapTargetTextAlign = isBottom ? 'bottom' : 'top'; + + // Calculating wave + var tapTargetWaveWidth = originWidth > originHeight ? originWidth * 2 : originWidth * 2; + var tapTargetWaveHeight = tapTargetWaveWidth; + var tapTargetWaveTop = tapTargetHeight / 2 - tapTargetWaveHeight / 2; + var tapTargetWaveLeft = tapTargetWidth / 2 - tapTargetWaveWidth / 2; + + // Setting tap target + var tapTargetWrapperCssObj = {}; + tapTargetWrapperCssObj.top = isTop ? tapTargetTop + 'px' : ''; + tapTargetWrapperCssObj.right = isRight ? windowWidth - tapTargetLeft - tapTargetWidth + 'px' : ''; + tapTargetWrapperCssObj.bottom = isBottom ? windowHeight - tapTargetTop - tapTargetHeight + 'px' : ''; + tapTargetWrapperCssObj.left = isLeft ? tapTargetLeft + 'px' : ''; + tapTargetWrapperCssObj.position = tapTargetPosition; + $(this.wrapper).css(tapTargetWrapperCssObj); + + // Setting content + $(this.contentEl).css({ + width: tapTargetTextWidth + 'px', + height: tapTargetTextHeight + 'px', + top: tapTargetTextTop + 'px', + right: tapTargetTextRight + 'px', + bottom: tapTargetTextBottom + 'px', + left: tapTargetTextLeft + 'px', + padding: tapTargetTextPadding + 'px', + verticalAlign: tapTargetTextAlign + }); + + // Setting wave + $(this.waveEl).css({ + top: tapTargetWaveTop + 'px', + left: tapTargetWaveLeft + 'px', + width: tapTargetWaveWidth + 'px', + height: tapTargetWaveHeight + 'px' + }); + } + + /** + * Open TapTarget + */ + + }, { + key: "open", + value: function open() { + if (this.isOpen) { + return; + } + + // onOpen callback + if (typeof this.options.onOpen === 'function') { + this.options.onOpen.call(this, this.$origin[0]); + } + + this.isOpen = true; + this.wrapper.classList.add('open'); + + document.body.addEventListener('click', this._handleDocumentClickBound, true); + document.body.addEventListener('touchend', this._handleDocumentClickBound); + } + + /** + * Close Tap Target + */ + + }, { + key: "close", + value: function close() { + if (!this.isOpen) { + return; + } + + // onClose callback + if (typeof this.options.onClose === 'function') { + this.options.onClose.call(this, this.$origin[0]); + } + + this.isOpen = false; + this.wrapper.classList.remove('open'); + + document.body.removeEventListener('click', this._handleDocumentClickBound, true); + document.body.removeEventListener('touchend', this._handleDocumentClickBound); + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(TapTarget.__proto__ || Object.getPrototypeOf(TapTarget), "init", this).call(this, this, els, options); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_TapTarget; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return TapTarget; + }(Component); + + M.TapTarget = TapTarget; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(TapTarget, 'tapTarget', 'M_TapTarget'); + } +})(cash); +;(function ($) { + 'use strict'; + + var _defaults = { + classes: '', + dropdownOptions: {} + }; + + /** + * @class + * + */ + + var FormSelect = function (_Component20) { + _inherits(FormSelect, _Component20); + + /** + * Construct FormSelect instance + * @constructor + * @param {Element} el + * @param {Object} options + */ + function FormSelect(el, options) { + _classCallCheck(this, FormSelect); + + // Don't init if browser default version + var _this68 = _possibleConstructorReturn(this, (FormSelect.__proto__ || Object.getPrototypeOf(FormSelect)).call(this, FormSelect, el, options)); + + if (_this68.$el.hasClass('browser-default')) { + return _possibleConstructorReturn(_this68); + } + + _this68.el.M_FormSelect = _this68; + + /** + * Options for the select + * @member FormSelect#options + */ + _this68.options = $.extend({}, FormSelect.defaults, options); + + _this68.isMultiple = _this68.$el.prop('multiple'); + + // Setup + _this68.el.tabIndex = -1; + _this68._keysSelected = {}; + _this68._valueDict = {}; // Maps key to original and generated option element. + _this68._setupDropdown(); + + _this68._setupEventHandlers(); + return _this68; + } + + _createClass(FormSelect, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this._removeDropdown(); + this.el.M_FormSelect = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + var _this69 = this; + + this._handleSelectChangeBound = this._handleSelectChange.bind(this); + this._handleOptionClickBound = this._handleOptionClick.bind(this); + this._handleInputClickBound = this._handleInputClick.bind(this); + + $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) { + el.addEventListener('click', _this69._handleOptionClickBound); + }); + this.el.addEventListener('change', this._handleSelectChangeBound); + this.input.addEventListener('click', this._handleInputClickBound); + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + var _this70 = this; + + $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) { + el.removeEventListener('click', _this70._handleOptionClickBound); + }); + this.el.removeEventListener('change', this._handleSelectChangeBound); + this.input.removeEventListener('click', this._handleInputClickBound); + } + + /** + * Handle Select Change + * @param {Event} e + */ + + }, { + key: "_handleSelectChange", + value: function _handleSelectChange(e) { + this._setValueToInput(); + } + + /** + * Handle Option Click + * @param {Event} e + */ + + }, { + key: "_handleOptionClick", + value: function _handleOptionClick(e) { + e.preventDefault(); + var option = $(e.target).closest('li')[0]; + var key = option.id; + if (!$(option).hasClass('disabled') && !$(option).hasClass('optgroup') && key.length) { + var selected = true; + + if (this.isMultiple) { + // Deselect placeholder option if still selected. + var placeholderOption = $(this.dropdownOptions).find('li.disabled.selected'); + if (placeholderOption.length) { + placeholderOption.removeClass('selected'); + placeholderOption.find('input[type="checkbox"]').prop('checked', false); + this._toggleEntryFromArray(placeholderOption[0].id); + } + selected = this._toggleEntryFromArray(key); + } else { + $(this.dropdownOptions).find('li').removeClass('selected'); + $(option).toggleClass('selected', selected); + } + + // Set selected on original select option + // Only trigger if selected state changed + var prevSelected = $(this._valueDict[key].el).prop('selected'); + if (prevSelected !== selected) { + $(this._valueDict[key].el).prop('selected', selected); + this.$el.trigger('change'); + } + } + + e.stopPropagation(); + } + + /** + * Handle Input Click + */ + + }, { + key: "_handleInputClick", + value: function _handleInputClick() { + if (this.dropdown && this.dropdown.isOpen) { + this._setValueToInput(); + this._setSelectedStates(); + } + } + + /** + * Setup dropdown + */ + + }, { + key: "_setupDropdown", + value: function _setupDropdown() { + var _this71 = this; + + this.wrapper = document.createElement('div'); + $(this.wrapper).addClass('select-wrapper ' + this.options.classes); + this.$el.before($(this.wrapper)); + this.wrapper.appendChild(this.el); + + if (this.el.disabled) { + this.wrapper.classList.add('disabled'); + } + + // Create dropdown + this.$selectOptions = this.$el.children('option, optgroup'); + this.dropdownOptions = document.createElement('ul'); + this.dropdownOptions.id = "select-options-" + M.guid(); + $(this.dropdownOptions).addClass('dropdown-content select-dropdown ' + (this.isMultiple ? 'multiple-select-dropdown' : '')); + + // Create dropdown structure. + if (this.$selectOptions.length) { + this.$selectOptions.each(function (el) { + if ($(el).is('option')) { + // Direct descendant option. + var optionEl = void 0; + if (_this71.isMultiple) { + optionEl = _this71._appendOptionWithIcon(_this71.$el, el, 'multiple'); + } else { + optionEl = _this71._appendOptionWithIcon(_this71.$el, el); + } + + _this71._addOptionToValueDict(el, optionEl); + } else if ($(el).is('optgroup')) { + // Optgroup. + var selectOptions = $(el).children('option'); + $(_this71.dropdownOptions).append($('
  • ' + el.getAttribute('label') + '
  • ')[0]); + + selectOptions.each(function (el) { + var optionEl = _this71._appendOptionWithIcon(_this71.$el, el, 'optgroup-option'); + _this71._addOptionToValueDict(el, optionEl); + }); + } + }); + } + + this.$el.after(this.dropdownOptions); + + // Add input dropdown + this.input = document.createElement('input'); + $(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); + if (this.el.disabled) { + $(this.input).prop('disabled', 'true'); + } + + this.$el.before(this.input); + this._setValueToInput(); + + // Add caret + var dropdownIcon = $(''); + this.$el.before(dropdownIcon[0]); + + // Initialize dropdown + if (!this.el.disabled) { + var dropdownOptions = $.extend({}, this.options.dropdownOptions); + + // Add callback for centering selected option when dropdown content is scrollable + dropdownOptions.onOpenEnd = function (el) { + var selectedOption = $(_this71.dropdownOptions).find('.selected').first(); + + if (selectedOption.length) { + // Focus selected option in dropdown + M.keyDown = true; + _this71.dropdown.focusedIndex = selectedOption.index(); + _this71.dropdown._focusFocusedItem(); + M.keyDown = false; + + // Handle scrolling to selected option + if (_this71.dropdown.isScrollable) { + var scrollOffset = selectedOption[0].getBoundingClientRect().top - _this71.dropdownOptions.getBoundingClientRect().top; // scroll to selected option + scrollOffset -= _this71.dropdownOptions.clientHeight / 2; // center in dropdown + _this71.dropdownOptions.scrollTop = scrollOffset; + } + } + }; + + if (this.isMultiple) { + dropdownOptions.closeOnClick = false; + } + this.dropdown = M.Dropdown.init(this.input, dropdownOptions); + } + + // Add initial selections + this._setSelectedStates(); + } + + /** + * Add option to value dict + * @param {Element} el original option element + * @param {Element} optionEl generated option element + */ + + }, { + key: "_addOptionToValueDict", + value: function _addOptionToValueDict(el, optionEl) { + var index = Object.keys(this._valueDict).length; + var key = this.dropdownOptions.id + index; + var obj = {}; + optionEl.id = key; + + obj.el = el; + obj.optionEl = optionEl; + this._valueDict[key] = obj; + } + + /** + * Remove dropdown + */ + + }, { + key: "_removeDropdown", + value: function _removeDropdown() { + $(this.wrapper).find('.caret').remove(); + $(this.input).remove(); + $(this.dropdownOptions).remove(); + $(this.wrapper).before(this.$el); + $(this.wrapper).remove(); + } + + /** + * Setup dropdown + * @param {Element} select select element + * @param {Element} option option element from select + * @param {String} type + * @return {Element} option element added + */ + + }, { + key: "_appendOptionWithIcon", + value: function _appendOptionWithIcon(select, option, type) { + // Add disabled attr if disabled + var disabledClass = option.disabled ? 'disabled ' : ''; + var optgroupClass = type === 'optgroup-option' ? 'optgroup-option ' : ''; + var multipleCheckbox = this.isMultiple ? "" : option.innerHTML; + var liEl = $('
  • '); + var spanEl = $(''); + spanEl.html(multipleCheckbox); + liEl.addClass(disabledClass + " " + optgroupClass); + liEl.append(spanEl); + + // add icons + var iconUrl = option.getAttribute('data-icon'); + if (!!iconUrl) { + var imgEl = $("\"\""); + liEl.prepend(imgEl); + } + + // Check for multiple type. + $(this.dropdownOptions).append(liEl[0]); + return liEl[0]; + } + + /** + * Toggle entry from option + * @param {String} key Option key + * @return {Boolean} if entry was added or removed + */ + + }, { + key: "_toggleEntryFromArray", + value: function _toggleEntryFromArray(key) { + var notAdded = !this._keysSelected.hasOwnProperty(key); + var $optionLi = $(this._valueDict[key].optionEl); + + if (notAdded) { + this._keysSelected[key] = true; + } else { + delete this._keysSelected[key]; + } + + $optionLi.toggleClass('selected', notAdded); + + // Set checkbox checked value + $optionLi.find('input[type="checkbox"]').prop('checked', notAdded); + + // use notAdded instead of true (to detect if the option is selected or not) + $optionLi.prop('selected', notAdded); + + return notAdded; + } + + /** + * Set text value to input + */ + + }, { + key: "_setValueToInput", + value: function _setValueToInput() { + var values = []; + var options = this.$el.find('option'); + + options.each(function (el) { + if ($(el).prop('selected')) { + var text = $(el).text(); + values.push(text); + } + }); + + if (!values.length) { + var firstDisabled = this.$el.find('option:disabled').eq(0); + if (firstDisabled.length && firstDisabled[0].value === '') { + values.push(firstDisabled.text()); + } + } + + this.input.value = values.join(', '); + } + + /** + * Set selected state of dropdown to match actual select element + */ + + }, { + key: "_setSelectedStates", + value: function _setSelectedStates() { + this._keysSelected = {}; + + for (var key in this._valueDict) { + var option = this._valueDict[key]; + var optionIsSelected = $(option.el).prop('selected'); + $(option.optionEl).find('input[type="checkbox"]').prop('checked', optionIsSelected); + if (optionIsSelected) { + this._activateOption($(this.dropdownOptions), $(option.optionEl)); + this._keysSelected[key] = true; + } else { + $(option.optionEl).removeClass('selected'); + } + } + } + + /** + * Make option as selected and scroll to selected position + * @param {jQuery} collection Select options jQuery element + * @param {Element} newOption element of the new option + */ + + }, { + key: "_activateOption", + value: function _activateOption(collection, newOption) { + if (newOption) { + if (!this.isMultiple) { + collection.find('li.selected').removeClass('selected'); + } + var option = $(newOption); + option.addClass('selected'); + } + } + + /** + * Get Selected Values + * @return {Array} Array of selected values + */ + + }, { + key: "getSelectedValues", + value: function getSelectedValues() { + var selectedValues = []; + for (var key in this._keysSelected) { + selectedValues.push(this._valueDict[key].el.value); + } + return selectedValues; + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(FormSelect.__proto__ || Object.getPrototypeOf(FormSelect), "init", this).call(this, this, els, options); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_FormSelect; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return FormSelect; + }(Component); + + M.FormSelect = FormSelect; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(FormSelect, 'formSelect', 'M_FormSelect'); + } +})(cash); +;(function ($, anim) { + 'use strict'; + + var _defaults = {}; + + /** + * @class + * + */ + + var Range = function (_Component21) { + _inherits(Range, _Component21); + + /** + * Construct Range instance + * @constructor + * @param {Element} el + * @param {Object} options + */ + function Range(el, options) { + _classCallCheck(this, Range); + + var _this72 = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, Range, el, options)); + + _this72.el.M_Range = _this72; + + /** + * Options for the range + * @member Range#options + */ + _this72.options = $.extend({}, Range.defaults, options); + + _this72._mousedown = false; + + // Setup + _this72._setupThumb(); + + _this72._setupEventHandlers(); + return _this72; + } + + _createClass(Range, [{ + key: "destroy", + + + /** + * Teardown component + */ + value: function destroy() { + this._removeEventHandlers(); + this._removeThumb(); + this.el.M_Range = undefined; + } + + /** + * Setup Event Handlers + */ + + }, { + key: "_setupEventHandlers", + value: function _setupEventHandlers() { + 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); + } + + /** + * Remove Event Handlers + */ + + }, { + key: "_removeEventHandlers", + value: function _removeEventHandlers() { + 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); + } + + /** + * Handle Range Change + * @param {Event} e + */ + + }, { + key: "_handleRangeChange", + value: function _handleRangeChange() { + $(this.value).html(this.$el.val()); + + if (!$(this.thumb).hasClass('active')) { + this._showRangeBubble(); + } + + var offsetLeft = this._calcRangeOffset(); + $(this.thumb).addClass('active').css('left', offsetLeft + 'px'); + } + + /** + * Handle Range Mousedown and Touchstart + * @param {Event} e + */ + + }, { + key: "_handleRangeMousedownTouchstart", + value: function _handleRangeMousedownTouchstart(e) { + // Set indicator value + $(this.value).html(this.$el.val()); + + this._mousedown = true; + this.$el.addClass('active'); + + if (!$(this.thumb).hasClass('active')) { + this._showRangeBubble(); + } + + if (e.type !== 'input') { + var offsetLeft = this._calcRangeOffset(); + $(this.thumb).addClass('active').css('left', offsetLeft + 'px'); + } + } + + /** + * Handle Range Input, Mousemove and Touchmove + */ + + }, { + key: "_handleRangeInputMousemoveTouchmove", + value: function _handleRangeInputMousemoveTouchmove() { + if (this._mousedown) { + if (!$(this.thumb).hasClass('active')) { + this._showRangeBubble(); + } + + var offsetLeft = this._calcRangeOffset(); + $(this.thumb).addClass('active').css('left', offsetLeft + 'px'); + $(this.value).html(this.$el.val()); + } + } + + /** + * Handle Range Mouseup and Touchend + */ + + }, { + key: "_handleRangeMouseupTouchend", + value: function _handleRangeMouseupTouchend() { + this._mousedown = false; + this.$el.removeClass('active'); + } + + /** + * Handle Range Blur, Mouseout and Touchleave + */ + + }, { + key: "_handleRangeBlurMouseoutTouchleave", + value: function _handleRangeBlurMouseoutTouchleave() { + if (!this._mousedown) { + var paddingLeft = parseInt(this.$el.css('padding-left')); + var marginLeft = 7 + paddingLeft + 'px'; + + if ($(this.thumb).hasClass('active')) { + anim.remove(this.thumb); + anim({ + targets: this.thumb, + height: 0, + width: 0, + top: 10, + easing: 'easeOutQuad', + marginLeft: marginLeft, + duration: 100 + }); + } + $(this.thumb).removeClass('active'); + } + } + + /** + * Setup dropdown + */ + + }, { + key: "_setupThumb", + value: function _setupThumb() { + this.thumb = document.createElement('span'); + this.value = document.createElement('span'); + $(this.thumb).addClass('thumb'); + $(this.value).addClass('value'); + $(this.thumb).append(this.value); + this.$el.after(this.thumb); + } + + /** + * Remove dropdown + */ + + }, { + key: "_removeThumb", + value: function _removeThumb() { + $(this.thumb).remove(); + } + + /** + * morph thumb into bubble + */ + + }, { + key: "_showRangeBubble", + value: function _showRangeBubble() { + var paddingLeft = parseInt($(this.thumb).parent().css('padding-left')); + var marginLeft = -7 + paddingLeft + 'px'; // TODO: fix magic number? + anim.remove(this.thumb); + anim({ + targets: this.thumb, + height: 30, + width: 30, + top: -30, + marginLeft: marginLeft, + duration: 300, + easing: 'easeOutQuint' + }); + } + + /** + * Calculate the offset of the thumb + * @return {Number} offset in pixels + */ + + }, { + key: "_calcRangeOffset", + value: function _calcRangeOffset() { + var width = this.$el.width() - 15; + var max = parseFloat(this.$el.attr('max')) || 100; // Range default max + var min = parseFloat(this.$el.attr('min')) || 0; // Range default min + var percent = (parseFloat(this.$el.val()) - min) / (max - min); + return percent * width; + } + }], [{ + key: "init", + value: function init(els, options) { + return _get(Range.__proto__ || Object.getPrototypeOf(Range), "init", this).call(this, this, els, options); + } + + /** + * Get Instance + */ + + }, { + key: "getInstance", + value: function getInstance(el) { + var domElem = !!el.jquery ? el[0] : el; + return domElem.M_Range; + } + }, { + key: "defaults", + get: function () { + return _defaults; + } + }]); + + return Range; + }(Component); + + M.Range = Range; + + if (M.jQueryLoaded) { + M.initializeJqueryWrapper(Range, 'range', 'M_Range'); + } + + Range.init($('input[type=range]')); +})(cash, M.anime); diff --git a/themes/Leanda/login/resources/js/materialize.min.js b/themes/Leanda/login/resources/js/materialize.min.js new file mode 100644 index 0000000..7d80c93 --- /dev/null +++ b/themes/Leanda/login/resources/js/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/themes/Leanda/login/template.ftl b/themes/Leanda/login/template.ftl new file mode 100644 index 0000000..c26a505 --- /dev/null +++ b/themes/Leanda/login/template.ftl @@ -0,0 +1,89 @@ +<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true> + + + + + + + + + <#if properties.meta?has_content> + <#list properties.meta?split(' ') as meta> + + + + <#nested "title"> + + <#if properties.styles?has_content> + <#list properties.styles?split(' ') as style> + + + + <#if properties.scripts?has_content> + <#list properties.scripts?split(' ') as script> + + + + <#if scripts??> + <#list scripts as script> + + + + + + +
    +
    + + + diff --git a/themes/Leanda/login/terms.ftl b/themes/Leanda/login/terms.ftl new file mode 100644 index 0000000..6762081 --- /dev/null +++ b/themes/Leanda/login/terms.ftl @@ -0,0 +1,16 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout displayMessage=false; section> + <#if section = "title"> + ${msg("termsTitle")} + <#elseif section = "header"> + ${msg("termsTitleHtml")} + <#elseif section = "form"> +
    + ${msg("termsText")?no_esc} +
    +
    + + +
    + + \ No newline at end of file diff --git a/themes/Leanda/login/theme.properties b/themes/Leanda/login/theme.properties new file mode 100644 index 0000000..df30c60 --- /dev/null +++ b/themes/Leanda/login/theme.properties @@ -0,0 +1,7 @@ +styles=css/materialize.min.css css/login.css +scripts=js/materialize.min.js +locales=ca,de,en,es,fr,it,ja,lt,nl,no,pt-BR,ru,sv,zh-CN + +kcLoginText=Leanda +kcFormAreaWrapperClass=valign-wrapper +kcFeedbackAreaClass=row red-text center-align \ No newline at end of file From 22f087170a12414353380b514aad18246ddc2b08 Mon Sep 17 00:00:00 2001 From: Rick Zakharov Date: Sat, 9 Nov 2019 11:09:13 -0500 Subject: [PATCH 2/2] Added Leanda realm and theme --- themes/OSDR/login/theme.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/OSDR/login/theme.properties b/themes/OSDR/login/theme.properties index df30c60..a992919 100644 --- a/themes/OSDR/login/theme.properties +++ b/themes/OSDR/login/theme.properties @@ -2,6 +2,6 @@ styles=css/materialize.min.css css/login.css scripts=js/materialize.min.js locales=ca,de,en,es,fr,it,ja,lt,nl,no,pt-BR,ru,sv,zh-CN -kcLoginText=Leanda +kcLoginText=Open Science Data Repository kcFormAreaWrapperClass=valign-wrapper kcFeedbackAreaClass=row red-text center-align \ No newline at end of file
    +
    + + <#if realm.internationalizationEnabled> +
    +
    +
    + ${locale.current} +
      + <#list locale.supported as l> +
    • ${l.label}
    • + +
    +
    +
    +
    + + +
    +
    + +
    +
    +
    + <#nested "form"> + <#if displayMessage && message?has_content> +
    +
    + <#if message.type = 'success'> + <#if message.type = 'warning'> + <#if message.type = 'error'> + <#if message.type = 'info'> + +
    +
    + +
    +
    +
    + + <#if displayInfo> +
    +
    + <#nested "info"> +
    +
    + +
    +
    +
    +