diff --git a/apps/web/.eslintrc.cjs b/apps/web/.eslintrc.cjs index 380e3e1..e134d78 100644 --- a/apps/web/.eslintrc.cjs +++ b/apps/web/.eslintrc.cjs @@ -7,7 +7,7 @@ module.exports = { parserOptions: { sourceType: 'module', ecmaVersion: 2020, - extraFileExtensions: ['**/*.svelte', '.svelte ', '**/*.svelte.ts', '*.svelte.ts', '**/*.svelte.js', '*.svelte.js'], + extraFileExtensions: ['**/*.svelte', '.svelte ', '**/*.svelte.ts', '*.svelte.ts', '**/*.svelte.js', '*.svelte.js', '*.js'], }, env: { browser: true, diff --git a/apps/web/package.json b/apps/web/package.json index 809630f..63c68aa 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -20,6 +20,8 @@ "@tailwindcss/forms": "^0.5.9", "@tailwindcss/typography": "^0.5.10", "@types/eslint": "8.56.0", + "@types/gtag.js": "^0.0.20", + "@types/materialize-css": "^1.0.14", "autoprefixer": "^10.4.16", "eslint-plugin-svelte": "^2.46.0", "postcss": "^8.4.32", @@ -40,11 +42,14 @@ "@algolia/autocomplete-js": "^1.17.6", "@algolia/autocomplete-theme-classic": "^1.17.6", "@fontsource/inter": "^5.0.16", + "@fontsource/material-icons": "^5.1.0", "@fontsource/open-sans": "^5.0.22", + "@fontsource/roboto": "^5.1.0", "algoliasearch": "^5.15.0", "chart.js": "^4.4.5", "instantsearch.js": "^4.75.5", "isomorphic-dompurify": "^2.16.0", + "materialize-css": "^1.0.0", "svelte-copy": "^2.0.0", "svelte-french-toast": "^1.2.0", "svelte-heros-v2": "^1.3.0", diff --git a/apps/web/src/lib/assets/legacy/css/main.css b/apps/web/src/lib/assets/legacy/css/main.css new file mode 100644 index 0000000..efec440 --- /dev/null +++ b/apps/web/src/lib/assets/legacy/css/main.css @@ -0,0 +1,11332 @@ +/**************************** +Override Materialize variables +*****************************/ +.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, +.profile-content .section-refinements .ais-RangeSlider .materialize-red.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.materialize-red-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.materialize-red-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .red.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.red-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.red-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .pink.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.pink-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.pink-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .purple.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.purple-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.purple-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .deep-purple.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.deep-purple-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.deep-purple-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .indigo.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.indigo-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.indigo-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .blue.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.blue-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.blue-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .light-blue.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.light-blue-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.light-blue-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .cyan.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.cyan-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.cyan-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .teal.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.teal-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.teal-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .green.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.green-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.green-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .light-green.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.light-green-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.light-green-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .lime.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.lime-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.lime-text.title-more { + 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, +.toast .toast-intro { + color: #ffeb3b !important; +} + +.yellow.lighten-5 { + background-color: #fffde7 !important; +} + +.yellow-text.text-lighten-5, +.toast .text-lighten-5.toast-intro { + color: #fffde7 !important; +} + +.yellow.lighten-4 { + background-color: #fff9c4 !important; +} + +.yellow-text.text-lighten-4, +.toast .text-lighten-4.toast-intro { + color: #fff9c4 !important; +} + +.yellow.lighten-3, +.profile-content .section-refinements .ais-RangeSlider .yellow.rheostat-progress { + background-color: #fff59d !important; +} + +.yellow-text.text-lighten-3, +.toast .text-lighten-3.toast-intro { + color: #fff59d !important; +} + +.yellow.lighten-2 { + background-color: #fff176 !important; +} + +.yellow-text.text-lighten-2, +.toast .text-lighten-2.toast-intro { + color: #fff176 !important; +} + +.yellow.lighten-1 { + background-color: #ffee58 !important; +} + +.yellow-text.text-lighten-1, +.toast .text-lighten-1.toast-intro { + color: #ffee58 !important; +} + +.yellow.darken-1 { + background-color: #fdd835 !important; +} + +.yellow-text.text-darken-1, +.toast .text-darken-1.toast-intro { + color: #fdd835 !important; +} + +.yellow.darken-2 { + background-color: #fbc02d !important; +} + +.yellow-text.text-darken-2, +.toast .text-darken-2.toast-intro { + color: #fbc02d !important; +} + +.yellow.darken-3 { + background-color: #f9a825 !important; +} + +.yellow-text.text-darken-3, +.toast .text-darken-3.toast-intro, +.toast nav.navbar-profile-index.affix .collection-item.avatar span.toast-intro.title, +nav.navbar-profile-index.affix .collection-item.avatar .toast span.toast-intro.title, +.toast nav.navbar-profile-index.affix .collection-item.avatar p.toast-intro.title-more, +nav.navbar-profile-index.affix .collection-item.avatar .toast p.toast-intro.title-more, +nav.navbar-profile-index.affix .collection-item.avatar span.yellow-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.yellow-text.title-more { + color: #f9a825 !important; +} + +.yellow.darken-4 { + background-color: #f57f17 !important; +} + +.yellow-text.text-darken-4, +.toast .text-darken-4.toast-intro { + color: #f57f17 !important; +} + +.yellow.accent-1 { + background-color: #ffff8d !important; +} + +.yellow-text.text-accent-1, +.toast .text-accent-1.toast-intro { + color: #ffff8d !important; +} + +.yellow.accent-2 { + background-color: #ffff00 !important; +} + +.yellow-text.text-accent-2, +.toast .text-accent-2.toast-intro { + color: #ffff00 !important; +} + +.yellow.accent-3 { + background-color: #ffea00 !important; +} + +.yellow-text.text-accent-3, +.toast .text-accent-3.toast-intro { + color: #ffea00 !important; +} + +.yellow.accent-4 { + background-color: #ffd600 !important; +} + +.yellow-text.text-accent-4, +.toast .text-accent-4.toast-intro { + 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, +.profile-content .section-refinements .ais-RangeSlider .amber.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.amber-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.amber-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .orange.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.orange-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.orange-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .deep-orange.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.deep-orange-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.deep-orange-text.title-more { + 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, +.profile-content .section-refinements .ais-RangeSlider .brown.rheostat-progress { + 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, +nav.navbar-profile-index.affix .collection-item.avatar span.brown-text.title, +nav.navbar-profile-index.affix .collection-item.avatar p.brown-text.title-more { + 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, +.pointer:hover, +.profile-content .section-refinements .ais-RefinementList-item:hover, +.saved-profiles .collection-item .secondary-content, +.saved-profiles .collection-item i.material-icons, +footer .row-footer-primary-nav p a:hover, +footer .text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a:hover, +ul#mobile-nav.nav-primary.sidenav li footer a:hover, +footer ul#navbar-more.dropdown-content li a:hover, +ul#navbar-more.dropdown-content li footer a:hover, +footer ul li a:hover { + color: #607d8b !important; +} + +.blue-grey.lighten-5 { + background-color: #eceff1 !important; +} + +.blue-grey-text.text-lighten-5, +.text-lighten-5.pointer:hover, +.profile-content .section-refinements .text-lighten-5.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-lighten-5.secondary-content, +.saved-profiles .collection-item i.text-lighten-5.material-icons, +footer .row-footer-primary-nav p a.text-lighten-5:hover, +footer .text-lighten-5.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-lighten-5:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-lighten-5:hover, +footer ul#navbar-more.dropdown-content li a.text-lighten-5:hover, +ul#navbar-more.dropdown-content li footer a.text-lighten-5:hover, +footer ul li a.text-lighten-5:hover { + color: #eceff1 !important; +} + +.blue-grey.lighten-4 { + background-color: #cfd8dc !important; +} + +.blue-grey-text.text-lighten-4, +.text-lighten-4.pointer:hover, +.profile-content .section-refinements .text-lighten-4.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-lighten-4.secondary-content, +.saved-profiles .collection-item i.text-lighten-4.material-icons, +footer .row-footer-primary-nav p a.text-lighten-4:hover, +footer .text-lighten-4.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-lighten-4:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-lighten-4:hover, +footer ul#navbar-more.dropdown-content li a.text-lighten-4:hover, +ul#navbar-more.dropdown-content li footer a.text-lighten-4:hover, +footer ul li a.text-lighten-4:hover { + color: #cfd8dc !important; +} + +.blue-grey.lighten-3, +.profile-content .section-refinements .ais-RangeSlider .blue-grey.rheostat-progress { + background-color: #b0bec5 !important; +} + +.blue-grey-text.text-lighten-3, +.text-lighten-3.pointer:hover, +.profile-content .section-refinements .text-lighten-3.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-lighten-3.secondary-content, +.saved-profiles .collection-item i.text-lighten-3.material-icons, +footer .row-footer-primary-nav p a.text-lighten-3:hover, +footer .text-lighten-3.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-lighten-3:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-lighten-3:hover, +footer ul#navbar-more.dropdown-content li a.text-lighten-3:hover, +ul#navbar-more.dropdown-content li footer a.text-lighten-3:hover, +footer ul li a.text-lighten-3:hover { + color: #b0bec5 !important; +} + +.blue-grey.lighten-2 { + background-color: #90a4ae !important; +} + +.blue-grey-text.text-lighten-2, +.text-lighten-2.pointer:hover, +.profile-content .section-refinements .text-lighten-2.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-lighten-2.secondary-content, +.saved-profiles .collection-item i.text-lighten-2.material-icons, +footer .row-footer-primary-nav p a.text-lighten-2:hover, +footer .text-lighten-2.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-lighten-2:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-lighten-2:hover, +footer ul#navbar-more.dropdown-content li a.text-lighten-2:hover, +ul#navbar-more.dropdown-content li footer a.text-lighten-2:hover, +footer ul li a.text-lighten-2:hover { + color: #90a4ae !important; +} + +.blue-grey.lighten-1 { + background-color: #78909c !important; +} + +.blue-grey-text.text-lighten-1, +.text-lighten-1.pointer:hover, +.profile-content .section-refinements .text-lighten-1.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-lighten-1.secondary-content, +.saved-profiles .collection-item i.text-lighten-1.material-icons, +footer .row-footer-primary-nav p a.text-lighten-1:hover, +footer .text-lighten-1.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-lighten-1:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-lighten-1:hover, +footer ul#navbar-more.dropdown-content li a.text-lighten-1:hover, +ul#navbar-more.dropdown-content li footer a.text-lighten-1:hover, +footer ul li a.text-lighten-1:hover { + color: #78909c !important; +} + +.blue-grey.darken-1 { + background-color: #546e7a !important; +} + +.blue-grey-text.text-darken-1, +.text-darken-1.pointer:hover, +.profile-content .section-refinements .text-darken-1.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-darken-1.secondary-content, +.saved-profiles .collection-item i.text-darken-1.material-icons, +footer .row-footer-primary-nav p a.text-darken-1:hover, +footer .text-darken-1.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-darken-1:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-darken-1:hover, +footer ul#navbar-more.dropdown-content li a.text-darken-1:hover, +ul#navbar-more.dropdown-content li footer a.text-darken-1:hover, +footer ul li a.text-darken-1:hover { + color: #546e7a !important; +} + +.blue-grey.darken-2 { + background-color: #455a64 !important; +} + +.blue-grey-text.text-darken-2, +.text-darken-2.pointer:hover, +.profile-content .section-refinements .text-darken-2.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-darken-2.secondary-content, +.saved-profiles .collection-item i.text-darken-2.material-icons, +footer .row-footer-primary-nav p a.text-darken-2:hover, +footer .text-darken-2.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-darken-2:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-darken-2:hover, +footer ul#navbar-more.dropdown-content li a.text-darken-2:hover, +ul#navbar-more.dropdown-content li footer a.text-darken-2:hover, +footer ul li a.text-darken-2:hover { + color: #455a64 !important; +} + +.blue-grey.darken-3 { + background-color: #37474f !important; +} + +.blue-grey-text.text-darken-3, +.text-darken-3.pointer:hover, +nav.navbar-profile-index.affix .collection-item.avatar span.pointer.title:hover, +nav.navbar-profile-index.affix .collection-item.avatar p.pointer.title-more:hover, +nav.navbar-profile-index.affix .collection-item.avatar span.blue-grey-text.title, +nav.navbar-profile-index.affix .collection-item.avatar .profile-content .section-refinements span.title.ais-RefinementList-item:hover, +.profile-content .section-refinements nav.navbar-profile-index.affix .collection-item.avatar span.title.ais-RefinementList-item:hover, +nav.navbar-profile-index.affix .saved-profiles .collection-item.avatar span.title.secondary-content, +.saved-profiles nav.navbar-profile-index.affix .collection-item.avatar span.title.secondary-content, +nav.navbar-profile-index.affix .collection-item.avatar footer span.title.text-default:hover, +footer nav.navbar-profile-index.affix .collection-item.avatar span.title.text-default:hover, +nav.navbar-profile-index.affix .collection-item.avatar p.blue-grey-text.title-more, +nav.navbar-profile-index.affix .collection-item.avatar .profile-content .section-refinements p.title-more.ais-RefinementList-item:hover, +.profile-content .section-refinements nav.navbar-profile-index.affix .collection-item.avatar p.title-more.ais-RefinementList-item:hover, +nav.navbar-profile-index.affix .saved-profiles .collection-item.avatar p.title-more.secondary-content, +.saved-profiles nav.navbar-profile-index.affix .collection-item.avatar p.title-more.secondary-content, +nav.navbar-profile-index.affix .collection-item.avatar footer p.title-more.text-default:hover, +footer nav.navbar-profile-index.affix .collection-item.avatar p.title-more.text-default:hover, +.profile-content .section-refinements .text-darken-3.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-darken-3.secondary-content, +.saved-profiles .collection-item i.text-darken-3.material-icons, +footer .row-footer-primary-nav p a.text-darken-3:hover, +footer .text-darken-3.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-darken-3:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-darken-3:hover, +footer ul#navbar-more.dropdown-content li a.text-darken-3:hover, +ul#navbar-more.dropdown-content li footer a.text-darken-3:hover, +footer ul li a.text-darken-3:hover { + color: #37474f !important; +} + +.blue-grey.darken-4 { + background-color: #263238 !important; +} + +.blue-grey-text.text-darken-4, +.text-darken-4.pointer:hover, +.profile-content .section-refinements .text-darken-4.ais-RefinementList-item:hover, +.saved-profiles .collection-item .text-darken-4.secondary-content, +.saved-profiles .collection-item i.text-darken-4.material-icons, +footer .row-footer-primary-nav p a.text-darken-4:hover, +footer .text-darken-4.text-default:hover, +footer ul#mobile-nav.nav-primary.sidenav li a.text-darken-4:hover, +ul#mobile-nav.nav-primary.sidenav li footer a.text-darken-4:hover, +footer ul#navbar-more.dropdown-content li a.text-darken-4:hover, +ul#navbar-more.dropdown-content li footer a.text-darken-4:hover, +footer ul li a.text-darken-4:hover { + color: #263238 !important; +} + +.grey, +.profile-content .section-refinements .ais-RangeSlider .rheostat-progress { + background-color: #9e9e9e !important; +} + +.grey-text, +nav.navbar-profile-index.affix .collection-item.avatar span.title, +nav.navbar-profile-index.affix .collection-item.avatar p.title-more { + color: #9e9e9e !important; +} + +.grey.lighten-5, +.profile-content .section-refinements .ais-RangeSlider .lighten-5.rheostat-progress { + background-color: #fafafa !important; +} + +.grey-text.text-lighten-5, +nav.navbar-profile-index.affix .collection-item.avatar span.text-lighten-5.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-lighten-5.title-more { + color: #fafafa !important; +} + +.grey.lighten-4, +.profile-content .section-refinements .ais-RangeSlider .lighten-4.rheostat-progress { + background-color: #f5f5f5 !important; +} + +.grey-text.text-lighten-4, +nav.navbar-profile-index.affix .collection-item.avatar span.text-lighten-4.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-lighten-4.title-more { + color: #f5f5f5 !important; +} + +.grey.lighten-3, +.profile-content .section-refinements .ais-RangeSlider .rheostat-progress { + background-color: #eeeeee !important; +} + +.grey-text.text-lighten-3, +nav.navbar-profile-index.affix .collection-item.avatar span.text-lighten-3.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-lighten-3.title-more { + color: #eeeeee !important; +} + +.grey.lighten-2, +.profile-content .section-refinements .ais-RangeSlider .lighten-2.rheostat-progress { + background-color: #e0e0e0 !important; +} + +.grey-text.text-lighten-2, +nav.navbar-profile-index.affix .collection-item.avatar span.text-lighten-2.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-lighten-2.title-more { + color: #e0e0e0 !important; +} + +.grey.lighten-1, +.profile-content .section-refinements .ais-RangeSlider .lighten-1.rheostat-progress { + background-color: #bdbdbd !important; +} + +.grey-text.text-lighten-1, +nav.navbar-profile-index.affix .collection-item.avatar span.text-lighten-1.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-lighten-1.title-more { + color: #bdbdbd !important; +} + +.grey.darken-1, +.profile-content .section-refinements .ais-RangeSlider .darken-1.rheostat-progress { + background-color: #757575 !important; +} + +.grey-text.text-darken-1, +nav.navbar-profile-index.affix .collection-item.avatar span.text-darken-1.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-darken-1.title-more { + color: #757575 !important; +} + +.grey.darken-2, +.profile-content .section-refinements .ais-RangeSlider .darken-2.rheostat-progress { + background-color: #616161 !important; +} + +.grey-text.text-darken-2, +nav.navbar-profile-index.affix .collection-item.avatar span.text-darken-2.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-darken-2.title-more { + color: #616161 !important; +} + +.grey.darken-3, +.profile-content .section-refinements .ais-RangeSlider .darken-3.rheostat-progress { + background-color: #424242 !important; +} + +.grey-text.text-darken-3, +nav.navbar-profile-index.affix .collection-item.avatar span.title, +nav.navbar-profile-index.affix .collection-item.avatar p.title-more { + color: #424242 !important; +} + +.grey.darken-4, +.profile-content .section-refinements .ais-RangeSlider .darken-4.rheostat-progress { + background-color: #212121 !important; +} + +.grey-text.text-darken-4, +nav.navbar-profile-index.affix .collection-item.avatar span.text-darken-4.title, +nav.navbar-profile-index.affix .collection-item.avatar p.text-darken-4.title-more { + 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 { + 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 */ + 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 { + 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'] { + 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 { + box-sizing: border-box; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +button, +input, +optgroup, +select, +textarea { + font-family: + Roboto, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + 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: #c54e00; + text-decoration: none; + -webkit-tap-highlight-color: transparent; +} + +.valign-wrapper { + display: flex; + align-items: center; +} + +.clearfix { + clear: both; +} + +.z-depth-0 { + 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 { + 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 { + 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 { + 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 { + 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 { + 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 { + 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 { + transition: box-shadow 0.25s; +} +.hoverable:hover { + 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 #999999; +} + +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: #999999; +} +.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%; + transform: translate3d(0, 0, 0); + 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; + 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: #999999; +} +.page-footer .footer-copyright { + overflow: hidden; + min-height: 50px; + display: flex; + align-items: center; + 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 { + transition: background-color 0.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: #c54e00; + color: #ffebdf; +} +.collection .collection-item.active .secondary-content { + color: #fff; +} +.collection a.collection-item { + display: block; + transition: 0.25s; + color: #c54e00; +} +.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: #c54e00; +} + +.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: #ffbd92; + border-radius: 2px; + margin: 0.5rem 0 1rem 0; + overflow: hidden; +} +.progress .determinate { + position: absolute; + top: 0; + left: 0; + bottom: 0; + background-color: #c54e00; + transition: width 0.3s linear; +} +.progress .indeterminate { + background-color: #c54e00; +} +.progress .indeterminate:before { + content: ''; + position: absolute; + background-color: inherit; + top: 0; + left: 0; + bottom: 0; + will-change: left, right; + 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; + animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite; + animation-delay: 1.15s; +} + +@keyframes indeterminate { + 0% { + left: -35%; + right: 100%; + } + 60% { + left: 100%; + right: -90%; + } + 100% { + left: 100%; + right: -90%; + } +} +@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 { + 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; + box-sizing: border-box; +} +span.badge.new { + font-weight: 300; + font-size: 0.8rem; + color: #fff; + background-color: #c54e00; + 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; + 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; + 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: #999999; + 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%; + transform: translateX(-50%); +} +@media only screen and (max-width: 992px) { + nav .brand-logo { + left: 50%; + transform: translateX(-50%); + } + nav .brand-logo.left, + nav .brand-logo.right { + padding: 0; + 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 { + transition: background-color 0.3s; + float: left; + padding: 0; +} +nav ul li.active { + background-color: rgba(0, 0, 0, 0.1); +} +nav ul a { + transition: background-color 0.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; + box-shadow: none; +} +nav .input-field label { + top: 0; + left: 0; +} +nav .input-field label i { + color: rgba(255, 255, 255, 0.7); + transition: color 0.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: + Roboto, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + 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 { + transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important; +} +.scale-transition.scale-out { + transform: scale(0); + transition: transform 0.2s !important; +} +.scale-transition.scale-in { + transform: scale(1); +} + +.card-panel { + transition: box-shadow 0.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; + transition: box-shadow 0.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: 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: flex; + flex-direction: column; + flex: 1; + position: relative; +} +.card.horizontal .card-stacked .card-content { + 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; + transition: color 0.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: flex; + align-items: center; + 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: flex; +} +.tabs.tabs-fixed-width .tab { + 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(153, 153, 153, 0.7); + display: block; + width: 100%; + height: 100%; + padding: 0 24px; + font-size: 14px; + text-overflow: ellipsis; + overflow: hidden; + transition: + color 0.28s ease, + background-color 0.28s ease; +} +.tabs .tab a:focus, +.tabs .tab a:focus.active { + background-color: rgba(191, 191, 191, 0.2); + outline: none; +} +.tabs .tab a:hover, +.tabs .tab a.active { + background-color: transparent; + color: #999999; +} +.tabs .tab.disabled a, +.tabs .tab.disabled a:hover { + color: rgba(153, 153, 153, 0.4); + cursor: default; +} +.tabs .indicator { + position: absolute; + bottom: 0; + height: 2px; + background-color: #bfbfbf; + will-change: left, right; +} + +@media only screen and (max-width: 992px) { + .tabs { + display: flex; + } + .tabs .tab { + 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; + 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], +[disabled].btn-large, +[disabled].btn-small, +.btn-floating[disabled], +.btn-large[disabled], +.btn-small[disabled], +.btn-flat[disabled] { + pointer-events: none; + background-color: #dfdfdf !important; + 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, +[disabled].btn-large:hover, +[disabled].btn-small: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: #923a00; +} + +.btn, +.btn-large, +.btn-small { + text-decoration: none; + color: #fff; + background-color: #c54e00; + text-align: center; + letter-spacing: 0.5px; + transition: background-color 0.2s ease-out; + cursor: pointer; +} +.btn:hover, +.btn-large:hover, +.btn-small:hover { + background-color: #df5800; +} + +.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: #c54e00; + border-radius: 50%; + transition: background-color 0.3s; + cursor: pointer; + vertical-align: middle; +} +.btn-floating:hover { + background-color: #c54e00; +} +.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%; + 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: flex; + 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: flex; + top: 0; + bottom: 0; + z-index: 1; +} +.fixed-action-btn.toolbar ul li { + flex: 1; + display: inline-block; + margin: 0; + height: 100%; + transition: none; +} +.fixed-action-btn.toolbar ul li a { + display: block; + overflow: hidden; + position: relative; + width: 100%; + height: 100%; + background-color: transparent; + 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: #c54e00; + border-radius: 50%; + transform: scale(0); +} + +.btn-flat { + box-shadow: none; + background-color: transparent; + color: #343434; + cursor: pointer; + transition: background-color 0.2s; +} +.btn-flat:focus, +.btn-flat:hover { + 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: #b3b3b3 !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; + 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: #c54e00; + 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; + 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; + user-select: none; + -webkit-tap-highlight-color: transparent; + vertical-align: middle; + z-index: 1; + transition: 0.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); + transition: all 0.7s ease-out; + transition-property: transform, opacity; + 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 { + transition: none !important; +} + +.waves-circle { + 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; +} +@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: 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; + box-sizing: border-box; + padding: 2rem; +} + +.sidenav .collapsible, +.sidenav.fixed .collapsible { + border: 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; + box-shadow: none; +} +.collapsible.popout > li { + 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; + transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); +} +.collapsible.popout > li.active { + 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; + box-shadow: none; + margin: 0 0 8px 0; + min-height: 45px; + outline: none; + transition: all 0.3s; +} +.chips.focus { + border-bottom: 1px solid #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; + 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; + transform: translateY(-140%); +} + +.materialboxed { + display: block; + cursor: zoom-in; + position: relative; + transition: opacity 0.4s; + -webkit-backface-visibility: hidden; +} +.materialboxed:hover:not(.active) { + opacity: 0.8; +} +.materialboxed.active { + 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 #ffd3b6; +} + +button:focus { + outline: none; + background-color: #d95600; +} + +label { + font-size: 0.8rem; + color: #9e9e9e; +} + +/* Text Inputs + Textarea + ========================================================================== */ +/* Style Placeholders */ +::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; + box-shadow: none; + box-sizing: content-box; + transition: + box-shadow 0.3s, + border 0.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 #c54e00; + box-shadow: 0 1px 0 0 #c54e00; +} +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: #c54e00; +} +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: color('yellow', 'base'); +} +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[type='text'].valid:not(.browser-default), +input[type='text'].valid:not(.browser-default):focus, +input[type='password'].valid:not(.browser-default), +input[type='password'].valid:not(.browser-default):focus, +input[type='email'].valid:not(.browser-default), +input[type='email'].valid:not(.browser-default):focus, +input[type='url'].valid:not(.browser-default), +input[type='url'].valid:not(.browser-default):focus, +input[type='time'].valid:not(.browser-default), +input[type='time'].valid:not(.browser-default):focus, +input[type='date'].valid:not(.browser-default), +input[type='date'].valid:not(.browser-default):focus, +input[type='datetime'].valid:not(.browser-default), +input[type='datetime'].valid:not(.browser-default):focus, +input[type='datetime-local'].valid:not(.browser-default), +input[type='datetime-local'].valid:not(.browser-default):focus, +input[type='tel'].valid:not(.browser-default), +input[type='tel'].valid:not(.browser-default):focus, +input[type='number'].valid:not(.browser-default), +input[type='number'].valid:not(.browser-default):focus, +input[type='search'].valid:not(.browser-default), +input[type='search'].valid:not(.browser-default):focus, +textarea.materialize-textarea.valid, +textarea.materialize-textarea.valid:focus, +.select-wrapper.valid > input.select-dropdown { + border-bottom: 1px solid #4caf50; + box-shadow: 0 1px 0 0 #4caf50; +} + +input.invalid:not([type]), +input.invalid:not([type]):focus, +input[type='text'].invalid:not(.browser-default), +input[type='text'].invalid:not(.browser-default):focus, +input[type='password'].invalid:not(.browser-default), +input[type='password'].invalid:not(.browser-default):focus, +input[type='email'].invalid:not(.browser-default), +input[type='email'].invalid:not(.browser-default):focus, +input[type='url'].invalid:not(.browser-default), +input[type='url'].invalid:not(.browser-default):focus, +input[type='time'].invalid:not(.browser-default), +input[type='time'].invalid:not(.browser-default):focus, +input[type='date'].invalid:not(.browser-default), +input[type='date'].invalid:not(.browser-default):focus, +input[type='datetime'].invalid:not(.browser-default), +input[type='datetime'].invalid:not(.browser-default):focus, +input[type='datetime-local'].invalid:not(.browser-default), +input[type='datetime-local'].invalid:not(.browser-default):focus, +input[type='tel'].invalid:not(.browser-default), +input[type='tel'].invalid:not(.browser-default):focus, +input[type='number'].invalid:not(.browser-default), +input[type='number'].invalid:not(.browser-default):focus, +input[type='search'].invalid:not(.browser-default), +input[type='search'].invalid: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 color('yellow', 'base'); + box-shadow: 0 1px 0 0 color('yellow', 'base'); +} + +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; + 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: color('yellow', 'base'); +} + +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; + transition: + 0.2s opacity ease-out, + 0.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; + transition: + transform 0.2s ease-out, + color 0.2s ease-out; + transform-origin: 0% 100%; + text-align: initial; + transform: translateY(12px); +} +.input-field > label:not(.label-icon).active { + transform: translateY(-14px) scale(0.8); + transform-origin: 0 0; +} +.input-field > input[type]:-webkit-autofill:not(.browser-default) + label, +.input-field > input[type='date']:not(.browser-default) + label, +.input-field > input[type='time']:not(.browser-default) + label { + transform: translateY(-14px) scale(0.8); + 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; + transition: color 0.2s; + top: 0.5rem; +} +.input-field .prefix.active { + color: #c54e00; +} +.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; + transition: 0.3s background-color; +} +.nav-wrapper .input-field input[type='search'] { + height: inherit; + padding-left: 4rem; + width: calc(100% - 4rem); + border: 0; + box-shadow: none; +} +.input-field input[type='search']:focus:not(.browser-default) { + background-color: #fff; + border: 0; + 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 { + 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; + transition: 0.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: 0.8rem 0 0.8rem 0; + /* prevents text jump on Enter keypress */ + resize: none; + min-height: 3rem; + 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; + transition: 0.28s ease; + 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; + transition: 0.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 { + 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 #c54e00; +} + +[type='radio']:checked + span:after, +[type='radio'].with-gap:checked + span:after { + background-color: #c54e00; +} + +[type='radio']:checked + span:after { + transform: scale(1.02); +} + +/* Radio With gap */ +[type='radio'].with-gap:checked + span:after { + transform: scale(0.5); +} + +/* Focused styles */ +[type='radio'].tabbed:focus + span:before { + 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; + 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; + transition: 0.2s; +} +[type='checkbox']:not(.filled-in) + span:not(.lever):after { + border: 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 { + transform: scale(1); + border: 0; + border-radius: 50%; + 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 #c54e00; + border-bottom: 2px solid #c54e00; + transform: rotate(40deg); + backface-visibility: hidden; + 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 #c54e00; + border-bottom: none; + transform: rotate(90deg); + backface-visibility: hidden; + 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 */ + transition: + border 0.25s, + background-color 0.25s, + width 0.2s 0.1s, + height 0.2s 0.1s, + top 0.2s 0.1s, + left 0.2s 0.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; + transform: rotateZ(37deg); + 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; + transform: rotateZ(37deg); + transform-origin: 100% 100%; +} +[type='checkbox'].filled-in:checked + span:not(.lever):after { + top: 0; + width: 20px; + height: 20px; + border: 2px solid #c54e00; + background-color: #c54e00; + 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: #c54e00; + border-color: #c54e00; +} +[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; + 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: #e8945d; +} +.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: #c54e00; +} + +.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; + 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; + transition: + left 0.3s ease, + background 0.3s ease, + box-shadow 0.1s ease, + transform 0.1s ease; +} +.switch label .lever:before { + background-color: rgba(197, 78, 0, 0.15); +} +.switch label .lever:after { + background-color: #f1f1f1; + 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 { + transform: scale(2.4); + background-color: rgba(197, 78, 0, 0.15); +} + +input[type='checkbox']:not(:disabled) ~ .lever:active:before, +input[type='checkbox']:not(:disabled).tabbed:focus ~ .lever::before { + 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; + user-select: none; + z-index: 1; +} +.select-wrapper input.select-dropdown:focus { + border-bottom: 1px solid #c54e00; +} +.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; + 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: #c54e00; + margin-left: 7px; + transform-origin: 50% 50%; + transform: rotate(-45deg); +} +input[type='range'] + .thumb .value { + display: block; + width: 30px; + text-align: center; + color: #c54e00; + font-size: 0; + 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: #c54e00; + transition: box-shadow 0.3s; + -webkit-appearance: none; + background-color: #c54e00; + transform-origin: 50% 50%; + margin: -5px 0 0 0; +} + +.keyboard-focused input[type='range']:focus:not(.active)::-webkit-slider-thumb { + box-shadow: 0 0 0 10px rgba(197, 78, 0, 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: #c54e00; + transition: box-shadow 0.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(197, 78, 0, 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: #c54e00; + transition: box-shadow 0.3s; +} + +.keyboard-focused input[type='range']:focus:not(.active)::-ms-thumb { + box-shadow: 0 0 0 10px rgba(197, 78, 0, 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: 0.4; + display: inline-block; +} +.table-of-contents a:hover { + color: #a8a8a8; + padding-left: 15px; + border-left: 1px solid #999999; +} +.table-of-contents a.active { + font-weight: 500; + padding-left: 14px; + border-left: 2px solid #999999; +} + +.sidenav { + position: fixed; + width: 300px; + left: 0; + top: 0; + margin: 0; + 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; + backface-visibility: hidden; + transform: translateX(-105%); +} +.sidenav.right-aligned { + right: 0; + transform: translateX(105%); + left: auto; + 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: #df5800; +} +.sidenav li > a.btn-floating:hover { + background-color: #c54e00; +} +.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; + transform: translateX(0); + position: fixed; +} +.sidenav.sidenav-fixed.right-aligned { + right: 0; + left: auto; +} + +@media only screen and (max-width: 992px) { + .sidenav.sidenav-fixed { + transform: translateX(-105%); + } + .sidenav.sidenav-fixed.right-aligned { + 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: #999999; +} +.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 { + transform: rotate(360deg); + } +} +.spinner-layer { + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + border-color: #c54e00; +} + +.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% { + transform: rotate(135deg); + } + /* 0.5 * ARCSIZE */ + 25% { + transform: rotate(270deg); + } + /* 1 * ARCSIZE */ + 37.5% { + transform: rotate(405deg); + } + /* 1.5 * ARCSIZE */ + 50% { + transform: rotate(540deg); + } + /* 2 * ARCSIZE */ + 62.5% { + transform: rotate(675deg); + } + /* 2.5 * ARCSIZE */ + 75% { + transform: rotate(810deg); + } + /* 3 * ARCSIZE */ + 87.5% { + transform: rotate(945deg); + } + /* 3.5 * ARCSIZE */ + to { + 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 { + transform: rotate(130deg); + } + 50% { + transform: rotate(-5deg); + } + to { + 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 { + transform: rotate(-130deg); + } + 50% { + transform: rotate(5deg); + } + to { + 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; + transition: background-color 0.3s; + border-radius: 50%; +} +.slider .indicators .indicator-item.active { + background-color: #4caf50; +} + +.carousel { + overflow: hidden; + position: relative; + width: 100%; + height: 400px; + perspective: 500px; + transform-style: preserve-3d; + 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); + transition: background-color 0.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; + transition: visibility 0s 0.3s; +} + +.tap-target-wrapper.open { + visibility: visible; + transition: visibility 0s; +} +.tap-target-wrapper.open .tap-target { + transform: scale(1); + opacity: 0.95; + transition: + transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), + opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1); +} +.tap-target-wrapper.open .tap-target-wave::before { + transform: scale(1); +} +.tap-target-wrapper.open .tap-target-wave::after { + visibility: visible; + animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; + transition: + opacity 0.3s, + transform 0.3s, + visibility 0s 1s; +} + +.tap-target { + position: absolute; + font-size: 1rem; + border-radius: 50%; + background-color: #999999; + 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; + transform: scale(0); + transition: + transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), + opacity 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 { + transform: scale(0); + transition: transform 0.3s; +} +.tap-target-wave::after { + visibility: hidden; + transition: + opacity 0.3s, + transform 0.3s, + visibility 0s; + z-index: -1; +} + +.tap-target-origin { + top: 50%; + left: 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; + transition: + opacity 0.3s, + transform 0.3s; + animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite; + z-index: -1; +} + +@keyframes pulse-animation { + 0% { + opacity: 1; + transform: scale(1); + } + 50% { + opacity: 0; + transform: scale(1.5); + } + 100% { + opacity: 0; + transform: scale(1.5); + } +} +/* Modal */ +.datepicker-modal { + max-width: 325px; + min-width: 300px; + max-height: none; +} + +.datepicker-container.modal-content { + display: flex; + flex-direction: column; + padding: 0; +} + +.datepicker-controls { + display: flex; + justify-content: space-between; + width: 280px; + margin: 0 auto; +} +.datepicker-controls .selects-container { + 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 { + flex: 1 auto; + background-color: #c54e00; + 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 { + 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: #c54e00; +} +.datepicker-table td.is-selected { + background-color: #c54e00; + 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(192, 79, 5, 0.25); +} + +/* Footer */ +.datepicker-footer { + width: 280px; + margin: 0 auto; + padding-bottom: 5px; + display: flex; + justify-content: space-between; +} + +.datepicker-cancel, +.datepicker-clear, +.datepicker-today, +.datepicker-done { + color: #c54e00; + padding: 0 1rem; +} + +.datepicker-clear { + color: color('yellow', 'base'); +} + +/* Media Queries */ +@media only screen and (min-width: 601px) { + .datepicker-modal { + max-width: 625px; + } + + .datepicker-container.modal-content { + flex-direction: row; + } + + .datepicker-date-display { + 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: flex; + flex-direction: column; + padding: 0; +} + +.text-primary { + color: white; +} + +/* Clock Digital Display */ +.timepicker-digital-display { + flex: 1 auto; + background-color: #c54e00; + 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; + 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 { + 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; + 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(197, 78, 0, 0.25); +} + +.timepicker-dial { + transition: + transform 350ms, + opacity 350ms; +} + +.timepicker-dial-out { + opacity: 0; +} +.timepicker-dial-out.timepicker-hours { + transform: scale(1.1, 1.1); +} +.timepicker-dial-out.timepicker-minutes { + transform: scale(0.8, 0.8); +} + +.timepicker-canvas { + transition: opacity 175ms; +} +.timepicker-canvas line { + stroke: #c54e00; + stroke-width: 4; + stroke-linecap: round; +} + +.timepicker-canvas-out { + opacity: 0.25; +} + +.timepicker-canvas-bearing { + stroke: none; + fill: #c54e00; +} + +.timepicker-canvas-bg { + stroke: none; + fill: #c54e00; +} + +/* Footer */ +.timepicker-footer { + margin: 0 auto; + padding: 5px 1rem; + display: flex; + justify-content: space-between; +} + +.timepicker-clear { + color: color('yellow', 'base'); +} + +.timepicker-close { + color: #c54e00; +} + +.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 { + 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; + } +} +/**************************** +Grid Sizes +*****************************/ +@media only screen and (max-width: 1200px) { + .hide-on-large-and-down { + display: none !important; + } +} + +/**************************** +Custom colors +*****************************/ +.grantmakers-color-bg, +.btn-grantmakers, +.grantmakers { + background-color: #c54e00 !important; +} + +.btn-grantmakers:hover { + background-color: #ac4400; +} + +.grantmakers-color, +.grantmakers-text { + color: #c54e00 !important; +} + +a:not(.btn):not(.btn-large):not(.btn-small):not(.btn:hover):not(.btn-large:hover):not(.btn-small:hover) { + color: #c54e00; +} + +.disable-primary-color { + color: inherit !important; +} + +/**************************** +Helpers +*****************************/ +/* Sitewide helpers */ +.btn, +.btn-large, +.btn-small, +.accent { + background-color: #c54e00; +} + +.text-default, +ul#mobile-nav.nav-primary.sidenav li a, +ul#navbar-more.dropdown-content li a { + color: #333333; +} + +.text-muted { + color: #757575 !important; +} + +.text-muted-max { + color: #9e9e9e !important; +} + +.text-bold { + font-weight: 700; +} + +.text-light, +.text-thin { + font-weight: 300; +} + +.accent-text { + color: #c54e00; +} + +a:focus { + outline: none; +} + +a.disabled { + cursor: default; +} + +ul.btn-group { + position: relative; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; + flex-wrap: wrap; +} +ul.btn-group li { + margin: auto; +} +@media only screen and (max-width: 992px) { + ul.btn-group li { + margin-bottom: 10px; + } +} + +.row-tight { + margin-bottom: 0px; +} + +.small { + font-size: 85%; +} + +.hidden { + display: none !important; +} + +.no-wrap, +.text-nowrap { + white-space: nowrap; +} + +.justify-align { + display: flex; + justify-content: space-around; +} + +.valign-wrapper-center-align { + justify-content: center; +} + +.modal:focus { + outline: 0; +} + +span.badge-circle { + display: inline-block; + min-width: 0px; + margin-left: 5px; + border-radius: 50%; + height: inherit; + line-height: inherit; + font-size: 90%; + float: none; +} + +.toast .toast-intro { + padding-right: 10px; + font-weight: 700; +} + +.pointer { + cursor: pointer; +} + +ul.striped li { + border-bottom: none; +} + +ul.striped > li:nth-child(odd) { + background-color: rgba(242, 242, 242, 0.5); +} + +.divider-dark { + background-color: #bdbdbd; +} + +/* Inline lists */ +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} + +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} + +/* Material Icons */ +i.material-icons-rotate-180 { + transform: rotateX(180deg); +} + +i.material-icons-rotate-90 { + transform: rotate(90deg); +} + +i.material-icons-square { + padding: 4px; + border-radius: 2px; +} + +p i.material-icons { + font-size: 15px; + line-height: 1.5; + vertical-align: bottom; +} + +i.material-icons-tight.left { + margin-right: 3px; +} +i.material-icons-tight.right { + margin-left: 3px; +} + +img.icon-irs-alt { + height: 22px; +} + +img.icon-propublica { + height: 75%; +} +@media only screen and (max-width: 600px) { + img.icon-propublica { + height: 60%; + } +} + +img.icon-logo { + height: 50px; + width: 50px; +} + +img.icon-logo-small { + height: 30px; + width: 30px; +} + +.card-action-community-alert { + display: none; +} +.card-action-community-alert a { + text-transform: none !important; +} +.card-action-community-alert i.material-icons { + vertical-align: bottom; +} + +.card.info-card { + transition: unset; + box-shadow: none; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +hr.slim { + margin-top: 5px; + margin-bottom: 5px; +} + +input::-ms-clear { + display: none; +} + +/* Animations */ +@keyframes md-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +.md-spin { + animation: md-spin 0.6s infinite linear; +} + +/* Source: https://codepen.io/levineuland/pen/AmwCL */ +@keyframes pulse { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + } +} +.pulse { + animation-name: pulse; + animation-duration: 1s; + animation-iteration-count: 5; +} + +@keyframes bounce { + 0%, + 20%, + 50%, + 80%, + 100% { + transform: translateY(0); + } + 40% { + transform: translateY(-15px); + } + 60% { + transform: translateY(-10px); + } +} +.bounce { + animation-name: bounce; + animation-duration: 2.5s; + animation-fill-mode: both; + animation-iteration-count: 1; +} + +.fade-enter-active, +.fade-leave-active { + transition: opacity 0.5s; +} + +.fade-enter, +.fade-leave-to { + opacity: 0; +} + +/************************************ +List Groups Component +*************************************/ +.list-group { + border-radius: 0; +} + +.list-group .list-group-item { + background-color: transparent; + overflow: hidden; + border: 0; + border-radius: 0; + padding: 0 16px; +} + +.list-group .list-group-item .row-picture, +.list-group .list-group-item .row-action-primary { + display: inline-block; + padding-right: 16px; +} + +.list-group .list-group-item .row-picture i, +.list-group .list-group-item .row-action-primary i { + background: rgba(0, 0, 0, 0.25); + border-radius: 100%; + text-align: center; + line-height: 56px; + font-size: 20px; + color: white; +} + +.list-group .list-group-item .row-picture img, +.list-group .list-group-item .row-action-primary img, +.list-group .list-group-item .row-picture i, +.list-group .list-group-item .row-action-primary i, +.list-group .list-group-item .row-picture label, +.list-group .list-group-item .row-action-primary label { + display: block; + width: 56px; + height: 56px; +} + +.list-group .list-group-item .row-content { + display: inline-block; + width: -webkit-calc(100% - 92px); + width: calc(100% - 92px); + min-height: 66px; +} + +.list-group .list-group-item .row-content .least-content { + position: absolute; + right: 16px; + top: 0; + color: rgba(0, 0, 0, 0.54); + font-size: 14px; +} + +.list-group .list-group-item .list-group-item-heading { + color: rgba(0, 0, 0, 0.77); + font-size: 20px; + line-height: 29px; + font-weight: 400; +} + +.list-group .list-group-separator { + clear: both; + overflow: hidden; + margin-top: 10px; + margin-bottom: 10px; +} + +.list-group .list-group-separator:before { + content: ''; + width: -webkit-calc(100% - 90px); + width: calc(100% - 90px); + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + float: right; +} + +.list-group-item-heading, +.list-group-item-text { + margin: 0; +} + +/**************************** +Sitewide layout +*****************************/ +body, +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4 { + color: #333; + font-weight: 300; + font-style: normal; +} + +.main { + background: #ffffff; + position: relative; + z-index: 3; +} + +.main-raised { + margin: -60px 30px 0px; + border-radius: 6px; + 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 -5px rgba(0, 0, 0, 0.2); +} + +.main-raised-unset-header-offset { + margin: 0px 30px 0px; +} + +@media only screen and (max-width: 992px) { + .main-raised { + margin-left: 10px; + margin-right: 10px; + } +} +.container-custom { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +@media only screen and (min-width: 993px) { + .container-custom { + width: 970px; + } +} +@media only screen and (min-width: 1201px) { + .container-custom { + width: 1170px; + } +} + +button.tooltipped { + -webkit-appearance: none; + border: 0; + padding: 0; + background: 0; +} + +i.tooltipped { + cursor: default; +} + +.pinned { + box-shadow: + 0 10px 20px -12px rgba(0, 0, 0, 0.42), + 0 3px 20px 0px rgba(0, 0, 0, 0.12), + 0 8px 10px -5px rgba(0, 0, 0, 0.2); + z-index: 998; +} +@media only screen and (max-width: 600px) { + .pinned.pushpin-nav-search { + width: 304px; + } +} +@media only screen and (min-width: 601px) { + .pinned.pushpin-nav-search { + width: 90%; + } +} +@media only screen and (min-width: 993px) { + .pinned.pushpin-nav-search { + width: 920px; + } +} +@media only screen and (min-width: 1201px) { + .pinned.pushpin-nav-search { + width: 1117px; + } +} + +.pin-top, +.pin-bottom { + position: inherit; +} + +.pin-bottom { + display: none; +} + +i.suffix { + position: absolute; + top: 5px; + left: auto !important; + right: 0px; + margin-right: 5px; + z-index: 3; + width: 2rem; + font-size: 2rem; + transition: color 0.2s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +#toast-container { + top: auto !important; + right: auto !important; + bottom: 10%; + left: 7%; + z-index: 2147483648; +} +@media only screen and (max-width: 600px) { + #toast-container { + left: 0; + bottom: 0; + } +} + +/* Navbars */ +/***********/ +.navbar-fixed { + position: fixed; + top: 0; +} + +nav { + border-top: none; + box-shadow: none; +} + +nav .logo-container { + padding: 5px 0; + display: inline-block; +} + +nav ul.nav-center { + text-align: center; +} + +nav ul li a { + display: inline-block; + font-weight: 400; + font-size: 12px; + text-transform: uppercase; + color: #fff !important; +} +nav ul li a:hover { + color: inherit; +} + +/* Navbar Index*/ +ul.nav-primary.sidenav .sidenav-header a { + height: 100%; + padding: 0 10px; +} +ul.nav-primary.sidenav .sidenav-header a img { + width: 50px; +} + +nav.navbar-profile-index ul li a, +nav.navbar-profile-index ul a { + text-transform: none; + font-size: 15px; +} +nav.navbar-profile-index .collection { + margin: 0; + border: none; + border-radius: inherit; +} +nav.navbar-profile-index .collection .collection-item { + background-color: inherit; + min-height: inherit; + border-bottom: none; +} +nav.navbar-profile-index .collection .collection-item.avatar { + padding-left: 64px; + padding-top: 12px; + padding-bottom: 0; +} +nav.navbar-profile-index .collection .collection-item.avatar .circle { + font-size: 18px; + position: absolute; + width: 35px; + height: 35px; + line-height: 36px; + overflow: hidden; + left: 15px; + display: inline-block; + vertical-align: middle; +} +nav.navbar-profile-index .collection .collection-item.avatar .title { + font-size: inherit; +} +nav.navbar-profile-index .collection .collection-item a { + padding: 0; +} +nav.navbar-profile-index .collection .collection-item a span.title { + color: #ffffff; +} +nav.navbar-profile-index .collection .collection-item a:hover { + background-color: inherit; +} +nav.navbar-profile-index .collection .collection-item p { + line-height: 1rem; +} + +li.collection-item a.dropdown-trigger .valign-wrapper { + height: 35px; +} + +ul#navbar-more.dropdown-content.dropdown-content-profile li.dropdown-title { + padding-left: 10px; + height: 64px; +} +ul#navbar-more.dropdown-content.dropdown-content-profile li.dropdown-title:hover { + cursor: default; +} + +ul#navbar-more.dropdown-content { + font-weight: 400; +} +ul#navbar-more.dropdown-content img { + width: 16px; + margin-right: 5px; + vertical-align: text-bottom; +} +ul#navbar-more.dropdown-content li.dropdown-bottom-cta a { + font-size: 12px; + color: white; +} +ul#navbar-more.dropdown-content li.dropdown-bottom-cta i { + font-size: 16px; + margin-right: 5px; +} + +.nav-primary a.account { + vertical-align: top; +} + +@media only screen and (max-width: 992px) { + nav .brand-logo { + left: inherit; + -webkit-transform: inherit; + transform: inherit; + } +} +/* Navbar profile */ +.navbar-profile { + font-weight: 400; + height: 64px; + /* initial navbar style */ +} +.navbar-profile.navbar-profile-index { + height: 64px; +} +@media only screen and (max-width: 992px) { + .navbar-profile { + height: 64px; + } +} +.navbar-profile.transparent { + background-color: transparent !important; + border: 0 !important; +} +.navbar-profile .breadcrumb-wrapper { + display: none; +} +.navbar-profile.affix { + background-color: #eeeeee; + box-shadow: + 0 10px 20px -12px rgba(0, 0, 0, 0.42), + 0 3px 20px 0px rgba(0, 0, 0, 0.12), + 0 8px 10px -5px rgba(0, 0, 0, 0.2); +} +.navbar-profile.affix .brand-name, +.navbar-profile.affix .nav-primary a { + color: #555555 !important; +} +.navbar-profile.affix .breadcrumb-wrapper { + display: block; + color: #555555 !important; + max-width: 98%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.navbar-profile.affix .breadcrumb-wrapper .breadcrumb, +.navbar-profile.affix .breadcrumb-wrapper .breadcrumb:before, +.navbar-profile.affix .breadcrumb-wrapper .breadcrumb:last-child { + color: #555555 !important; + font-size: 85%; + display: inline; +} +.navbar-profile.affix .nav-profile-action-bar { + display: block; +} +.navbar-profile.affix .sidenav-trigger i { + color: #999999; +} +.navbar-profile.affix .try-it, +.navbar-profile.affix .algolia-dark-bg { + display: none; +} +.navbar-profile.affix .algolia-light-bg { + display: block; +} +.navbar-profile.affix .algolia-partnership-logo { + display: none; +} +.navbar-profile.affix ul.nav-primary li a.active { + background-color: rgba(0, 0, 0, 0.05); +} +.navbar-profile .algolia-partnership-logo span.text-spread { + letter-spacing: 0.5px; +} +.navbar-profile .algolia-partnership-logo a { + color: #ffffff !important; +} +.navbar-profile .algolia-partnership-logo img { + width: 105px; + height: 30px; + vertical-align: middle; + padding-left: 20px; + border-left: 1px solid white; +} +.navbar-profile i.left-tighten { + margin-right: 3px; +} +@media only screen and (max-width: 600px) { + .navbar-profile.affix-top { + background-color: rgba(0, 0, 0, 0.4); + box-shadow: none !important; + } +} +@media only screen and (min-width: 601px) { + .navbar-profile.affix-top { + background-color: transparent !important; + border-color: transparent !important; + box-shadow: none !important; + } +} +.navbar-profile .logo-container .logo { + border: 0; + width: 50px; + height: 50px; + float: left; +} +.navbar-profile .logo-container .logo img { + width: 100%; + height: 100%; +} +.navbar-profile .logo-container .brand { + font-size: 16px; + color: #ffffff; + line-height: 32px; + float: left; + margin-left: 10px; + margin-top: 10px; + width: 70px; + height: 40px; + text-align: left; +} +.navbar-profile .form-group { + margin: 0; + padding: 0; +} +.navbar-profile .form-group input.form-control, +.navbar-profile .form-group.is-focused input.form-control { + background: none; + background-color: white; + margin: 0; + padding: 0px 10px; + padding-right: 50px; + border-radius: 3px; +} +.navbar-profile .input-group-addon-close { + padding: 0px; + position: absolute; + right: 30px; + top: 10px; + color: #555555 !important; + cursor: pointer; + z-index: 4; +} + +.header-bg { + position: relative; + background-image: url(/profiles/assets/img/bg.jpg); + background-size: cover; +} + +.header-bg:after { + position: absolute; + z-index: 1; + width: 100%; + height: 100%; + display: block; + left: 0; + top: 0; + content: ''; + background-color: rgba(0, 0, 0, 0.4); +} + +.profile-index-page .header-bg:after { + height: 380px; + background: rgba(44, 45, 51, 0.9); + background: linear-gradient(rgba(44, 45, 51, 0.9), rgba(44, 45, 51, 0.9)); + background: -moz-linear-gradient(rgba(44, 45, 51, 0.9), rgba(44, 45, 51, 0.9)); + background: -webkit-linear-gradient(rgba(44, 45, 51, 0.9), rgba(44, 45, 51, 0.9)); +} + +.profile-page, +.profile-index-page, +.simple-page { + background-color: #ccc; +} +.profile-page .navbar-transparent.affix a, +.profile-page .navbar-transparent.affix .navbar-toggle, +.profile-page .navbar-transparent.affix .brand-name, +.profile-index-page .navbar-transparent.affix a, +.profile-index-page .navbar-transparent.affix .navbar-toggle, +.profile-index-page .navbar-transparent.affix .brand-name, +.simple-page .navbar-transparent.affix a, +.simple-page .navbar-transparent.affix .navbar-toggle, +.simple-page .navbar-transparent.affix .brand-name { + color: #555555 !important; +} +.profile-page .navbar-transparent.affix a:hover, +.profile-page .navbar-transparent.affix .navbar-toggle:hover, +.profile-page .navbar-transparent.affix .brand-name:hover, +.profile-index-page .navbar-transparent.affix a:hover, +.profile-index-page .navbar-transparent.affix .navbar-toggle:hover, +.profile-index-page .navbar-transparent.affix .brand-name:hover, +.simple-page .navbar-transparent.affix a:hover, +.simple-page .navbar-transparent.affix .navbar-toggle:hover, +.simple-page .navbar-transparent.affix .brand-name:hover { + color: #999999; +} +.profile-page .row-alert-fixed-to-top, +.profile-index-page .row-alert-fixed-to-top, +.simple-page .row-alert-fixed-to-top { + line-height: 0px; + margin: 0; +} +.profile-page .alert-fixed-to-top, +.profile-index-page .alert-fixed-to-top, +.simple-page .alert-fixed-to-top { + position: relative; + top: -15px; + color: #fff; + border-top-left-radius: 6px; + border-top-right-radius: 6px; +} +@media only screen and (max-width: 600px) { + .profile-page .alert-fixed-to-top, + .profile-index-page .alert-fixed-to-top, + .simple-page .alert-fixed-to-top { + font-size: 0.8em; + } +} +.profile-page .navbar-center, +.profile-index-page .navbar-center, +.simple-page .navbar-center { + display: inline-block; + float: none; +} +.profile-page .navbar .navbar-collapse, +.profile-index-page .navbar .navbar-collapse, +.simple-page .navbar .navbar-collapse { + text-align: center; +} +.profile-page .navbar-profile-year li, +.profile-index-page .navbar-profile-year li, +.simple-page .navbar-profile-year li { + text-align: right; +} +.profile-page .navbar-profile-year li a, +.profile-index-page .navbar-profile-year li a, +.simple-page .navbar-profile-year li a { + font-size: 16px; + font-weight: 300; +} +.profile-page .navbar-profile-year li a span, +.profile-index-page .navbar-profile-year li a span, +.simple-page .navbar-profile-year li a span { + font-size: 10px; + text-align: right; +} + +.profile-page .row-alert-fixed-to-top { + color: white; + border-top-left-radius: 6px; + border-top-right-radius: 6px; +} +.profile-page .row-alert-fixed-to-top .alert-content { + line-height: 40px; + height: 40px; +} +.profile-page .row-alert-fixed-to-top .alert-content-left { + padding-right: 80px; +} +.profile-page .row-alert-fixed-to-top .alert-content-right { + padding-left: 80px; +} +.profile-page .row-alert-fixed-to-top .alert-content-icon { + display: flex; + align-items: center; + justify-content: flex-end; +} +.profile-page .row-alert-fixed-to-top .alert-content-icon img { + height: 30px; + width: 30px; + margin: 5px; +} +@media only screen and (max-width: 600px) { + .profile-page .row-alert-fixed-to-top { + font-size: 0.8em; + } + .profile-page .row-alert-fixed-to-top .alert-content-left { + text-align: left; + padding: 0; + } + .profile-page .row-alert-fixed-to-top .alert-content-right { + text-align: right; + padding: 0; + } +} +.profile-page .alert-fixed-to-top { + height: 40px; + position: relative; + top: 15px; +} + +.header-filter .container { + z-index: 2; + position: relative; +} + +.header-filter:after { + position: absolute; + z-index: 1; + width: 100%; + height: 380px; + display: block; + left: 0; + top: 0; + content: ''; + background: rgba(44, 45, 51, 0.9); + background: linear-gradient(rgba(44, 45, 51, 0.9), rgba(44, 45, 51, 0.9)); + background: -moz-linear-gradient(rgba(44, 45, 51, 0.9), rgba(44, 45, 51, 0.9)); + background: -webkit-linear-gradient(rgba(44, 45, 51, 0.9), rgba(44, 45, 51, 0.9)); +} + +.profile-page .header, +.profile-index-page .header, +.simple-page .header { + background-position: center center; + height: 380px; + min-height: 300px; + background-size: cover; +} + +.profile-page .profile img { + max-width: 160px; + max-height: 160px; + margin: -100px auto 0; +} + +.profile-index-page .profile img { + max-width: 160px; + max-height: 160px; + margin: -80px auto 0; +} + +.profile-page .main, +.profile-index-page .main, +.simple-page .main { + background-color: #f5f5f5; +} + +.fixed-action-btn { + right: 3rem; + bottom: 2rem; +} +@media only screen and (max-width: 600px) { + .fixed-action-btn { + right: 2rem; + bottom: 1rem; + } +} + +/* Vue Components */ +/* TODO Move to relative Vue components */ +#enativ i { + font-size: inherit; + vertical-align: top; + margin-right: 10px; +} + +@media only screen and (min-width: 993px) { + #community-sidebar.sidenav { + width: 450px; + } +} +#community-sidebar.sidenav ul { + margin-top: 0px; +} +#community-sidebar.sidenav li { + line-height: 1.6; +} +#community-sidebar.sidenav .card-panel { + border-radius: 0; + padding: 10px; + margin: 0; +} +#community-sidebar.sidenav .row.valign-wrapper { + margin-bottom: 0; +} +#community-sidebar.sidenav .collapsible-header { + font-size: 85%; + text-transform: uppercase; + color: rgba(0, 0, 0, 0.54); + font-weight: 500; + line-height: 48px; +} +#community-sidebar.sidenav .collapsible-body li { + border: none; + background-color: #fff; + padding: 10px 20px; + margin: 0; +} +#community-sidebar.sidenav .collection-item .title { + font-weight: bold; +} +#community-sidebar.sidenav ul.list-nested { + margin: 0 20px; +} +#community-sidebar.sidenav ul.list-nested li:first-child { + padding-top: 20px; +} +#community-sidebar.sidenav h6.small { + line-height: 1.2rem; +} +#community-sidebar.sidenav label { + color: #607d8b; + padding-left: 12px; +} +#community-sidebar.sidenav textarea { + padding-left: 12px; + padding-right: 12px; +} +#community-sidebar.sidenav textarea.materialize-textarea:focus { + border-bottom: 1px solid #607d8b; + box-shadow: 0 1px 0 0 #607d8b; +} +#community-sidebar.sidenav .helper-text a { + padding: 0; + padding-left: 12px; +} +#community-sidebar.sidenav .action-bar { + padding: 10px 0; +} +#community-sidebar.sidenav .collection-item p { + margin: 0; + white-space: pre-wrap; +} + +.card-profile-title { + font-size: 16px; + padding: 20px; + border-radius: 0 0 2px 2px; +} + +form#login img { + width: 150px; + height: 150px; + margin: auto; +} + +.left-action-bar { + display: -ms-flexbox; + display: flex; + position: fixed; + left: 0; + top: 0; + bottom: 0; + z-index: 10; +} +.left-action-bar ul { + background: #607d8b; + border-radius: 0 5px 5px 0; + margin: auto; + overflow: hidden; + padding: 0; +} +.left-action-bar li { + font-size: 10px; + cursor: pointer; + list-style: none; + height: 64px; + width: 64px; + transition: background 0.2s; + text-align: center; + border-bottom: 1px solid #78909c; +} +.left-action-bar li:last-child { + border-bottom: none; +} +.left-action-bar li a { + color: #fff !important; + display: block; + padding: 9px 0px; + text-transform: uppercase; +} +.left-action-bar li a span { + display: block; + color: #cfd8dc !important; +} +.left-action-bar li.disabled a { + cursor: default; + color: #cfd8dc !important; +} +.left-action-bar i.material-icons { + display: block; + font-size: 28px; +} + +/**************************** +Mimic Algolia them - only the good parts +*****************************/ +.ais-CurrentRefinements-delete, +.ais-CurrentRefinements-reset, +.ais-GeoSearch-redo, +.ais-GeoSearch-reset, +.ais-HierarchicalMenu-showMore, +.ais-InfiniteHits-loadMore, +.ais-InfiniteResults-loadMore, +.ais-Menu-showMore, +.ais-RangeInput-submit, +.ais-RefinementList-showMore, +.ais-SearchBox-reset, +.ais-SearchBox-submit { + padding: 0; + overflow: visible; + font: inherit; + line-height: normal; + color: inherit; + background: none; + border: 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +[class^='ais-'] { + font-size: 1rem; + box-sizing: border-box; +} + +.ais-SearchBox-form { + display: block; + position: relative; +} + +.ais-SearchBox-loadingIndicator, +.ais-SearchBox-reset, +.ais-SearchBox-submit { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + position: absolute; + z-index: 1; + width: 20px; + height: 20px; + top: 50%; + right: 0.3rem; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); +} + +.ais-SearchBox-submit { + left: 0.3rem; +} + +.ais-SearchBox-submitIcon { + width: 14px; + height: 14px; +} + +.ais-SearchBox-loadingIcon, +.ais-SearchBox-resetIcon, +.ais-SearchBox-submitIcon { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%); +} + +.ais-Highlight-highlighted, +.ais-Snippet-highlighted { + background-color: #ffdcc5; + font-size: inherit !important; + color: inherit !important; +} + +.profile-content { + /**************************** + Financial Charts + *****************************/ + /**************************** + Charitable activities + *****************************/ + /**************************** + Grants / InstantSearch wrapper + *****************************/ + /* Stats */ + /* Sort By */ + /* Tax Year Facet */ + /* Filters - Refinements */ + /* Clear all */ + /* Mobile button */ + /* Current Refinements */ + /* Mobile Refinements */ + /* Hits */ + /* Pagination */ + /* Pagination */ + /* Apply flexbox to match height */ +} +.profile-content #profile, +.profile-content #noscript, +.profile-content #feedback, +.profile-content #profile-share, +.profile-content #information-source, +.profile-content #coffee-bottom-cta, +.profile-content #tagline { + margin-bottom: 75px; +} +.profile-content #summary, +.profile-content #people, +.profile-content #activities, +.profile-content #grants, +.profile-content #application-info, +.profile-content #about, +.profile-content #financials-tagline, +.profile-content #financial-overview, +.profile-content #financial-trends, +.profile-content #filings, +.profile-content #data-source { + margin-bottom: 75px; +} +.profile-content #people, +.profile-content #grants, +.profile-content #application-info, +.profile-content #financials, +.profile-content #filings, +.profile-content #data-source { + outline: none; +} +.profile-content #alerts { + margin-top: 75px; +} +.profile-content #alerts .card-title img { + width: 16px; + height: 16px; +} +.profile-content #alerts .card { + margin-bottom: 0px; +} +.profile-content #summary p, +.profile-content #summary h1, +.profile-content #summary h2, +.profile-content #summary h3, +.profile-content #summary h4, +.profile-content #summary h5, +.profile-content #summary h6 { + margin: 0; +} +.profile-content #summary img.irs-logo { + height: 35px; + width: 35px; +} +.profile-content #summary .summary { + font-weight: 400; +} +.profile-content #summary .summary-icon { + height: 2.2rem; +} +.profile-content #summary .summary-icon i.material-icons { + font-size: 2.2rem; +} +.profile-content #summary .summary-icon-bg { + border-radius: 3px; +} +.profile-content #summary .summary-icon-bg i.square { + font-size: 18px; + height: 35px; + width: 35px; + max-width: unset; + line-height: 36px; + padding: 0 8px; +} +.profile-content #profile-cta { + margin-top: 75px; + margin-bottom: 75px; +} +.profile-content #profile-cta .input-field i { + line-height: 1.5; + z-index: 1; + background-color: #fafafa; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.profile-content #profile-cta .algolia-logo-autocomplete { + margin-bottom: 10px; + padding-top: 10px; + border-top: 1px solid #eeeeee; +} +.profile-content #profile-cta .algolia-logo-autocomplete img { + vertical-align: middle; +} +.profile-content #profile-cta .input-field .prefix { + top: 0; +} +.profile-content #profile-cta .input-field .prefix ~ span input { + width: 92%; + width: calc(100% - 3.2rem); + padding-left: 3.2rem; + margin-bottom: 0; + background-color: white; + border-radius: 3px; + border: 0; + -webkit-box-shadow: + 0 2px 2px 0 rgba(0, 0, 0, 0.14), + 0 1px 5px 0 rgba(0, 0, 0, 0.12), + 0 3px 1px -2px rgba(0, 0, 0, 0.2); + box-shadow: + 0 2px 2px 0 rgba(0, 0, 0, 0.14), + 0 1px 5px 0 rgba(0, 0, 0, 0.12), + 0 3px 1px -2px rgba(0, 0, 0, 0.2); +} +.profile-content #profile-cta .algolia-autocomplete { + width: 100%; +} +.profile-content #profile-cta #autocomplete-input { + font-size: 16px; +} +.profile-content #profile-cta .algolia-autocomplete .aa-input, +.profile-content #profile-cta .algolia-autocomplete .aa-hint { + width: 100%; +} +.profile-content #profile-cta .algolia-autocomplete .aa-hint { + color: #999; +} +.profile-content #profile-cta .algolia-autocomplete .aa-dropdown-menu { + margin-left: 3rem; + width: 92%; + width: calc(100% - 3rem); + text-align: left; + background-color: #fff; + top: 104% !important; + -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); +} +.profile-content #profile-cta .algolia-autocomplete .aa-dropdown-menu .aa-suggestion { + cursor: pointer; + padding: 5px 4px; +} +.profile-content #profile-cta .algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor { + background-color: #b2d7ff; +} +.profile-content #profile-cta .algolia-autocomplete .aa-dropdown-menu .aa-suggestion em { + font-weight: bold; + font-style: normal; +} +.profile-content #profile-cta .algolia-autocomplete .aa-dropdown-menu .empty { + margin: 5px 0px; + padding-left: 4px; +} +.profile-content .avatar .avatar-circle-w-icon { + width: 160px; + height: 160px; + position: relative; + bottom: 80px; + padding: 55px; + background-color: #999999; + color: white; + display: inline-block; + border-radius: 80px; + box-shadow: + 0 16px 38px -12px rgba(0, 0, 0, 0.56), + 0 4px 25px 0px rgba(0, 0, 0, 0.12), + 0 8px 10px -5px rgba(0, 0, 0, 0.2); +} +.profile-content .org-name, +.profile-content .title { + font-weight: 500; + font-size: 1.825em; + line-height: 1.4em; + margin: 20px 0 10px; +} +.profile-content .org-name a { + color: #3c4858; + text-decoration: none; +} +.profile-content .org-location, +.profile-content .sub-title { + margin: 30px auto 0; + max-width: 600px; +} +.profile-content .sub-title { + text-transform: uppercase; +} +.profile-content .profile-summary-icons { + display: inline-block; +} +.profile-content .profile-summary-icons li { + float: left; +} +.profile-content .profile-summary-icons a { + display: inline-block; +} +.profile-content .profile-summary-icons a > i { + pointer-events: none; +} +.profile-content .profile-summary-icons a, +.profile-content .profile-summary-icons i.material-icons { + color: #fff; +} +.profile-content .profile-summary-icons i.material-icons-active { + color: #c54e00; +} +.profile-content .tab-content { + min-height: 500px; +} +.profile-content .navbar.navbar-default { + background-color: #999999; +} +.profile-content .navbar:not(.navbar-grant-search) h3 { + margin: 0; +} +.profile-content .navbar-grant-search .input-group-addon, +.profile-content .navbar-grant-search input { + color: white; +} +.profile-content .navbar-grant-search .form-group { + margin-top: 15px; +} +.profile-content .navbar-grant-search ::-webkit-input-placeholder { + /* Chrome/Opera/Safari */ + color: white; +} +.profile-content .navbar-grant-search ::-moz-placeholder { + /* Firefox 19+ */ + color: white; +} +.profile-content .navbar-grant-search :-ms-input-placeholder { + /* IE 10+ */ + color: white; +} +.profile-content .navbar-grant-search :-moz-placeholder { + /* Firefox 18- */ + color: white; +} +.profile-content .list-group { + padding-top: 15px; +} +.profile-content .list-group .list-group-item { + margin-bottom: 24px; +} +.profile-content .list-group .list-group-item .btn, +.profile-content .list-group .list-group-item .btn-large, +.profile-content .list-group .list-group-item .btn-small { + margin-right: 16px; +} +.profile-content .list-group .list-group-item .row-action-primary i { + border-radius: 3px; + position: relative; + top: -8px; +} +.profile-content .list-group .list-group-item-info, +.profile-content .list-group .icon-info { + background-color: #03a9f4 !important; +} +.profile-content .list-group .list-group-item-warning, +.profile-content .list-group .icon-warning { + background-color: #fbc02d !important; +} +.profile-content .list-group .list-group-item-success, +.profile-content .list-group .icon-success { + background-color: #4caf50 !important; +} +.profile-content .list-group .icon-danger { + background-color: #c54e00 !important; +} +.profile-content #financial-overview canvas, +.profile-content #financial-trends canvas { + width: 100%; +} +.profile-content #financial-overview .chart-wrapper, +.profile-content #financial-trends .chart-wrapper { + height: 300px; +} +.profile-content #financial-overview .chart-wrapper .chart-loader .preloader-wrapper, +.profile-content #financial-trends .chart-wrapper .chart-loader .preloader-wrapper { + margin: 0 auto; +} +.profile-content #financial-overview .chart-wrapper .chart-default, +.profile-content #financial-overview .chart-wrapper .chart-loader, +.profile-content #financial-trends .chart-wrapper .chart-default, +.profile-content #financial-trends .chart-wrapper .chart-loader { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + content: ''; + width: 100%; + height: 100%; + max-width: 500px; + max-height: 300px; + background-image: url('$lib/assets/legacy/images/blank-chart.jpg'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; +} +.profile-content #financial-overview .chart-wrapper .chart-default, +.profile-content #financial-trends .chart-wrapper .chart-default { + display: flex; +} +.profile-content #financial-overview .chart-wrapper .chart-loader, +.profile-content #financial-trends .chart-wrapper .chart-loader { + display: none; +} +.profile-content #financial-overview .chart-wrapper canvas, +.profile-content #financial-trends .chart-wrapper canvas { + display: none; +} +.profile-content #financial-overview .chart-wrapper.loading .chart-default, +.profile-content #financial-trends .chart-wrapper.loading .chart-default { + display: none; +} +.profile-content #financial-overview .chart-wrapper.loading .chart-loader, +.profile-content #financial-trends .chart-wrapper.loading .chart-loader { + display: flex; +} +.profile-content #financial-overview .chart-wrapper.loading canvas, +.profile-content #financial-trends .chart-wrapper.loading canvas { + display: none; +} +.profile-content #financial-overview .chart-wrapper.loaded .chart-default, +.profile-content #financial-trends .chart-wrapper.loaded .chart-default { + display: none; +} +.profile-content #financial-overview .chart-wrapper.loaded .chart-loader, +.profile-content #financial-trends .chart-wrapper.loaded .chart-loader { + display: none; +} +.profile-content #financial-overview .chart-wrapper.loaded canvas, +.profile-content #financial-trends .chart-wrapper.loaded canvas { + display: block; +} +.profile-content #financial-trends .chart-wrapper .chart-default, +.profile-content #financial-trends .chart-wrapper .chart-loader { + background-image: url('$lib/assets/legacy/images/blank-chart-trends.jpg'); +} +.profile-content #activities .card-panel-header button { + height: 27px; +} +.profile-content #activities .collection { + margin: 0; + border: none; +} +.profile-content #activities .collection-item { + padding: 20px; +} +.profile-content #activities .collection-item-content { + overflow: hidden; +} +.profile-content #activities span.badge { + float: left; + margin-left: 0; + margin-right: 20px; + margin-top: 0; +} +.profile-content .ais-Breadcrumb-list, +.profile-content .ais-CurrentRefinements-list, +.profile-content .ais-HierarchicalMenu-list, +.profile-content .ais-Hits-list, +.profile-content .ais-InfiniteHits-list, +.profile-content .ais-InfiniteResults-list, +.profile-content .ais-Menu-list, +.profile-content .ais-NumericMenu-list, +.profile-content .ais-Pagination-list, +.profile-content .ais-RatingMenu-list, +.profile-content .ais-RefinementList-list, +.profile-content .ais-Results-list, +.profile-content .ais-ToggleRefinement-list { + margin: 0; + padding: 0; + list-style: none; +} +.profile-content .ais-ClearRefinements-button, +.profile-content .ais-CurrentRefinements-delete, +.profile-content .ais-CurrentRefinements-reset, +.profile-content .ais-GeoSearch-redo, +.profile-content .ais-GeoSearch-reset, +.profile-content .ais-HierarchicalMenu-showMore, +.profile-content .ais-InfiniteHits-loadMore, +.profile-content .ais-InfiniteResults-loadMore, +.profile-content .ais-Menu-showMore, +.profile-content .ais-RangeInput-submit, +.profile-content .ais-RefinementList-showMore, +.profile-content .ais-SearchBox-reset, +.profile-content .ais-SearchBox-submit { + padding: 0; + overflow: visible; + font: inherit; + line-height: normal; + color: inherit; + background: none; + border: 0; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.profile-content .ais-ClearRefinements-button::-moz-focus-inner, +.profile-content .ais-CurrentRefinements-delete::-moz-focus-inner, +.profile-content .ais-CurrentRefinements-reset::-moz-focus-inner, +.profile-content .ais-GeoSearch-redo::-moz-focus-inner, +.profile-content .ais-GeoSearch-reset::-moz-focus-inner, +.profile-content .ais-HierarchicalMenu-showMore::-moz-focus-inner, +.profile-content .ais-InfiniteHits-loadMore::-moz-focus-inner, +.profile-content .ais-InfiniteResults-loadMore::-moz-focus-inner, +.profile-content .ais-Menu-showMore::-moz-focus-inner, +.profile-content .ais-RangeInput-submit::-moz-focus-inner, +.profile-content .ais-RefinementList-showMore::-moz-focus-inner, +.profile-content .ais-SearchBox-reset::-moz-focus-inner, +.profile-content .ais-SearchBox-submit::-moz-focus-inner { + padding: 0; + border: 0; +} +.profile-content .ais-ClearRefinements-button[disabled], +.profile-content .ais-CurrentRefinements-delete[disabled], +.profile-content .ais-CurrentRefinements-reset[disabled], +.profile-content .ais-GeoSearch-redo[disabled], +.profile-content .ais-GeoSearch-reset[disabled], +.profile-content .ais-HierarchicalMenu-showMore[disabled], +.profile-content .ais-InfiniteHits-loadMore[disabled], +.profile-content .ais-InfiniteResults-loadMore[disabled], +.profile-content .ais-Menu-showMore[disabled], +.profile-content .ais-RangeInput-submit[disabled], +.profile-content .ais-RefinementList-showMore[disabled], +.profile-content .ais-SearchBox-reset[disabled], +.profile-content .ais-SearchBox-submit[disabled] { + cursor: default; +} +.profile-content .ais-Breadcrumb-item, +.profile-content .ais-Breadcrumb-list, +.profile-content .ais-Pagination-list, +.profile-content .ais-PoweredBy, +.profile-content .ais-RangeInput-form, +.profile-content .ais-RatingMenu-link { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +.profile-content .ais-GeoSearch, +.profile-content .ais-GeoSearch-map { + height: 100%; +} +.profile-content .ais-HierarchicalMenu-list .ais-HierarchicalMenu-list { + margin-left: 1em; +} +.profile-content .ais-PoweredBy-logo { + display: block; + height: 1.2em; + width: auto; +} +.profile-content .ais-RatingMenu-starIcon { + display: block; + width: 20px; + height: 20px; +} +.profile-content .ais-SearchBox-input::-ms-clear, +.profile-content .ais-SearchBox-input::-ms-reveal { + display: none; + width: 0; + height: 0; +} +.profile-content .ais-SearchBox-input::-webkit-search-cancel-button, +.profile-content .ais-SearchBox-input::-webkit-search-decoration, +.profile-content .ais-SearchBox-input::-webkit-search-results-button, +.profile-content .ais-SearchBox-input::-webkit-search-results-decoration { + display: none; +} +.profile-content .ais-RangeSlider .rheostat { + overflow: visible; + margin-top: 40px; + margin-bottom: 40px; +} +.profile-content .ais-RangeSlider .rheostat-background { + height: 6px; + top: 0; + width: 100%; +} +.profile-content .ais-RangeSlider .rheostat-handle { + margin-left: -12px; + top: -7px; +} +.profile-content .ais-RangeSlider .rheostat-background { + position: relative; + background-color: #fff; + border: 1px solid #aaa; +} +.profile-content .ais-RangeSlider .rheostat-progress { + position: absolute; + top: 1px; + height: 4px; + background-color: #333; +} +.profile-content .rheostat-handle { + position: relative; + z-index: 1; + width: 20px; + height: 20px; + background-color: #fff; + border: 1px solid #333; + border-radius: 50%; + cursor: -webkit-grab; + cursor: grab; +} +.profile-content .rheostat-marker { + margin-left: -1px; + position: absolute; + width: 1px; + height: 5px; + background-color: #aaa; +} +.profile-content .rheostat-marker--large { + height: 9px; +} +.profile-content .rheostat-value { + padding-top: 15px; +} +.profile-content .rheostat-tooltip, +.profile-content .rheostat-value { + margin-left: 50%; + position: absolute; + text-align: center; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); +} +.profile-content .rheostat-tooltip { + top: -22px; +} +.profile-content #grants { + font-weight: 400; + /* Searchbar */ +} +.profile-content #grants a { + color: inherit; +} +.profile-content #grants .section-results { + clear: both; + padding-left: 1rem; + padding-right: 1rem; +} +.profile-content #grants .card-panel-header-wrapper { + height: 82px; +} +@media only screen and (max-width: 600px) { + .profile-content #grants .card-panel-header-wrapper { + height: inherit; + } +} +.profile-content #grants .card-panel-header .row:first-child { + margin-bottom: 0; +} +@media only screen and (max-width: 600px) { + .profile-content #grants .pushpin-nav-search.pinned { + box-shadow: + 0 2px 2px -2px rgba(0, 0, 0, 0.14), + 0 1px 5px -5px rgba(0, 0, 0, 0.12), + 0 3px 1px -2px rgba(0, 0, 0, 0.2); + } +} +.profile-content #grants .algolia-logo { + color: inherit; + padding-top: 15px; + padding-bottom: 15px; + font-weight: 400; + font-size: 10px; + text-transform: uppercase; +} +.profile-content #grants .algolia-logo img { + width: 60px; + height: 16px; + vertical-align: middle; +} +.profile-content #grants h4 span.algolia-logo { + padding: 0; + position: relative; + top: -15px; + text-align: right; +} +.profile-content #grants h4 span.algolia-logo img { + vertical-align: inherit; +} +.profile-content #grants .nav-search { + height: 64px; +} +.profile-content #grants .nav-search nav { + margin-bottom: 10px; + z-index: 3; +} +.profile-content #grants .nav-search nav.pinned { + width: 100%; + z-index: 3; +} +@media screen and (min-width: 993px) { + .profile-content #grants .ais-search-box { + max-width: 400px; + } +} +.profile-content #grants #ais-widget-search-box input { + width: calc(100% - 40px); + padding-left: 40px; + background-color: white; + border: none; + box-shadow: none; + margin-bottom: 0; + border-radius: 3px; +} +.profile-content #grants #ais-widget-search-box input::-webkit-input-placeholder { + /* Chrome/Opera/Safari */ + color: #9e9e9e; +} +.profile-content #grants #ais-widget-search-box input::-moz-placeholder { + /* Firefox 19+ */ + color: #9e9e9e; +} +.profile-content #grants #ais-widget-search-box input:-ms-input-placeholder { + /* IE 10+ */ + color: #9e9e9e; +} +.profile-content #grants #ais-widget-search-box input:-moz-placeholder { + /* Firefox 18- */ + color: #9e9e9e; +} +.profile-content #grants input::placeholder { + color: #9e9e9e; +} +@media only screen and (max-width: 992px) { + .profile-content #grants input::placeholder { + font-size: 85%; + } +} +.profile-content #grants button.ais-SearchBox-reset:focus, +.profile-content #grants button.ais-SearchBox-submit:focus { + background-color: inherit; +} +.profile-content #grants .ais-SearchBox-submitIcon, +.profile-content #grants .ais-SearchBox-resetIcon, +.profile-content #grants .ais-SearchBox-loadingIcon { + fill: #757575; + width: 16px; + height: 16px; +} +.profile-content #grants .algolia-loading { + display: inline-block; + height: 36px; + vertical-align: bottom; + margin-left: 10px; + font-size: 15px; +} +.profile-content .ais-Stats-text span:before { + content: '('; +} +.profile-content .ais-Stats-text span:after { + content: ')'; +} +@media only screen and (max-width: 600px) { + .profile-content .center-align-on-mobile { + text-align: center; + } +} +.profile-content #ais-widget-sort-by { + /* Tax Year Facet */ + padding-right: 0px; + /* Prior usage */ +} +.profile-content #ais-widget-sort-by a.dropdown-trigger { + display: block; +} +.profile-content #ais-widget-sort-by li { + min-height: 0px; + padding: 6px 12px; +} +.profile-content #ais-widget-sort-by i.material-icons { + height: 14.5px; + margin-left: 5px; +} +.profile-content #ais-widget-sort-by .input-field { + margin-top: 0px !important; + margin-bottom: 0px !important; +} +.profile-content #ais-widget-sort-by input { + text-align: right; + width: 85%; + padding-right: 24px; +} +.profile-content #ais-widget-sort-by input, +.profile-content #ais-widget-sort-by .caret { + color: #9e9e9e !important; +} +.profile-content #ais-widget-sort-by .select-wrapper .caret { + fill: #9e9e9e !important; +} +.profile-content #ais-widget-sort-by select, +.profile-content #ais-widget-sort-by input { + margin-bottom: 0 !important; + border-bottom: 0 !important; + line-height: 1.5rem !important; + height: 1.5rem !important; + font-size: 15px; + font-family: 'Roboto'; +} +.profile-content #ais-widget-sort-by .dropdown-content li > a, +.profile-content #ais-widget-sort-by .dropdown-content li > span { + color: #c54e00; +} +.profile-content .divider { + clear: both; +} +.profile-content .card-header { + padding: 10px; + border-radius: 2px 2px 0px 0px; +} +@media screen and (max-width: 992px) { + .profile-content .card-header { + line-height: 1.4rem; + } +} +.profile-content .ais-root__collapsed .ais-header { + -webkit-box-shadow: none; + box-shadow: none; +} +.profile-content .ais-root__collapsed span i { + -ms-transform: rotate(180deg); + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} +.profile-content .section-refinements { + font-weight: 400; + /* Range Slider */ + /* Grantee Name & Grant Purpose - Menu */ +} +.profile-content .section-refinements [type='checkbox'].filled-in:not(:checked) + span:not(.lever):after { + border: 2px solid #9e9e9e; +} +.profile-content .section-refinements [type='checkbox'].filled-in:checked + span:not(.lever):after { + border: 2px solid #c54e00; + background-color: #c54e00; +} +.profile-content .section-refinements .ais-Panel .card-content { + padding: 18px; + padding-bottom: 0px; +} +.profile-content .section-refinements label { + color: inherit; +} +.profile-content .section-refinements .ais-RefinementList-labelText { + width: 85%; + padding-left: 0px; +} +.profile-content .section-refinements .ais-RefinementList-labelText::before, +.profile-content .section-refinements .ais-RefinementList-labelText::after { + display: none; +} +.profile-content .section-refinements .ais-RefinementList-count { + height: 25px; + line-height: 25px; +} +.profile-content .section-refinements .ais-RefinementList-count.small { + font-size: 85%; +} +.profile-content .section-refinements .ais-RefinementList-item--selected .ais-RefinementList-labelText, +.profile-content .section-refinements .ais-RefinementList-item--selected .ais-RefinementList-count { + color: #c54e00 !important; +} +.profile-content .section-refinements .ais-RefinementList--list:empty::after { + content: 'No results'; +} +.profile-content .section-refinements .ais-RefinementList-showMore { + width: 100%; + margin: auto; + margin-top: 10px; + border-top: 1px solid #eee; + font-size: 85%; +} +.profile-content .section-refinements .ais-RefinementList-showMore.btn-flat:hover, +.profile-content .section-refinements .ais-RefinementList-showMore.btn-flat:focus { + background-color: inherit; +} +.profile-content .section-refinements .ais-RefinementList-showMore--disabled { + color: white !important; + border-top: 0; + margin-top: 0; + height: 18px; +} +.profile-content .section-refinements #ais-widget-refinement-list--seo-placeholder .card-content { + padding-bottom: 18px; +} +.profile-content .section-refinements #ais-widget-refinement-list--seo-placeholder .ais-RefinementList-item:hover, +.profile-content .section-refinements #ais-widget-refinement-list--seo-placeholder input:hover, +.profile-content .section-refinements #ais-widget-refinement-list--seo-placeholder label span:hover { + cursor: default; +} +.profile-content .section-refinements #ais-widget-range-slider .card-content { + padding: 12px 24px; +} +.profile-content .section-refinements .ais-RangeSlider .rheostat { + margin-top: 20px; + margin-bottom: 20px; +} +.profile-content .section-refinements .ais-RangeSlider .rheostat-handle { + border-color: #757575; +} +.profile-content .section-refinements .ais-RangeSlider .rheostat-tooltip { + font-size: 85%; +} +.profile-content .section-refinements #ais-widget-refinement-list--grantee_name .ais-RefinementList-labelText, +.profile-content .section-refinements #ais-widget-refinement-list--grant_purpose .ais-RefinementList-labelText { + font-size: 80%; + line-height: 18px; +} +.profile-content .section-clear-all.no-hits { + padding-top: 0rem; + padding-bottom: 0px; + position: relative; + top: -10px; +} +.profile-content .btn-custom:hover { + background-color: #df5800; +} +.profile-content .ais-clear-all--link { + color: inherit !important; + display: inherit !important; + background: inherit !important; + border-radius: inherit !important; + font-size: inherit !important; + text-decoration: inherit !important; + padding: inherit; +} +.profile-content #ais-widget-mobile-clear-all { + display: inline-block; +} +.profile-content #ais-widget-current-refined-values ul { + margin-top: 10px; + margin-bottom: 0px; +} +.profile-content #ais-widget-current-refined-values ul:empty { + margin-top: 0px; +} +.profile-content #ais-widget-current-refined-values ul li { + margin: 0; + margin-bottom: 0.5rem; + padding: 0px 2px; + max-width: 100%; +} +.profile-content #ais-widget-current-refined-values ul li button { + max-width: 100%; +} +.profile-content #ais-widget-current-refined-values .btn:hover, +.profile-content #ais-widget-current-refined-values .btn-large:hover, +.profile-content #ais-widget-current-refined-values .btn-small:hover { + background-color: #c54e00; +} +.profile-content #ais-widget-current-refined-values .ais-CurrentRefinements-label { + font-size: 85%; +} +.profile-content #ais-widget-current-refined-values .ais-CurrentRefinements-category { + padding-left: 5px; +} +.profile-content #refinements-slide-out .ais-Panel.card { + margin: 0; +} +.profile-content #refinements-slide-out .ais-RefinementList-item { + line-height: 2.5rem; +} +.profile-content #refinements-slide-out label { + color: inherit; +} +.profile-content table tbody { + font-weight: 300; +} +.profile-content #ais-widget-hits em { + font-style: normal; + background-color: #ffdcc5; +} +.profile-content #ais-widget-hits table th span:hover { + cursor: default; +} +.profile-content .hits-empty { + margin: 0.5em; + margin-top: 1em; +} +.profile-content #ais-widget-hits .seo-placeholder-table { + padding: 0; +} +.profile-content .pagination li.active { + background-color: #c54e00; + color: white; +} +.profile-content .pagination .disabled { + visibility: hidden; +} +.profile-content .ais-Pagination-list { + display: inherit; +} +.profile-content .tabs-grants-table { + height: 20px; +} +.profile-content .tabs-grants-table .tab { + display: inherit; + text-align: inherit; + line-height: inherit; + height: inherit; + padding: inherit; + margin: inherit; + text-transform: inherit; +} +.profile-content .tabs-grants-table .tab a { + color: #999999 !important; + display: inherit; + width: inherit; + height: inherit; + padding: inherit; + font-size: 65%; + text-overflow: inherit; + overflow: inherit; + transition: inherit; +} +.profile-content .tabs-grants-table .indicator { + display: none; +} +.profile-content #tips { + display: none; +} +.profile-content .no-results #pagination, +.profile-content .no-results #sort-by, +.profile-content .no-results #facets, +.profile-content .no-results #clear, +.profile-content .no-results #stats, +.profile-content .no-results #left-column-affix-parent { + display: none; +} +.profile-content .no-results #tips { + display: block; +} +.profile-content #no-results-message { + margin-top: 50px; +} +.profile-content #no-results-message small, +.profile-content #no-results-message a i { + color: #f5f5f5; +} +.profile-content #tips ul li { + margin-bottom: 20px; +} +.profile-content ul.pagination li.active a { + color: #fff !important; + cursor: default; +} +.profile-content ul.pagination li.active a.go-to-page:hover { + background-color: inherit; +} +.profile-content ul.pagination a.go-to-page:hover { + background-color: #fff; +} +.profile-content ul.pagination .disabled a { + color: #999999 !important; +} +.profile-content ul.pagination .disabled a:hover { + color: #999999 !important; +} +.profile-content #application-info .collection, +.profile-content #application-info .collection-item { + border: none; +} +.profile-content #application-info .card-panel-header .row:first-child { + margin-bottom: 0; +} +.profile-content #alerts .img-icon-16, +.profile-content #about .img-icon-16 { + width: 16px; + height: 16px; + vertical-align: text-top; +} +.profile-content #alerts .card-panel-body, +.profile-content #about .card-panel-body { + padding: 15px 20px; +} +.profile-content #alerts .collection, +.profile-content #alerts .collection-item, +.profile-content #about .collection, +.profile-content #about .collection-item { + border: none; +} +.profile-content #alerts .collection:empty, +.profile-content #about .collection:empty { + display: none; +} +.profile-content #alerts .collection-item, +.profile-content #about .collection-item { + padding-left: 10px; +} +.profile-content #alerts .collection-item p, +.profile-content #about .collection-item p { + white-space: pre-wrap; +} +.profile-content #alerts .collection-item-empty-state p, +.profile-content #about .collection-item-empty-state p { + margin-bottom: 1em; +} +.profile-content #alerts .card-title, +.profile-content #about .card-title { + font-size: 0.9rem; + text-transform: uppercase; + color: #999999; +} +.profile-content #alerts .card-title i, +.profile-content #about .card-title i { + line-height: 0.9rem; +} +.profile-content #alerts .community-examples, +.profile-content #about .community-examples { + padding-top: 20px; + padding-bottom: 20px; +} +.profile-content #alerts .action-group, +.profile-content #about .action-group { + padding: 20px 0px; +} +@media only screen and (min-width: 601px) { + .profile-content .flex { + display: flex !important; + } + .profile-content .flex-grow-1 { + flex-grow: 1 !important; + } + .profile-content .flex-direction-column { + flex-direction: column; + } + .profile-content .card-panel-flex { + width: 100%; + } +} +.profile-content #feedback h5, +.profile-content #coffee-bottom-cta h5 { + margin-bottom: 25px; +} +.profile-content #filings a.text-default, +.profile-content #filings ul#mobile-nav.nav-primary.sidenav li a, +ul#mobile-nav.nav-primary.sidenav li .profile-content #filings a, +.profile-content #filings ul#navbar-more.dropdown-content li a, +ul#navbar-more.dropdown-content li .profile-content #filings a, +.profile-content #data-source a.text-default, +.profile-content #data-source ul#mobile-nav.nav-primary.sidenav li a, +ul#mobile-nav.nav-primary.sidenav li .profile-content #data-source a, +.profile-content #data-source ul#navbar-more.dropdown-content li a, +ul#navbar-more.dropdown-content li .profile-content #data-source a { + color: #333333 !important; +} +.profile-content #filings li .material-icons, +.profile-content #data-source li .material-icons { + color: #999999 !important; + margin: -1px 5px 0 0; + vertical-align: middle; +} +@media only screen and (max-width: 992px) { + .profile-content #filings li, + .profile-content #data-source li { + padding-bottom: 10px; + } + .profile-content #filings li:first-child, + .profile-content #data-source li:first-child { + display: block; + margin-bottom: 10px; + } +} +@media only screen and (max-width: 992px) { + .profile-content #filings .show-on-medium-and-down, + .profile-content #data-source .show-on-medium-and-down { + display: inline-block !important; + } +} + +.section-simple-intro { + margin-top: 64px; + z-index: 2; +} +.section-simple-intro h1.title { + color: #fff; +} + +.main-account-page .saved-profiles { + min-height: 400px; + padding: 80px 0; +} + +a.saved-profile-link { + color: #333333 !important; + margin-right: 10px; +} + +#saved-blank-state { + margin-bottom: -10px; +} + +.saved-profiles h1 { + font-weight: 500; + font-size: 1.825em; + line-height: 1.4em; + margin: 20px 0 10px; +} +.saved-profiles .right .material-icons { + font-size: 20px; + line-height: 23px; +} +.saved-profiles .collection-item .secondary-content { + margin-right: 10px; + cursor: pointer; +} +.saved-profiles .collection-item .secondary-content:focus { + outline: 0; +} +.saved-profiles .collection-item .secondary-content:first-child { + margin-right: 0; +} +.saved-profiles .collection-item .secondary-content:last-child { + margin-left: 10px; +} + +@media only screen and (min-width: 601px) { + .card-user-profile { + top: -200px; + } +} + +td, +th { + padding: 8px; +} + +.card-panel { + padding: 0; +} + +.card-panel-header { + background-color: #eeeeee; + color: rgba(0, 0, 0, 0.87); + padding: 10px 15px; + border: 0; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.card-panel-header h4 { + font-weight: 300; + font-size: 1.3em; + line-height: 1.4em; +} +.card-panel-header button.tooltipped { + height: 27px; +} + +.card-panel-body { + padding: 15px; +} + +table.bordered > thead > tr, +table.bordered > tbody > tr { + border-bottom: 1px solid #eee; +} + +table tbody tr:last-child { + border: 0 !important; +} + +@media only screen and (max-width: 992px) { + .responsive-table-wrapper { + width: 100%; + overflow-y: auto; + _overflow: auto; + margin: 0 0 1em; + } + + .responsive-table-wrapper::-webkit-scrollbar { + -webkit-appearance: none; + width: 14px; + height: 14px; + } + + .responsive-table-wrapper::-webkit-scrollbar-thumb { + border-radius: 8px; + border: 3px solid #fff; + background-color: rgba(0, 0, 0, 0.3); + } +} +footer .row-footer-primary-nav { + margin-top: 100px; + margin-bottom: 100px; +} +footer .row-footer-primary-nav h6 { + font-weight: 400; + line-height: 50px; +} +footer .row-footer-primary-nav p:first-of-type { + margin-top: 0px; +} +footer .row-footer-primary-nav p a { + color: #333333 !important; +} +footer .footer-secondary-nav-icons { + height: 48px; +} +footer .footer-secondary-nav-icons li a { + padding-left: 0; + padding-right: 0; +} +footer .text-default, +footer ul#mobile-nav.nav-primary.sidenav li a, +ul#mobile-nav.nav-primary.sidenav li footer a, +footer ul#navbar-more.dropdown-content li a, +ul#navbar-more.dropdown-content li footer a { + color: #333333 !important; +} +@media only screen and (max-width: 992px) { + footer .row-footer-primary-nav { + margin-top: 40px; + margin-bottom: 40px; + } + footer .row-footer-secondary-nav .left-align, + footer .row-footer-secondary-nav .copyright { + text-align: center !important; + } +} + +footer ul li { + display: inline-block; +} + +footer ul li a { + color: inherit !important; + padding: 15px; + font-weight: 500; + font-size: 12px; + text-transform: uppercase; + border-radius: 3px; + text-decoration: none; + position: relative; + display: block; +} + +footer .copyright { + margin: 15px 0; + padding: 15px 0; + font-size: 14px; +} +footer .copyright .material-icons { + font-size: 14px; + vertical-align: middle; +} + +.footer-terms { + background-color: #555555; + color: #999999 !important; + position: absolute; + width: 100%; +} +.footer-terms .row { + margin: 0; +} +.footer-terms ul { + margin: 5px 0; +} +.footer-terms a { + color: #999999 !important; +} + +/**************************** +Index - list of links +*****************************/ +ul#index { + margin-top: 4rem; +} +ul#index h3 { + font-size: 1.825em; + line-height: 1.4em; + margin: 20px 0 10px; +} +ul#index h6, +ul#index h3 { + color: #999; +} +ul#index li.active i { + -ms-transform: rotate(180deg); + /* IE 9 */ + -webkit-transform: rotate(180deg); + /* Chrome, Safari, Opera */ + transform: rotate(180deg); +} + +@media only screen and (min-width: 601px) { + .each-index-item { + padding-left: 68px; + text-indent: -68px; + } +} +/************************************ +Print +*************************************/ +@media print { + @page { + size: 330mm 427mm; + margin: 14mm; + } + .container-custom { + width: 1202px; + } + + .print-50.col.l6 { + width: 50%; + } + + .main-raised { + margin: 0 !important; + box-shadow: none !important; + } + + .print-no-pagebreak, + #grants-scroll-anchor, + #grants, + #application-info, + #financial-overview, + #financial-trends, + #financials, + #data-source { + page-break-inside: avoid; + } + + .brand { + color: #333333 !important; + } + + #main-nav nav { + display: none; + } + + #main-nav nav.affix-top { + display: block; + } + #main-nav .navbar-profile .breadcrumb-wrapper { + display: block; + } + #main-nav .nav-wrapper .col.s8.m6.l2 { + width: 25%; + } + #main-nav .nav-wrapper .breadcrumb { + font-size: inherit; + color: #333333 !important; + } + + .header-bg { + display: none; + } + + .alert-fixed-to-top div { + color: #333333; + } + + .wrapper { + background-color: #f5f5f5; + } + + .main { + top: 150px; + } + + #profile, + #summary, + #people, + #activities, + #grants, + #application-info, + #alerts, + #about, + #financial-overview, + #financial-trends, + #data-source { + margin-bottom: 0 !important; + } + + #tagline { + margin-top: 75px !important; + } + + .card-panel-header h4 { + line-height: initial; + margin: 0; + } + + .col.s12.l4 { + width: 33.3333333333%; + } + + .col.s12.l7.offset-l1 { + margin-left: 8.3333333333%; + width: 58.3333333333%; + } + + .pushpin-nav-search, + .pin-bottom { + position: relative !important; + top: 0px !important; + } + + .pinned { + box-shadow: none !important; + } + + .pin-bottom { + display: block !important; + } + + .pin-bottom .profile-content #grants .card-panel-header-wrapper { + height: inherit !important; + } + + #algolia-hits-wrapper .col.s12.l3 { + width: 25%; + } + #algolia-hits-wrapper .col.s12.l9 { + width: 75%; + } + + .ais-stats { + display: none; + } + + .section-refinements .card { + box-shadow: + 0 2px 2px 0 rgba(0, 0, 0, 0.05), + 0 3px 1px -2px rgba(0, 0, 0, 0.05), + 0 1px 5px 0 rgba(0, 0, 0, 0.05); + } + + #financial-overview canvas, + #financial-trends canvas { + width: 500px !important; + height: 300px !important; + } + + .left-action-bar { + display: none !important; + } + + .flex { + display: flex !important; + } + + .flex-grow-1 { + flex-grow: 1 !important; + } + + .flex-direction-column { + flex-direction: column; + } + + .card-panel-flex { + width: 100%; + } + + .print-hidden { + display: none !important; + } +} diff --git a/apps/web/src/lib/assets/legacy/images/NY.jpg b/apps/web/src/lib/assets/legacy/images/NY.jpg new file mode 100755 index 0000000..8e5b625 Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/NY.jpg differ diff --git a/apps/web/src/lib/assets/legacy/images/algolia-light-bg.svg b/apps/web/src/lib/assets/legacy/images/algolia-light-bg.svg new file mode 100644 index 0000000..44e9942 --- /dev/null +++ b/apps/web/src/lib/assets/legacy/images/algolia-light-bg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/web/src/lib/assets/legacy/images/algolia-partnership-logo-alt.svg b/apps/web/src/lib/assets/legacy/images/algolia-partnership-logo-alt.svg new file mode 100644 index 0000000..1c96e2d --- /dev/null +++ b/apps/web/src/lib/assets/legacy/images/algolia-partnership-logo-alt.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/src/lib/assets/legacy/images/algolia-partnership-logo.svg b/apps/web/src/lib/assets/legacy/images/algolia-partnership-logo.svg new file mode 100644 index 0000000..07e66f3 --- /dev/null +++ b/apps/web/src/lib/assets/legacy/images/algolia-partnership-logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/src/lib/assets/legacy/images/blank-chart-trends.jpg b/apps/web/src/lib/assets/legacy/images/blank-chart-trends.jpg new file mode 100644 index 0000000..5d922da Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/blank-chart-trends.jpg differ diff --git a/apps/web/src/lib/assets/legacy/images/blank-chart.jpg b/apps/web/src/lib/assets/legacy/images/blank-chart.jpg new file mode 100644 index 0000000..3e6813c Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/blank-chart.jpg differ diff --git a/apps/web/src/lib/assets/legacy/images/email.svg b/apps/web/src/lib/assets/legacy/images/email.svg new file mode 100644 index 0000000..deffd65 --- /dev/null +++ b/apps/web/src/lib/assets/legacy/images/email.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/apps/web/src/lib/assets/legacy/images/favicon.png b/apps/web/src/lib/assets/legacy/images/favicon.png new file mode 100644 index 0000000..68485d2 Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/favicon.png differ diff --git a/apps/web/src/lib/assets/legacy/images/github.svg b/apps/web/src/lib/assets/legacy/images/github.svg new file mode 100644 index 0000000..5e7407d --- /dev/null +++ b/apps/web/src/lib/assets/legacy/images/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/web/src/lib/assets/legacy/images/irs-w-text-alt.png b/apps/web/src/lib/assets/legacy/images/irs-w-text-alt.png new file mode 100644 index 0000000..88c9656 Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/irs-w-text-alt.png differ diff --git a/apps/web/src/lib/assets/legacy/images/irs-w-text.png b/apps/web/src/lib/assets/legacy/images/irs-w-text.png new file mode 100644 index 0000000..ff03578 Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/irs-w-text.png differ diff --git a/apps/web/src/lib/assets/legacy/images/logo.png b/apps/web/src/lib/assets/legacy/images/logo.png new file mode 100644 index 0000000..ba52505 Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/logo.png differ diff --git a/apps/web/src/lib/assets/legacy/images/propublica.png b/apps/web/src/lib/assets/legacy/images/propublica.png new file mode 100644 index 0000000..8006e33 Binary files /dev/null and b/apps/web/src/lib/assets/legacy/images/propublica.png differ diff --git a/apps/web/src/lib/assets/legacy/images/twitter.svg b/apps/web/src/lib/assets/legacy/images/twitter.svg new file mode 100644 index 0000000..e10908e --- /dev/null +++ b/apps/web/src/lib/assets/legacy/images/twitter.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/web/src/lib/assets/legacy/js/profile.js b/apps/web/src/lib/assets/legacy/js/profile.js new file mode 100644 index 0000000..30c0412 --- /dev/null +++ b/apps/web/src/lib/assets/legacy/js/profile.js @@ -0,0 +1,441 @@ +export function initProfileJs(M, orgFinancialStats) { + // BROWSER CHECKS + // ======================================================= + const isMobile = window.matchMedia('only screen and (max-width: 992px)'); + + let isSupported = browserTest(); + + // Show message if not supported + if (!isSupported) { + const toastContent = + 'Your browser is currently not supported.
Many useful features may not work.
Browser Suggestions'; + M.Toast.dismissAll(); + M.toast({ + html: toastContent, + displayLength: 10000, + }); + + // Hide Algolia elements + const algoliaElements = document.querySelectorAll('.js-ie-check'); + algoliaElements.forEach(function (el) { + el.classList.add('hidden'); + }); + } + + function browserTest() { + const parent = document.createElement('div'); + const el = document.createElement('span'); + try { + parent.prepend(el); // Using ParentNode.prepend() as proxy for supported browsers + return true; + } catch (e) { + return false; + } + } + + // NAVBAR + // ======================================================= + const header = document.querySelector('.header'); + const navbar = document.querySelector('.navbar-profile'); + const navbarHeight = 64; + + // Set header opacity on page load + setHeaderOpacity(); + + // Adjust opacity after scrolling + window.addEventListener('scroll', function () { + setHeaderOpacity(); + }); + + function setHeaderOpacity() { + let scrollTop = window.pageYOffset | document.body.scrollTop; + let height = header.offsetHeight; + let offset = height / 2; + let calc = 1 - (scrollTop - offset + navbarHeight) / navbarHeight; + header.style.opacity = calc; + + if (calc > 1) { + header.style.opacity = '1'; + navbar.classList.add('affix-top'); + navbar.classList.remove('affix'); + } else if (calc < 0) { + header.style.opacity = '0'; + navbar.classList.add('affix'); + navbar.classList.remove('affix-top'); + } + } + + // INIT MATERIALIZE COMPONENTS + // ======================================================= + const elemsNavMore = document.getElementById('primary-navbar-dropdown-trigger'); + const optionsNavMore = { + container: 'main-nav', + constrainWidth: false, + }; + M.Dropdown.init(elemsNavMore, optionsNavMore); + + const elemsSideNav = document.querySelectorAll('.sidenav'); + M.Sidenav.init(elemsSideNav); + + const elemsNavScrollspy = document.querySelectorAll('.scrollspy'); + const optionsNavScrollspy = { scrollOffset: navbarHeight }; + M.ScrollSpy.init(elemsNavScrollspy, optionsNavScrollspy); + + const elemCommunitySidebar = document.getElementById('community-sidebar'); + const optionsCommunitySidebar = { + edge: 'right', + }; + M.Sidenav.init(elemCommunitySidebar, optionsCommunitySidebar); + + // :not ensures Vue handles relevant initiation for Vue-controlled elements + const elemsTooltips = document.querySelectorAll('.tooltipped:not(.v-tooltipped)'); + M.Tooltip.init(elemsTooltips); + window.onload = function () {}; + + // CHART.JS + // ======================================================= + // Lazy load via Intersection Observer if browser allows + // Jekyll sets a global variable orgFinancialsStats in profile.html + const orgCurrentTaxYear = document.querySelector('h1.org-name').dataset.taxYear; + const chartWrapperOverview = document.getElementById('financial-overview').getElementsByClassName('chart-wrapper')[0]; + const chartWrapperTrends = document.getElementById('financial-trends').getElementsByClassName('chart-wrapper')[0]; + + if (!isMobile.matches && 'IntersectionObserver' in window) { + gaChartsEvents('Charts baseline'); + createChartsObserver(); + } + + function createChartsObserver() { + let observer; + let anchor = document.getElementById('financial-overview'); + let config = { + rootMargin: '0px 0px', + threshold: 0.01, + }; + // Initiate observer using Financial Overview section as anchor + observer = new IntersectionObserver(enableCharts, config); + observer.observe(anchor); + // Initiate preloaders / spinners + // Only need to show Trends chart if more than one tax year is available + showLoader(chartWrapperOverview); + if (orgFinancialStats.length > 1) { + showLoader(chartWrapperTrends); + } + } + + function enableCharts(entries, observer) { + entries.forEach((entry) => { + if (entry.isIntersecting) { + gaChartsEvents('Visitor reached financial divs'); + // Run the function that fetches Chart.js and loads it into the DOM + loadCharts(); + observer.unobserve(entry.target); + } + }); + } + + function loadCharts() { + gaChartsEvents('Loading ChartJS'); + const chartJS = document.createElement('script'); + chartJS.type = 'text/javascript'; + chartJS.src = 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js'; + // Make Chart.js script available on client + document.body.appendChild(chartJS); + // Now that Chart.js script is available, create the charts + createCharts(chartJS); + } + + function createCharts(init) { + const chartsColorPrimary = '#607d8b'; + const chartsColorSecondary = '#c54e00'; + const chartsColorTertiary = '#00bfa5'; + + const assets = orgFinancialStats.map((value) => value.assets).reverse(); + const distributions = orgFinancialStats.map((value) => value.distributions).reverse(); + const contributions = orgFinancialStats.map((value) => value.contributions).reverse(); + const years = orgFinancialStats.map((value) => value.tax_year).reverse(); + const year1 = orgFinancialStats[0]; + + const ctx = document.getElementById('chart-overview').getContext('2d'); + const ctxTrends = document.getElementById('chart-trends').getContext('2d'); + + init.onload = function () { + gaChartsEvents('ChartsJS successfully loaded'); + let hideLoaderOverviewExecuted = false; + const chartsFinancialOverview = new Chart(ctx, { + /* eslint-disable-line no-unused-vars */ type: 'horizontalBar', + responsive: true, + data: { + labels: ['Assets EOY', 'Distributions', 'Contributions'], + datasets: [ + { + data: [year1.assets, year1.distributions, year1.contributions], + backgroundColor: [chartsColorPrimary, chartsColorSecondary, chartsColorTertiary], + }, + ], + }, + options: { + title: { + display: true, + text: `Latest Electronic Tax Filing (${orgCurrentTaxYear})`, + }, + legend: { + display: false, + }, + scales: { + xAxes: [ + { + ticks: { + beginAtZero: true, + callback: function (value) { + return `$${numberHuman(value, 0)}`; + }, + }, + }, + ], + yAxes: [ + { + gridLines: { + display: false, + }, + }, + ], + }, + tooltips: { + callbacks: { + label: function (tooltipItem) { + return new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + minimumFractionDigits: 0, + }).format(tooltipItem.value); + }, + }, + }, + animation: { + onProgress: function (animation) { + if (animation.numSteps > 0 && !hideLoaderOverviewExecuted) { + hideLoaderOverviewExecuted = true; + hideLoader(chartWrapperOverview); + } + }, + onComplete: function () { + gaChartsEvents('Charts successfully drawn'); + }, + }, + }, + }); + // Only need to show Trends chart if more than one tax year is available + if (orgFinancialStats.length > 1) { + let hideLoaderTrendsExecuted = false; + const chartsFinancialTrends = new Chart(ctxTrends, { + /* eslint-disable-line no-unused-vars */ type: 'bar', + responsive: true, + data: { + labels: years, + datasets: [ + { + label: 'Assets EOY', + borderColor: chartsColorPrimary, + data: assets, + type: 'line', + fill: false, + }, + { + label: 'Distributions', + backgroundColor: chartsColorSecondary, + data: distributions, + }, + { + label: 'Contributions', + backgroundColor: chartsColorTertiary, + data: contributions, + }, + ], + }, + options: { + title: { + display: true, + text: 'All Available Electronic Tax Returns', + }, + legend: { + display: true, + }, + scales: { + yAxes: [ + { + ticks: { + beginAtZero: true, + callback: function (value) { + return `$${numberHuman(value, 0)}`; + }, + }, + }, + ], + xAxes: [ + { + gridLines: { + display: false, + }, + }, + ], + }, + tooltips: { + callbacks: { + label: function (tooltipItem) { + return new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + minimumFractionDigits: 0, + }).format(tooltipItem.value); + }, + }, + }, + animation: { + onProgress: function (animation) { + if (animation.numSteps > 0 && !hideLoaderTrendsExecuted) { + hideLoaderTrendsExecuted = true; + hideLoader(chartWrapperTrends); + } + }, + }, + }, + }); + } + }; + } + + function showLoader(el) { + el.classList.remove('default'); + el.classList.add('loading'); + } + + function hideLoader(el) { + el.classList.remove('loading'); + el.classList.add('loaded'); + } + + function numberHuman(num, decimals) { + if (num === null) { + return null; + } // terminate early + if (num === 0) { + return '0'; + } // terminate early + if (isNaN(num)) { + return num; + } // terminate early if already a string - handles edge case likely caused by caching + const fixed = !decimals || decimals < 0 ? 0 : decimals; // number of decimal places to show + const b = num.toPrecision(2).split('e'); // get power + const k = b.length === 1 ? 0 : Math.floor(Math.min(b[1].slice(1), 14) / 3); // floor at decimals, ceiling at trillions + const c = k < 1 ? num.toFixed(0 + fixed) : (num / Math.pow(10, k * 3)).toFixed(1 + fixed); // divide by power + const d = c < 0 ? c : Math.abs(c); // enforce -0 is 0 + const e = d + ['', 'K', 'M', 'B', 'T'][k]; // append power + return e; + } + + function gaChartsEvents(label) { + let gaCheck = window[window['GoogleAnalyticsObject'] || 'ga']; // eslint-disable-line dot-notation + if (typeof gaCheck === 'function') { + ga('send', 'event', { + eventCategory: 'Profile Events', + eventAction: 'Charts Loading Sequence', + eventLabel: label, + }); + } + } + + // FILINGS + // ======================================================= + + document.querySelectorAll('.js-filings-pdf').forEach((el) => { + // TODO Call ProPublica API + // addFilingURL(el); + // el.addEventListener('click', checkURL); + el.addEventListener('click', fetchProPublicaData); + }); + + document.querySelectorAll('.js-filings-xml').forEach((el) => { + const ein = el.dataset.ein; + el.addEventListener( + 'click', + () => { + xmlNotAvailable(ein); + }, + false, + ); + }); + + async function fetchProPublicaData(e) { + e.preventDefault(); + const elem = e.target; + const ein = elem.getAttribute('data-ein'); + const url = `https://projects.propublica.org/nonprofits/api/v2/organizations/${ein}.json`; + // const data = { 'target': target }; + // const json = JSON.stringify(data); + + try { + const response = await fetch(url, { + method: 'GET', + // headers: { + // accept: 'application/json', + // }, + }); + + if (!response.ok) { + return `Error! status: ${response.status}`; + // throw new Error(`Error! status: ${response.status}`); + } + + const result = await response.json(); + return result; + } catch (err) { + console.log(err); + return false; + } + } + + function xmlNotAvailable(ein) { + console.log('Clicked'); + const toastContent = `XML files not currently availableTry Here`; + M.Toast.dismissAll(); + M.toast({ + html: toastContent, + displayLength: 10000, + }); + } + + // Lazy Load Iubenda script + // ======================================================= + function createIubendaObserver() { + let observer; + let anchor = document.querySelector('footer'); + let config = { + rootMargin: '0px 0px', + threshold: 0.01, + }; + // Initiate observer using Footer as anchor + observer = new IntersectionObserver(enableIubenda, config); + observer.observe(anchor); + } + + function enableIubenda(entries, observer) { + entries.forEach((entry) => { + if (entry.isIntersecting) { + iubenda(); + observer.unobserve(entry.target); + } + }); + } + + function iubenda() { + const script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = 'https://cdn.iubenda.com/iubenda.js'; + document.body.appendChild(script); + } + + if ('IntersectionObserver' in window) { + createIubendaObserver(); + } +} diff --git a/apps/web/src/lib/assets/legacy/js/search.js b/apps/web/src/lib/assets/legacy/js/search.js new file mode 100644 index 0000000..9308d8d --- /dev/null +++ b/apps/web/src/lib/assets/legacy/js/search.js @@ -0,0 +1,639 @@ +import { algoliasearch } from 'algoliasearch'; +import instantsearch from 'instantsearch.js'; +import { + configure, + stats, + searchBox, + panel, + rangeSlider, + refinementList, + clearRefinements, + pagination, + poweredBy, +} from 'instantsearch.js/es/widgets'; +import { connectHits, connectRefinementList, connectCurrentRefinements } from 'instantsearch.js/es/connectors'; +import { highlight } from 'instantsearch.js/es/helpers'; +import { PUBLIC_ALGOLIA_APP_ID_GRANTS, PUBLIC_ALGOLIA_SEARCH_ONLY_KEY_GRANTS, PUBLIC_ALGOLIA_INDEX_NAME_GRANTS } from '$env/static/public'; + +if (!PUBLIC_ALGOLIA_APP_ID_GRANTS || PUBLIC_ALGOLIA_SEARCH_ONLY_KEY_GRANTS || !PUBLIC_ALGOLIA_INDEX_NAME_GRANTS) { + throw new Error('Missing required Algolia public keys. Please ensure environment variables are set.'); +} + +export function initSearchJs(M) { + // Helper definitions + // ======================================================= + const targetEIN = document.querySelector('h1.org-name').dataset.ein; + const targetOrgName = document.querySelector('h1.org-name').dataset.name; + const targetTaxYearOnlyOne = document.querySelector('h1.org-name').dataset.taxYearOnlyOne === 'true'; // resolves to boolean true or false + + // Note - fixed grants header handled by profile.js + + // Initialize Materialize components + // ======================================================= + // Note: if the element is created dynamically via Instantsearch widget, + // the plugin needs to be initialized in the normal Instantsearch workflow + // using the render method (e.g. search.once('render'...) + const elemsSN = document.querySelectorAll('.sidenav'); + M.Sidenav.init(elemsSN); + + // Algolia Instantsearch + // ======================================================= + // Config + const searchClient = algoliasearch(PUBLIC_ALGOLIA_APP_ID_GRANTS, PUBLIC_ALGOLIA_SEARCH_ONLY_KEY_GRANTS); + const algoliaIndex = PUBLIC_ALGOLIA_INDEX_NAME_GRANTS; + const facets = [ + { + facet: 'tax_year', + label: 'Tax Year', + }, + { + facet: 'grantee_city', + label: 'City', + }, + { + facet: 'grantee_state', + label: 'State', + }, + { + facet: 'grantee_name', + label: 'Recipient', + }, + { + facet: 'grant_purpose', + label: 'Purpose', + }, + { + facet: 'grant_amount', + label: 'Amount', + }, + ]; + const search = instantsearch({ + indexName: algoliaIndex, + searchClient, + numberLocale: 'en-US', + future: { + preserveSharedStateOnUnmount: true, + }, + routing: { + stateMapping: { + stateToRoute(uiState) { + /** + * State to Route updates the url from whatever is happening in Instantsearch + * We use the character ~ as it is one that is rarely present in data and renders well in URLs + */ + const indexUiState = uiState[algoliaIndex]; + return { + query: indexUiState.query, + tax_year: indexUiState.refinementList && indexUiState.refinementList.tax_year && indexUiState.refinementList.tax_year.join('~'), + grantee_city: + indexUiState.refinementList && indexUiState.refinementList.grantee_city && indexUiState.refinementList.grantee_city.join('~'), + grantee_state: + indexUiState.refinementList && + indexUiState.refinementList.grantee_state && + indexUiState.refinementList.grantee_state.join('~'), + grantee_name: + indexUiState.refinementList && indexUiState.refinementList.grantee_name && indexUiState.refinementList.grantee_name.join('~'), + grant_purpose: + indexUiState.refinementList && + indexUiState.refinementList.grant_purpose && + indexUiState.refinementList.grant_purpose.join('~'), + grant_amount: indexUiState.range && indexUiState.range.grant_amount && indexUiState.range.grant_amount.replace(':', '~'), + page: indexUiState.page, + }; + }, + /* eslint-disable camelcase */ + routeToState(routeState) { + /** + * Route to State takes the url and parses it + * The object it creates is sent to the widgets + */ + return { + [algoliaIndex]: { + query: routeState.query, + refinementList: { + tax_year: routeState.tax_year && routeState.tax_year.split('~'), + grantee_city: routeState.grantee_city && routeState.grantee_city.split('~'), + grantee_state: routeState.grantee_state && routeState.grantee_state.split('~'), + grantee_name: routeState.grantee_name && routeState.grantee_name.split('~'), + grant_purpose: routeState.grant_purpose && routeState.grant_purpose.split('~'), + }, + range: { + grant_amount: routeState.grant_amount && routeState.grant_amount.replace('~', ':'), + }, + page: routeState.page, + }, + }; + }, + }, + }, + }); + /* eslint-enable camelcase */ + + // Define templates + const templateStats = ` + {{#hasNoResults}}No results{{/hasNoResults}} + {{#hasOneResult}}1 result{{/hasOneResult}} + {{#hasManyResults}}{{#helpers.formatNumber}}{{nbHits}}{{/helpers.formatNumber}} results{{/hasManyResults}} + +`; + + // Define color palette + const panelHeaderClasses = ['card-header', 'grey', 'lighten-4']; + const panelHeaderClassesMobile = ['card-header', 'blue-grey', 'lighten-4']; + + /* ---------------------------- */ + /* Connector - Hits Widget */ + /* ---------------------------- */ + + const renderHits = (renderOptions) => { + const { hits, results, widgetParams } = renderOptions; + + if (!hits.length && results) { + document.getElementById('ais-widget-pagination').classList.add('hidden'); + + widgetParams.container.innerHTML = ` +
\ +
+
+

No results found for your query "${results.query}"

+
+
+ +
+
+

+ Searching grants from
+ ${targetOrgName} +

+
+
+ +
+
+
Not finding what you're looking for?
+

Search for a different foundation

+

Search for your query across the entire grants dataset

+
+
+ + + +
+ `; + } else { + document.getElementById('ais-widget-pagination').classList.remove('hidden'); + widgetParams.container.innerHTML = ` + + + + + + + + + + + + ${hits + .map( + (item) => ` + + + + + + + + `, + ) + .join('')} + +
AmountNamePurposeLocationYear
$${item.grant_amount.toLocaleString()}${highlight({ attribute: 'grantee_name', hit: item })}${highlight({ attribute: 'grant_purpose', hit: item })} + ${item.grantee_city && item.grantee_city.length ? highlight({ attribute: 'grantee_city', hit: item }) + ', ' + item.grantee_state : item.grantee_state || ''} + ${item.tax_year}
+ `; + document.querySelectorAll('#ais-widget-hits td').forEach((e) => e.addEventListener('click', refineIfTableItemClicked)); + } + }; + + const customHits = connectHits(renderHits); + + /* --------------------------------------------------- */ + /* Connector - RefinementList Widget (Tax Year Toggle) */ + /* --------------------------------------------------- */ + const renderRefinementList = (renderOptions) => { + const { items, refine, widgetParams } = renderOptions; + + widgetParams.container.innerHTML = ` + + `; + + // Only enable click events and dropdown if multiple tax years exist + if (!targetTaxYearOnlyOne) { + // Initialize Materialize dropdown plugin + reInitDropdown(); + // Create click events to allow Algolia to refine + [...widgetParams.container.querySelectorAll('li')].forEach((element) => { + element.addEventListener('click', (event) => { + event.preventDefault(); + event.stopPropagation(); + refine(event.currentTarget.dataset.value); + }); + }); + } + }; + + const customRefinementList = connectRefinementList(renderRefinementList); + + /* ---------------------------- */ + /* Connector - Range Slider */ + /* ---------------------------- */ + const customRangeSliderWithPanel = panel({ + templates: { + header: 'Amount', + }, + hidden(options) { + return options.results.nbHits === 0; + }, + cssClasses: { + root: 'card', + header: panelHeaderClasses, + body: 'card-content', + }, + })(rangeSlider); + + /* ------------------------------- */ + /* Connector - Current Refinements */ + /* ------------------------------- */ + const createDataAttributes = (refinement) => + Object.keys(refinement) + .map((key) => `data-${key}="${refinement[key]}"`) + .join(' '); + + const renderListItem = (item) => ` + ${item.refinements + .map( + (refinement) => ` +
  • + +
  • + `, + ) + .join('')} + `; + + const renderCurrentRefinements = (renderOptions) => { + const { items, refine, widgetParams } = renderOptions; + + widgetParams.container.innerHTML = ``; + + [...widgetParams.container.querySelectorAll('button')].forEach((element) => { + element.addEventListener('click', (event) => { + const item = Object.keys(event.currentTarget.dataset).reduce( + (acc, key) => ({ + ...acc, + [key]: event.currentTarget.dataset[key], + }), + {}, + ); + + refine(item); + }); + }); + }; + + const customCurrentRefinements = connectCurrentRefinements(renderCurrentRefinements); + + /* ---------------------------- */ + /* Create all other refinements */ + /* ---------------------------- */ + facets.forEach((refinement) => { + let sortBy = ['isRefined', 'count:desc', 'name:asc']; + // Amount handled by range widget + if (refinement.facet === 'grant_amount') { + return; + } + // Sorting by year, not count, makes more sense w/ Tax Years + if (refinement.facet === 'tax_year') { + sortBy = ['isRefined', 'name:desc', 'count:desc']; + } + + /* Mobile */ + const mobileRefinementListWithPanel = panel({ + templates: { + header: refinement.label, + }, + hidden(options) { + return options.results.nbHits === 0; + }, + cssClasses: { + root: 'card', + header: panelHeaderClassesMobile, + body: 'card-content', + }, + })(refinementList); + + search.addWidget( + mobileRefinementListWithPanel({ + container: `#ais-widget-mobile-refinement-list--${refinement.facet}`, + attribute: refinement.facet, + limit: 8, + showMore: false, + cssClasses: { + checkbox: 'filled-in', + count: ['right', 'small'], + selectedItem: ['grantmakers-text'], + }, + }), + ); + + // On desktop, tax year uses custom widget + if (refinement.facet === 'tax_year') { + return; + } + + /* Desktop */ + const refinementListWithPanel = panel({ + templates: { + header: refinement.label, + }, + hidden(options) { + return options.results.nbHits === 0; + }, + cssClasses: { + root: 'card', + header: panelHeaderClasses, + body: 'card-content', + }, + })(refinementList); + + search.addWidget( + refinementListWithPanel({ + container: `#ais-widget-refinement-list--${refinement.facet}`, + attribute: refinement.facet, + limit: 3, + showMore: true, + sortBy: sortBy, + // 'searchable': true, + cssClasses: { + checkbox: 'filled-in', + labelText: 'small', + count: ['right', 'small'], + showMore: ['btn-flat', 'btn-small'], + disabledShowMore: ['disabled'], + // 'selectedItem': ['grants-search-text'], + // 'searchableRoot': 'ais-SearchBox-refinements', + // 'searchableSubmit': 'hidden', + }, + }), + ); + }); + + /* ---------------------------- */ + /* Instantiate all Widgets + /* ---------------------------- */ + search.addWidgets([ + searchBox({ + container: '#ais-widget-search-box', + placeholder: 'Search by keyword or recipient name', + autofocus: false, + reset: true, + queryHook: function (query, searchInstance) { + searchInstance(query); + }, + }), + + configure({ + filters: 'ein:' + targetEIN, + }), + + stats({ + container: '#ais-widget-stats', + templates: { + text: templateStats, + }, + cssClasses: { + root: 'center-align-on-mobile', + text: ['text-muted', 'hide-on-med-and-down'], + }, + }), + + poweredBy({ + container: '#powered-by', + }), + + customHits({ + container: document.querySelector('#ais-widget-hits'), + }), + + customRangeSliderWithPanel({ + container: '#ais-widget-range-slider', + attribute: 'grant_amount', + tooltips: { + format: function (rawValue) { + return `$${numberHuman(rawValue, 0)}`; + }, + }, + pips: false, + }), + + customRefinementList({ + container: document.querySelector('#ais-widget-refinement-list--tax_year'), + attribute: 'tax_year', + limit: 8, + sortBy: ['isRefined', 'name:desc'], + }), + + customCurrentRefinements({ + container: document.querySelector('#ais-widget-current-refined-values'), + }), + + clearRefinements({ + container: '#ais-widget-clear-all', + templates: { + resetLabel: 'Clear filters', + }, + cssClasses: { + button: ['btn', 'btn-custom', 'blue-grey', 'lighten-3', 'grey-text', 'text-darken-3', 'waves-effect', 'waves-light'], + }, + }), + + clearRefinements({ + container: '#ais-widget-mobile-clear-all', + cssClasses: { + button: ['waves-effect', 'waves-light', 'btn', 'btn', 'grey', 'lighten-5', 'grey-text', 'text-darken-3'], + }, + templates: { + resetLabel: 'Clear', + }, + }), + + pagination({ + container: '#ais-widget-pagination', + scrollTo: false, + cssClasses: { + root: 'pagination', + page: 'waves-effect', + selectedItem: ['active', 'grey'], + disabledItem: 'disabled', + }, + }), + ]); + + /* ---------------------------- */ + /* Render Widgets + /* ---------------------------- */ + search.once('render', function () { + const elemsFS = document.querySelectorAll('select'); + M.FormSelect.init(elemsFS); + hideSeoPlaceholders(); + showSortByDropdown(); + }); + + search.on('error', function (e) { + if (e.statusCode === 429) { + renderRateLimit(); + console.log('Rate limit reached'); // eslint-disable-line no-console + } + if (e.statusCode === 403) { + renderForbidden(); + console.log('Origin forbidden'); // eslint-disable-line no-console + } + console.log(e); + }); + + /* ---------------------------- */ + /* Start Search + /* ---------------------------- */ + search.start(); + + // Materialize - initialize tax year dropdown + // ======================================================= + function reInitDropdown() { + const elems = document.querySelectorAll('.dropdown-trigger'); + M.Dropdown.init(elems, { container: 'ais-widget-refinement-list--tax_year' }); + } + + // Helper functions + // ======================================================= + function hideSeoPlaceholders() { + const target = document.getElementById('ais-widget-refinement-list--seo-placeholder'); + target.classList.add('hidden'); + } + + function showSortByDropdown() { + const el = document.getElementById('ais-widget-sort-by'); + const trigger = el.querySelector('a.dropdown-trigger'); + el.classList.remove('hidden'); + // Check if only one tax year exists + // and disable clicks to prevent confusion + if (targetTaxYearOnlyOne) { + trigger.classList.add('disabled'); + trigger.addEventListener('click', function () { + M.Toast.dismissAll(); + M.toast({ + html: 'Nothing to filter Only one tax year available', + displayLength: 4000, + }); + }); + } + } + + function refineIfTableItemClicked(e) { + const elem = e.target.closest('td'); + const facet = elem.dataset.facet; + let value = elem.dataset.facetValue; + + if (facet !== 'grant_amount' && facet !== 'tax_year') { + search.helper.toggleFacetRefinement(facet, value).search(); + } else if (facet === 'grant_amount') { + M.Toast.dismissAll(); + M.toast({ + html: 'ProTip Try the Amount slider', + displayLength: 4000, + }); + } else if (facet === 'tax_year') { + // Only allow refining if multiple tax years exist + if (targetTaxYearOnlyOne) { + M.Toast.dismissAll(); + M.toast({ + html: 'Nothing to filter Only one tax year available', + displayLength: 4000, + }); + } else { + search.helper.toggleFacetRefinement(facet, value).search(); + } + } + } + + function renderRateLimit() { + const message = document.getElementById('rate-limit-message'); + message.classList.remove('hidden'); + + const results = document.getElementById('algolia-hits-wrapper'); + results.classList.add('hidden'); + } + + function renderForbidden() { + const message = document.getElementById('forbidden-message'); + message.classList.remove('hidden'); + + const results = document.getElementById('algolia-hits-wrapper'); + results.classList.add('hidden'); + } + + function getLabel(item) { + const obj = facets.filter((each) => each.facet === item); + return obj[0].label; + } + + function formatIfRangeLabel(refinement) { + if (refinement.attribute !== 'grant_amount') { + return refinement.label; + } else { + return `${refinement.operator} $${numberHuman(refinement.value)}`; + } + } + + function numberHuman(num, decimals) { + if (num === null) { + return null; + } // terminate early + if (num === 0) { + return '0'; + } // terminate early + if (isNaN(num)) { + return num; + } // terminate early if already a string - handles edge case likely caused by caching + const fixed = !decimals || decimals < 0 ? 0 : decimals; // number of decimal places to show + const b = num.toPrecision(2).split('e'); // get power + const k = b.length === 1 ? 0 : Math.floor(Math.min(b[1].slice(1), 14) / 3); // floor at decimals, ceiling at trillions + const c = k < 1 ? num.toFixed(0 + fixed) : (num / Math.pow(10, k * 3)).toFixed(1 + fixed); // divide by power + const d = c < 0 ? c : Math.abs(c); // enforce -0 is 0 + const e = d + ['', 'K', 'M', 'B', 'T'][k]; // append power + return e; + } +} diff --git a/apps/web/src/lib/components/legacy/Profile.svelte b/apps/web/src/lib/components/legacy/Profile.svelte new file mode 100644 index 0000000..2d514cb --- /dev/null +++ b/apps/web/src/lib/components/legacy/Profile.svelte @@ -0,0 +1,1503 @@ + + + + + + + + + + +
    +
    +
    +
    +
    +
    +
    + IRS Form 990 PF +
    +
    +
    +
    + Tax Year {taxYear} +
    +
    + +
    +
    +
    +
    +
    +
    + {#if firstLetter !== ''} +
    +
    {firstLetter}
    +
    + {:else} + Foundation First Initial Icon + {/if} +
    +
    +

    0)} + > + {#if page.website} + {page.organization_name} + {:else} + {page.organization_name} + {/if} +

    + {#if page.is_foreign} +
    + {page.city}, {#if page.state == 'Foreign'}{page.country}*{:else}{page.state}{/if} +
    + {:else} +
    {page.city}, {page.state}
    + {/if} +
      +
    • + {#if page.has_recent_grants} + monetization_on + {:else} + monetization_on + {/if} +
    • +
    • + {#if page.is_likely_staffed} + account_circle + {:else} + account_circle + {/if} +
    • + {#if page.website && page.website_is_an_email != true} +
    • + public +
    • + {:else if page.website && page.website_is_an_email == true && page.grants_to_preselected_only != true} +
    • + public +
    • + {:else} +
    • + public +
    • + {/if} +
    • + {#if page.grants_to_preselected_only} + lock + {:else} + lock_open + {/if} +
    • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Summary

    +
    +
    +
    +
    +

    Assets

    +

    {humanizeCurrency(page.assets)}

    +
    +
    +
    +
    +
    +
    +
    +

    Distributions

    +
    {humanizeCurrency(page.distributions)}
    +
    +
    +

    Contributions

    +
    {humanizeCurrency(page.contributions)}
    +
    +
    +
    +
    +
    +
    + {#if page.grant_count > 0} +
    +
    +
    +
    +
    +
    +

    Grant Median

    +
    {humanizeCurrency(page.grant_median)}
    +
    +
    +

    Count

    +
    {humanizeNumber(page.grant_count)}
    +
    +
    +

    Grant Max

    +
    {humanizeCurrency(page.grant_max)}
    +
    +
    +
    +
    +
    +
    + {/if} + +
    +
    +
    +
    + +
    +
    +

    Latest Tax e-Filing

    +

    {taxYear}

    +
    +
    +

    Published by IRS

    +

    {formatDateToMonthYear(page.last_updated_irs) ?? 'N/A'}

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + People +

    +
    +
    +
    + + + + + + + + + + + + {#each page.people as each, i} + + + + + + + + {/each} + +
    #NameTitleHours / WkComp ($)
    {i + 1}{each.name}{each.title}{each.hours}{humanizeCurrency(each.compensation)}
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + Grantmakers.io logo + Grantmakers.io is an open source project for my friends in the nonprofit community +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    + Charitable Activities +

    +
    +
    +
    +
    + {#if page.has_charitable_activities === true} + {@const sorted_activities = [...page.charitable_activities].sort((a, b) => (b.expenses ?? 0) - (a.expenses ?? 0))} + +
      + {#each sorted_activities as activity} +
    • + + ${activity.expenses?.toLocaleString(undefined, { maximumFractionDigits: 0 }) ?? 'N/A'} + +
      + {activity.description} +
      +
    • + {/each} +
    + {:else} + No Charitable Activities listed on Form 990 PF Part IX-A + {/if} +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + {#if page.enable_algolia_search} +
    + error Searchable grants are currently 2-3 tax years behind. Grant updates + coming soon. +
    + {/if} + +
    +
    +
    +
    +
    +

    + Grants{#if algolia()} + + filter_list{/if} +

    +
    + + +
    +
    +
    + {#if algolia()} +
    + + +
    +
    + +
    +
    +
    Filters
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    Tax Year
    +
    +
    +
    +
      + {#each page.grants_facets as each} + {#if each.grant_count > 0} +
    • +
      + +
      +
    • + {/if} + {/each} +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + {page.grant_count_all_years} results +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + {#if page.grants_current_year_top_20 && page.grants_current_year_top_20.length > 0} + {#each page.grants_current_year_top_20.slice(0, 20) as each} + + + + + {#if each.is_foreign == true} + + {:else} + + {/if} + + + {/each} + {:else} + + + + + + + + {/if} + + {#if hasForeignGrantRecipients()} + + + + + + + {/if} +
    Amount ($)NamePurposeLocationYear
    {humanizeCurrency(each.amount)}{each.name}{each.purpose}{#if each.city != null}{each.city}, {each.country}*{/if}{#if each.city != null}{each.city}, {each.state}{/if}{page.filings[0].tax_year}
    No Grants Listed
    (*) Denotes foreign country
    +
    +
    +
    +
    + {#if page.grants_reference_attachment} +
    +
    +
    +
    +

    + warning The IRS does not currently provide attachments in the electronic + dataset from which this site is based. However, occasionally these attachments can be found in + the PDF version of the filing which you can find below. +

    +
    +
    +
    +
    + {/if} +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + {:else} +
    +
    +
    +
    +
    + {#if page.grant_count > 1000} +
    +
    +
    +
    + warning You may experience a delay when sorting. This foundation has a large + number of grants. +
    +
    +
    +
    + {/if} +
    +
    + Tax Year {page.filings[0].tax_year} +
    +
    + + + + + + + + + + + + {#if staticGrants && staticGrants.length > 0} + {#each staticGrants.slice(0, 50) as each, i} + + + + + {#if each.is_foreign == true} + + {:else} + + {/if} + + + {/each} + {:else} + + + + + + + + {/if} + + {#if hasForeignGrantRecipients()} + + + + + + + {/if} +
    #NamePurposeLocationAmount ($)
    {i + 1}{each.name}{each.purpose}{#if each.city != null}{each.city}, {each.country}*{/if}{#if each.city != null}{each.city}, {each.state}{/if}{humanizeCurrency(each.amount)}
    No Grants Listed
    (*) Denotes foreign country
    +
    + {#if page.grant_count > 50} +
    +
    +
    +
    + Note: The IRS dataset contains additional grants for this funder's {page.filings[0].tax_year} tax year ({page.grant_count} + total grants) +
    +
    +
    +
    + {/if} +
    + + {#if page.grants_reference_attachment} +
    +
    +
    +
    +

    + warning The IRS does not currently provide attachments in the electronic dataset + from which this site is based. However, occasionally these attachments can be found in the PDF version of + the filing which you can find below. +

    +
    +
    +
    +
    + {/if} +
    +
    +
    + {/if} +
    +
    +
    +
    + + +
    + + +
    + + + +
    +
    +
    +
    + +
    + +
    +
    +
      +
    • +
    • +
    • +
    • +
    • +
    +
    +
    +
    + + + + diff --git a/apps/web/src/lib/components/profiles/topnav/Nav.svelte b/apps/web/src/lib/components/profiles/topnav/Nav.svelte index 656e97a..a31f051 100644 --- a/apps/web/src/lib/components/profiles/topnav/Nav.svelte +++ b/apps/web/src/lib/components/profiles/topnav/Nav.svelte @@ -1,5 +1,5 @@ + {title} + + + + + + + + + + + + + + + + + + + + + + +{@html ''} +{@html ''} + diff --git a/apps/web/src/lib/utils/trustedConstants.ts b/apps/web/src/lib/utils/trustedConstants.ts index 474400f..c8ac0b4 100644 --- a/apps/web/src/lib/utils/trustedConstants.ts +++ b/apps/web/src/lib/utils/trustedConstants.ts @@ -26,9 +26,13 @@ export const meta = { }, }; -export const hostnameLegacy = 'https://legacy.grantmakers.io'; -export const hostnameNext = 'https://next.grantmakers.io'; -export const hostnameProd = 'https://www.grantmakers.io'; +export const originLegacy = 'https://legacy.grantmakers.io'; +export const originNext = 'https://next.grantmakers.io'; +export const originProd = 'https://www.grantmakers.io'; + +export const profilesVersionLegacy = 'v0'; +export const profilesVersionNext = 'v1'; +export const profilesVersionProd = 'v0'; export const cutoverDate = new Date('2024-12-01').toISOString().replace(/\.\d{3}Z$/, 'Z'); export const rankTotal = 151195; // Interim helper diff --git a/apps/web/src/routes/(legacy)/+layout.svelte b/apps/web/src/routes/(legacy)/+layout.svelte new file mode 100644 index 0000000..854cb40 --- /dev/null +++ b/apps/web/src/routes/(legacy)/+layout.svelte @@ -0,0 +1,58 @@ + + + + {#if $page.data.profile} + + {:else} + {title} + + {/if} + + +{@render children?.()} + + diff --git a/apps/web/src/routes/(legacy)/profiles/vL/[ein]/+page.server.ts b/apps/web/src/routes/(legacy)/profiles/vL/[ein]/+page.server.ts new file mode 100644 index 0000000..dbb3635 --- /dev/null +++ b/apps/web/src/routes/(legacy)/profiles/vL/[ein]/+page.server.ts @@ -0,0 +1,106 @@ +import { dev } from '$app/environment'; +import { error } from '@sveltejs/kit'; +import { WORKER_URL, PROFILES_API_ENDPOINT, AUTH_PRIVATE_KEY, WAF_AUTH_VERIFY_KEY } from '$env/static/private'; +import { isValidEin } from '@repo/shared/utils/validators'; +import type { PageServerLoad } from './$types'; +import type { GrantmakersExtractedDataObj } from '@repo/shared/typings/grantmakers/all'; + +const remoteUrl = WORKER_URL + PROFILES_API_ENDPOINT + '/'; + +const fetchRemoteProfile = async (ein: string, url: string): Promise => { + console.log(`Fetching profile for ${ein} from ${url + ein}`); + const response = await fetch(url + ein, { + method: 'GET', + headers: { + 'X-Custom-Auth-Key': AUTH_PRIVATE_KEY, + 'X-WAF-Auth-Verify': WAF_AUTH_VERIFY_KEY, + }, + }); + + if (!response.ok) { + throw new Error(`Error fetching data: ${response.statusText}`); + } + + const data = await response.json(); + return data; +}; + +const fetchLocalProfile = async (ein: string): Promise => { + const { connectToDatabase, getCollection } = await import('@repo/shared/utils/db/mongo'); + const { MONGODB_URI, MONGODB_DB } = await import('$env/static/private'); + const uri = MONGODB_URI; + const dbName = MONGODB_DB; + const collectionName = 'r2'; + + try { + console.log(`Fetching local profile for ${ein} from MongoDB`); + if (!uri || !dbName) { + throw new Error('MongoDB URI and database name are required'); + } + await connectToDatabase(uri, dbName); + const collection = await getCollection(collectionName); + + const profile = await collection.findOne( + { ein }, + { + projection: { + phone: 0, + organization_name_legacy_slug: 0, + organization_names_all_years: 0, + grants_all_years: 0, + grants: 0, + // grants_current_year_top_20: 0, + }, + }, + ); + + if (!profile) { + throw new Error(`Profile not found for EIN: ${ein}`); + } + + return profile; + } catch (error) { + console.error('Error fetching from MongoDB:', error); + throw new Error(`Failed to fetch profile from MongoDB: ${error instanceof Error ? error.message : 'Unknown error'}`); + } +}; + +/** Best of both worlds - fetch direct from the DB locally, fetch from scalable/low-cost R2 in production */ +const getProfile = async (ein: string): Promise => { + if (dev) { + try { + const profile = await fetchLocalProfile(ein); + return profile; + } catch (error) { + console.warn('Local fetch failed, falling back to remote:', error); + return await fetchRemoteProfile(ein, remoteUrl); + } + } + return await fetchRemoteProfile(ein, remoteUrl); +}; + +export const load: PageServerLoad = async ({ params }) => { + // This main dynamic route handles two scenarios: + // 1. The full canonical url: [ein]-[slugified-org-name] + // 2. The ein-only helper router: [ein] + // We only need the EIN to fetch the data + // In the case of the full canonical route, we handle the full url expansion on the client to avoid duplicating the data fetch via a full redirect + const ein = params.ein.split('-')[0]; + + if (!isValidEin(ein)) { + throw error(400, { + message: 'Invalid EIN format. Please check the EIN and try again.', + }); + } + + try { + const profile = await getProfile(ein); + return { profile }; + } catch (err) { + console.error('Error in load function:', err); + + throw error(500, { + message: 'An unexpected error occurred while fetching the foundation profile.', + }); + } +}; diff --git a/apps/web/src/routes/(legacy)/profiles/vL/[ein]/+page.svelte b/apps/web/src/routes/(legacy)/profiles/vL/[ein]/+page.svelte new file mode 100644 index 0000000..542546c --- /dev/null +++ b/apps/web/src/routes/(legacy)/profiles/vL/[ein]/+page.svelte @@ -0,0 +1,29 @@ + + +
    + {#if profile} + + {:else} +

    No profile data available

    + {/if} +
    diff --git a/apps/web/src/routes/+error.svelte b/apps/web/src/routes/(next)/+error.svelte similarity index 100% rename from apps/web/src/routes/+error.svelte rename to apps/web/src/routes/(next)/+error.svelte diff --git a/apps/web/src/routes/+layout.svelte b/apps/web/src/routes/(next)/+layout.svelte similarity index 96% rename from apps/web/src/routes/+layout.svelte rename to apps/web/src/routes/(next)/+layout.svelte index ceb2517..28eb11a 100644 --- a/apps/web/src/routes/+layout.svelte +++ b/apps/web/src/routes/(next)/+layout.svelte @@ -1,6 +1,6 @@ + +
    +
    +
    +

    Users

    +

    A list of all the users in your account including their name, title, email and role.

    +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + {#if grants} + + {#snippet children({ grant })} + + + + + + + + {/snippet} + + {/if} + +
    RecipientAmountYear
    {grant.name}{humanizeCurrency(grant.amount)}{grant.tax_year}
    +
    +
    +
    +
    diff --git a/apps/web/src/routes/profiles/random/+server.ts b/apps/web/src/routes/(next)/profiles/random/+server.ts similarity index 100% rename from apps/web/src/routes/profiles/random/+server.ts rename to apps/web/src/routes/(next)/profiles/random/+server.ts diff --git a/apps/web/src/routes/profiles/v0/[ein]/+layout.svelte b/apps/web/src/routes/(next)/profiles/v0/[ein]/+layout.svelte similarity index 72% rename from apps/web/src/routes/profiles/v0/[ein]/+layout.svelte rename to apps/web/src/routes/(next)/profiles/v0/[ein]/+layout.svelte index f102b33..8471488 100644 --- a/apps/web/src/routes/profiles/v0/[ein]/+layout.svelte +++ b/apps/web/src/routes/(next)/profiles/v0/[ein]/+layout.svelte @@ -1,10 +1,11 @@