├── akka-epl
├── project
│ ├── build.properties
│ ├── assembly.sbt
│ └── project
│ │ └── target
│ │ └── config-classes
│ │ └── $731f18e1a71d9df9db04.cache
├── README.md
├── manifest.yml
├── src
│ ├── main
│ │ ├── scala
│ │ │ └── com
│ │ │ │ └── epl
│ │ │ │ └── akka
│ │ │ │ ├── DocumentType.scala
│ │ │ │ ├── CrawlingApp.scala
│ │ │ │ ├── URLValidator.scala
│ │ │ │ ├── ResultTable.scala
│ │ │ │ ├── CorsSupport.scala
│ │ │ │ ├── TeamTable.scala
│ │ │ │ ├── WebCrawler.scala
│ │ │ │ ├── AkkaHTTPClient.scala
│ │ │ │ ├── SoccerMainController.scala
│ │ │ │ ├── DBOperation.scala
│ │ │ │ ├── CloudantReaderWriter.scala
│ │ │ │ ├── WebHttpClient.scala
│ │ │ │ └── HTMLParser.scala
│ │ └── resources
│ │ │ ├── logback.xml
│ │ │ └── application.conf
│ └── test
│ │ └── scala
│ │ └── com
│ │ └── epl
│ │ └── akka
│ │ └── AkkaHTTPClientSpec.scala
├── LICENSE
└── build.sbt
├── soccer-epl-ui
├── .jshintrc
├── .babelrc
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── actions
│ │ ├── teamStandingAction.js
│ │ ├── headerStyleAction.js
│ │ ├── sidebarStyleAction.js
│ │ └── headerBannerAction.js
│ ├── static
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── material-ui-icons.eot
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ │ └── css
│ │ │ └── App.css
│ ├── sass
│ │ ├── footer
│ │ │ └── _footer.scss
│ │ ├── base
│ │ │ ├── _forms.scss
│ │ │ ├── _page-content.scss
│ │ │ ├── _typography.scss
│ │ │ ├── _buttons.scss
│ │ │ └── _scaffolding.scss
│ │ ├── App.scss
│ │ ├── sidebar
│ │ │ ├── _navbar.scss
│ │ │ └── _sidebar.scss
│ │ ├── components
│ │ │ └── _panel.scss
│ │ └── header
│ │ │ └── _header.scss
│ ├── components
│ │ ├── footer.js
│ │ ├── buttons
│ │ │ └── raisedButtons.js
│ │ └── panel.js
│ ├── reducers
│ │ ├── style-switcher-reducers
│ │ │ ├── headeractiveReducer.js
│ │ │ ├── sidebarActiveReducer.js
│ │ │ ├── headerBannerActiveReducer.js
│ │ │ ├── headerStyleReducers.js
│ │ │ ├── headerBannerStyleReducers.js
│ │ │ └── sidebarStyleReducers.js
│ │ └── index.js
│ ├── index.js
│ ├── containers
│ │ └── header.js
│ ├── routers
│ │ ├── routesComponent.js
│ │ ├── routesList.js
│ │ └── routers.js
│ ├── App.js
│ └── pages
│ │ ├── results.js
│ │ ├── fixtures.js
│ │ ├── teamstanding.js
│ │ └── home.js
├── .eslintrc
├── .editorconfig
├── gulpfile.babel.js
└── package.json
├── assets
├── actors.jpeg
├── fixtures.png
├── results.png
├── dashboard.png
├── teamstanding.png
├── actor-components.png
├── actor-communication.jpeg
└── soccer epl architecture.jpg
├── .travis.yml
├── .gitignore
└── README.md
/akka-epl/project/build.properties:
--------------------------------------------------------------------------------
1 | sbt.version=0.13.15
2 |
--------------------------------------------------------------------------------
/soccer-epl-ui/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "esversion": 6
3 | }
4 |
--------------------------------------------------------------------------------
/soccer-epl-ui/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015"]
3 | }
4 |
--------------------------------------------------------------------------------
/akka-epl/project/assembly.sbt:
--------------------------------------------------------------------------------
1 | addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.5")
--------------------------------------------------------------------------------
/akka-epl/README.md:
--------------------------------------------------------------------------------
1 | # akka-epl
2 | A dashboard generated from scraping premierleague.com
3 |
--------------------------------------------------------------------------------
/akka-epl/project/project/target/config-classes/$731f18e1a71d9df9db04.cache:
--------------------------------------------------------------------------------
1 | sbt.internals.DslEntry
--------------------------------------------------------------------------------
/assets/actors.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/actors.jpeg
--------------------------------------------------------------------------------
/assets/fixtures.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/fixtures.png
--------------------------------------------------------------------------------
/assets/results.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/results.png
--------------------------------------------------------------------------------
/assets/dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/dashboard.png
--------------------------------------------------------------------------------
/assets/teamstanding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/teamstanding.png
--------------------------------------------------------------------------------
/assets/actor-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/actor-components.png
--------------------------------------------------------------------------------
/assets/actor-communication.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/actor-communication.jpeg
--------------------------------------------------------------------------------
/soccer-epl-ui/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/public/favicon.ico
--------------------------------------------------------------------------------
/assets/soccer epl architecture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/assets/soccer epl architecture.jpg
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: scala
2 | scala:
3 | - 2.12.2
4 | before_script: cd akka-epl
5 | script:
6 | - sbt compile
7 | - sbt test
8 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/actions/teamStandingAction.js:
--------------------------------------------------------------------------------
1 | export const setVisibilityFilter = (filter) => ({
2 | type: 'SET_VISIBILITY_FILTER',
3 | filter
4 | })
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/src/static/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/akka-epl/manifest.yml:
--------------------------------------------------------------------------------
1 | ---
2 | applications:
3 | - name: akka-react-cloudant
4 | instances: 1
5 | host: soccerapi
6 | path: target/scala-2.12/akka-epl.jar
7 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/fonts/material-ui-icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/src/static/fonts/material-ui-icons.eot
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/src/static/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/src/static/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/src/static/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IBM/akka-react-cloudant/HEAD/soccer-epl-ui/src/static/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/soccer-epl-ui/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "parser": "babel-eslint",
3 | "env": {
4 | "browser": true,
5 | "node": true,
6 | "es6": true
7 | },
8 | "ecmaFeatures": {
9 | "modules": true,
10 | "jsx": true
11 | }
12 | }
--------------------------------------------------------------------------------
/soccer-epl-ui/src/actions/headerStyleAction.js:
--------------------------------------------------------------------------------
1 | // header left background color changing action
2 | export const selectedHeaderStyle = (color) => {
3 | return {
4 | type: "HEADER_STYLE_SELECTED",
5 | payload: color
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/actions/sidebarStyleAction.js:
--------------------------------------------------------------------------------
1 | // sidebar background color changing action
2 | export const selectedSidebarStyle = (color) => {
3 | return {
4 | type: "SIDEBAR_STYLE_SELECTED",
5 | payload: color
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/sass/footer/_footer.scss:
--------------------------------------------------------------------------------
1 | .readmin-footer {
2 |
3 | position: relative;
4 | text-align: center;
5 | padding: $padding-large 0;
6 | padding-bottom: 0;
7 |
8 | p {
9 | opacity: .7;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/components/footer.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Footer = () => (
4 |
7 | );
8 |
9 | export default Footer;
10 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/actions/headerBannerAction.js:
--------------------------------------------------------------------------------
1 | // header banner background color changing action
2 | export const selectedHeaderBannerStyle = (color) => {
3 | return {
4 | type: "HEADER_BANNER_STYLE_SELECTED",
5 | payload: color
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/reducers/style-switcher-reducers/headeractiveReducer.js:
--------------------------------------------------------------------------------
1 | export default function (state={}, action) {
2 | switch(action.type) {
3 | case "HEADER_STYLE_SELECTED":
4 | return action.payload;
5 | default:
6 | return state;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/reducers/style-switcher-reducers/sidebarActiveReducer.js:
--------------------------------------------------------------------------------
1 | export default function (state={}, action) {
2 | switch(action.type) {
3 | case "SIDEBAR_STYLE_SELECTED":
4 | return action.payload;
5 | default:
6 | return state;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/akka-epl/src/main/scala/com/epl/akka/DocumentType.scala:
--------------------------------------------------------------------------------
1 | package com.epl.akka
2 |
3 | /**
4 | * Created by sanjeevghimire on 9/15/17.
5 | */
6 | object DocumentType extends Enumeration{
7 | type Documenttype = Value
8 | val TeamTable,Fixtures,Results = Value
9 | }
10 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/reducers/style-switcher-reducers/headerBannerActiveReducer.js:
--------------------------------------------------------------------------------
1 | export default function (state={}, action) {
2 | switch(action.type) {
3 | case "HEADER_BANNER_STYLE_SELECTED":
4 | return action.payload;
5 | default:
6 | return state;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/soccer-epl-ui/.editorconfig:
--------------------------------------------------------------------------------
1 |
2 | # editorconfig.org
3 |
4 | root = true
5 |
6 | [*]
7 | indent_style = space
8 | indent_size = 2
9 | end_of_line = lf
10 | charset = utf-8
11 | trim_trailing_whitespace = true
12 | insert_final_newline = true
13 |
14 | [*.py]
15 | indent_size = 4
16 |
17 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/sass/base/_forms.scss:
--------------------------------------------------------------------------------
1 | .readmin-form {
2 | position: relative;
3 | width: 100%;
4 |
5 | &.inline {
6 | @media (max-width: 560px) {
7 | .inline-btn {
8 | margin-top: $margin-medium;
9 | }
10 |
11 | }
12 | }
13 |
14 | input {
15 | width: 100%;
16 | }
17 | label {
18 | margin: 0 !important;
19 | }
20 |
21 | .align-items-center {
22 |
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/akka-epl/src/main/scala/com/epl/akka/CrawlingApp.scala:
--------------------------------------------------------------------------------
1 | package com.epl.akka
2 |
3 | import akka.actor.{ActorSystem, Props}
4 | import com.epl.akka.WebCrawler.CrawlRequest
5 |
6 | object CrawlingApp extends App {
7 | val system = ActorSystem("Crawler")
8 | val webCrawler = system.actorOf(Props[WebCrawler], "WebCrawler")
9 | // start the crawling
10 | webCrawler ! CrawlRequest("https://www.premierleague.com/", true)
11 | }
12 |
--------------------------------------------------------------------------------
/akka-epl/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
19 |
20 |
`s get reset. However, we also reset the 66 | // bottom margin to use `rem` units instead of `em`. 67 | p { 68 | margin-top: 0; 69 | margin-bottom: 1rem; 70 | } 71 | 72 | // Abbreviations 73 | abbr[title], 74 | // Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257 75 | abbr[data-original-title] { 76 | cursor: help; 77 | } 78 | 79 | address { 80 | margin-bottom: 1rem; 81 | font-style: normal; 82 | line-height: inherit; 83 | } 84 | 85 | ol, 86 | ul, 87 | dl { 88 | margin-top: 0; 89 | margin-bottom: 1rem; 90 | } 91 | 92 | ol ol, 93 | ul ul, 94 | ol ul, 95 | ul ol { 96 | margin-bottom: 0; 97 | } 98 | 99 | dt { 100 | font-weight: $dt-font-weight; 101 | } 102 | 103 | dd { 104 | margin-bottom: .5rem; 105 | margin-left: 0; // Undo browser default 106 | } 107 | 108 | blockquote { 109 | margin: 0 0 1rem; 110 | } 111 | 112 | 113 | // 114 | // Links 115 | // 116 | 117 | a { 118 | color: $color-primary; 119 | text-decoration: $link-decoration; 120 | @include transition(); 121 | 122 | @include hover-focus { 123 | color: $color-primary-hover; 124 | text-decoration: $link-decoration; 125 | } 126 | } 127 | 128 | // And undo these styles for placeholder links/named anchors (without href) 129 | // which have not been made explicitly keyboard-focusable (without tabindex). 130 | // It would be more straightforward to just use a[href] in previous block, but that 131 | // causes specificity issues in many other styles that are too complex to fix. 132 | // See https://github.com/twbs/bootstrap/issues/19402 133 | 134 | a:not([href]):not([tabindex]) { 135 | color: inherit; 136 | text-decoration: none; 137 | 138 | @include hover-focus { 139 | color: inherit; 140 | text-decoration: none; 141 | } 142 | 143 | &:focus { 144 | outline: 0; 145 | } 146 | } 147 | 148 | 149 | // 150 | // Code 151 | // 152 | 153 | pre { 154 | // Remove browser default top margin 155 | margin-top: 0; 156 | // Reset browser default of `1em` to use `rem`s 157 | margin-bottom: 1rem; 158 | // Normalize v4 removed this property, causing `
` content to break out of wrapping code snippets
159 | overflow: auto;
160 | }
161 |
162 |
163 | //
164 | // Figures
165 | //
166 |
167 | figure {
168 | // Normalize adds `margin` to `figure`s as browsers apply it inconsistently.
169 | // We reset that to create a better flow in-page.
170 | margin: 0 0 1rem;
171 | }
172 |
173 |
174 | //
175 | // Images
176 | //
177 |
178 | img {
179 | // By default, `
`s are `inline-block`. This assumes that, and vertically
180 | // centers them. This won't apply should you reset them to `block` level.
181 | vertical-align: middle;
182 | // Note: `
`s are deliberately not made responsive by default.
183 | // For the rationale behind this, see the comments on the `.img-fluid` class.
184 | }
185 |
186 |
187 | // iOS "clickable elements" fix for role="button"
188 | //
189 | // Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
190 | // for traditionally non-focusable elements with role="button"
191 | // see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
192 |
193 | [role="button"] {
194 | cursor: pointer;
195 | }
196 |
197 |
198 | // Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
199 | //
200 | // In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11
201 | // DON'T remove the click delay when `` is present.
202 | // However, they DO support removing the click delay via `touch-action: manipulation`.
203 | // See:
204 | // * https://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch
205 | // * http://caniuse.com/#feat=css-touch-action
206 | // * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
207 |
208 | a,
209 | area,
210 | button,
211 | [role="button"],
212 | input,
213 | label,
214 | select,
215 | summary,
216 | textarea {
217 | touch-action: manipulation;
218 | }
219 |
220 |
221 | //
222 | // Tables
223 | //
224 |
225 | table {
226 | // No longer part of Normalize since v4
227 | border-collapse: collapse;
228 | // Reset for nesting within parents with `background-color`.
229 | background-color: $table-bg;
230 | }
231 |
232 | caption {
233 | padding-top: $table-cell-padding;
234 | padding-bottom: $table-cell-padding;
235 | color: $text-muted;
236 | text-align: left;
237 | caption-side: bottom;
238 | }
239 |
240 | th {
241 | // Centered by default, but left-align-ed to match the `td`s below.
242 | text-align: left;
243 | }
244 |
245 |
246 | //
247 | // Forms
248 | //
249 |
250 | label {
251 | // Allow labels to use `margin` for spacing.
252 | display: inline-block;
253 | margin-bottom: .5rem;
254 | }
255 |
256 | // Work around a Firefox/IE bug where the transparent `button` background
257 | // results in a loss of the default `button` focus styles.
258 | //
259 | // Credit: https://github.com/suitcss/base/
260 | button:focus {
261 | outline: 1px dotted;
262 | outline: 5px auto -webkit-focus-ring-color;
263 | }
264 |
265 | input,
266 | button,
267 | select,
268 | textarea {
269 | // Normalize includes `font: inherit;`, so `font-family`. `font-size`, etc are
270 | // properly inherited. However, `line-height` isn't inherited there.
271 | line-height: inherit;
272 | }
273 |
274 | input[type="radio"],
275 | input[type="checkbox"] {
276 | // Apply a disabled cursor for radios and checkboxes.
277 | //
278 | // Note: Neither radios nor checkboxes can be readonly.
279 | &:disabled {
280 | cursor: $cursor-disabled;
281 | }
282 | }
283 |
284 |
285 | input[type="date"],
286 | input[type="time"],
287 | input[type="datetime-local"],
288 | input[type="month"] {
289 | // Remove the default appearance of temporal inputs to avoid a Mobile Safari
290 | // bug where setting a custom line-height prevents text from being vertically
291 | // centered within the input.
292 | // See https://bugs.webkit.org/show_bug.cgi?id=139848
293 | // and https://github.com/twbs/bootstrap/issues/11266
294 | -webkit-appearance: listbox;
295 | }
296 |
297 | textarea {
298 | // Textareas should really only resize vertically so they don't break their (horizontal) containers.
299 | resize: vertical;
300 | }
301 |
302 | fieldset {
303 | // Browsers set a default `min-width: min-content;` on fieldsets,
304 | // unlike e.g. ``s, which have `min-width: 0;` by default.
305 | // So we reset that to ensure fieldsets behave more like a standard block element.
306 | // See https://github.com/twbs/bootstrap/issues/12359
307 | // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
308 | min-width: 0;
309 | // Reset the default outline behavior of fieldsets so they don't affect page layout.
310 | padding: 0;
311 | margin: 0;
312 | border: 0;
313 | }
314 |
315 | legend {
316 | // Reset the entire legend element to match the `fieldset`
317 | display: block;
318 | width: 100%;
319 | padding: 0;
320 | margin-bottom: .5rem;
321 | font-size: 1.5rem;
322 | line-height: inherit;
323 | }
324 |
325 | input[type="search"] {
326 | // This overrides the extra rounded corners on search inputs in iOS so that our
327 | // `.form-control` class can properly style them. Note that this cannot simply
328 | // be added to `.form-control` as it's not specific enough. For details, see
329 | // https://github.com/twbs/bootstrap/issues/11586.
330 | -webkit-appearance: none;
331 | }
332 |
333 | // todo: needed?
334 | output {
335 | display: inline-block;
336 | // font-size: $font-size-base;
337 | // line-height: $line-height;
338 | // color: $input-color;
339 | }
340 |
341 | // Always hide an element with the `hidden` HTML attribute (from PureCSS).
342 | [hidden] {
343 | display: none !important;
344 | }
345 |
--------------------------------------------------------------------------------
/soccer-epl-ui/src/static/css/App.css:
--------------------------------------------------------------------------------
1 | html {
2 | box-sizing: border-box; }
3 |
4 | *,
5 | *::before,
6 | *::after {
7 | box-sizing: inherit; }
8 |
9 | @-ms-viewport {
10 | width: device-width; }
11 |
12 | html {
13 | -ms-overflow-style: scrollbar;
14 | -webkit-tap-highlight-color: transparent; }
15 |
16 | body {
17 | font-family: "Roboto", sans-serif;
18 | font-size: 1rem;
19 | font-weight: 400;
20 | line-height: 1.5;
21 | color: #2a3134;
22 | background-color: #fbfcfd;
23 | margin: 0; }
24 |
25 | [tabindex="-1"]:focus {
26 | outline: none !important; }
27 |
28 | h1, h2, h3, h4, h5, h6 {
29 | margin-top: 0;
30 | margin-bottom: .5rem; }
31 |
32 | p {
33 | margin-top: 0;
34 | margin-bottom: 1rem; }
35 |
36 | abbr[title],
37 | abbr[data-original-title] {
38 | cursor: help; }
39 |
40 | address {
41 | margin-bottom: 1rem;
42 | font-style: normal;
43 | line-height: inherit; }
44 |
45 | ol,
46 | ul,
47 | dl {
48 | margin-top: 0;
49 | margin-bottom: 1rem; }
50 |
51 | ol ol,
52 | ul ul,
53 | ol ul,
54 | ul ol {
55 | margin-bottom: 0; }
56 |
57 | dt {
58 | font-weight: 600; }
59 |
60 | dd {
61 | margin-bottom: .5rem;
62 | margin-left: 0; }
63 |
64 | blockquote {
65 | margin: 0 0 1rem; }
66 |
67 | a {
68 | color: #258df2;
69 | text-decoration: none;
70 | transition: all 0.3s ease; }
71 | a:focus, a:hover {
72 | color: #0d73d7;
73 | text-decoration: none; }
74 |
75 | a:not([href]):not([tabindex]) {
76 | color: inherit;
77 | text-decoration: none; }
78 | a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
79 | color: inherit;
80 | text-decoration: none; }
81 | a:not([href]):not([tabindex]):focus {
82 | outline: 0; }
83 |
84 | pre {
85 | margin-top: 0;
86 | margin-bottom: 1rem;
87 | overflow: auto; }
88 |
89 | figure {
90 | margin: 0 0 1rem; }
91 |
92 | img {
93 | vertical-align: middle; }
94 |
95 | [role="button"] {
96 | cursor: pointer; }
97 |
98 | a,
99 | area,
100 | button,
101 | [role="button"],
102 | input,
103 | label,
104 | select,
105 | summary,
106 | textarea {
107 | touch-action: manipulation; }
108 |
109 | table {
110 | border-collapse: collapse;
111 | background-color: transparent; }
112 |
113 | caption {
114 | padding-top: 0.75rem;
115 | padding-bottom: 0.75rem;
116 | color: #636c72;
117 | text-align: left;
118 | caption-side: bottom; }
119 |
120 | th {
121 | text-align: left; }
122 |
123 | label {
124 | display: inline-block;
125 | margin-bottom: .5rem; }
126 |
127 | button:focus {
128 | outline: 1px dotted;
129 | outline: 5px auto -webkit-focus-ring-color; }
130 |
131 | input,
132 | button,
133 | select,
134 | textarea {
135 | line-height: inherit; }
136 |
137 | input[type="radio"]:disabled,
138 | input[type="checkbox"]:disabled {
139 | cursor: not-allowed; }
140 |
141 | input[type="date"],
142 | input[type="time"],
143 | input[type="datetime-local"],
144 | input[type="month"] {
145 | -webkit-appearance: listbox; }
146 |
147 | textarea {
148 | resize: vertical; }
149 |
150 | fieldset {
151 | min-width: 0;
152 | padding: 0;
153 | margin: 0;
154 | border: 0; }
155 |
156 | legend {
157 | display: block;
158 | width: 100%;
159 | padding: 0;
160 | margin-bottom: .5rem;
161 | font-size: 1.5rem;
162 | line-height: inherit; }
163 |
164 | input[type="search"] {
165 | -webkit-appearance: none; }
166 |
167 | output {
168 | display: inline-block; }
169 |
170 | [hidden] {
171 | display: none !important; }
172 |
173 | h1, h2, h3, h4, h5, h6,
174 | .h1, .h2, .h3, .h4, .h5, .h6 {
175 | margin-bottom: 0.5rem;
176 | font-family: inherit;
177 | font-weight: 500;
178 | line-height: 1.1;
179 | color: #2a3134; }
180 |
181 | h1, .h1 {
182 | font-size: 2.5rem; }
183 |
184 | h2, .h2 {
185 | font-size: 2rem; }
186 |
187 | h3, .h3 {
188 | font-size: 1.75rem; }
189 |
190 | h4, .h4 {
191 | font-size: 1.5rem; }
192 |
193 | h5, .h5 {
194 | font-size: 1.25rem; }
195 |
196 | h6, .h6 {
197 | font-size: 1rem; }
198 |
199 | .lead {
200 | font-size: 1.25rem;
201 | font-weight: 300; }
202 |
203 | h4, h5, h6 {
204 | font-weight: 400; }
205 |
206 | .display-1 {
207 | font-size: 6rem;
208 | font-weight: 300;
209 | line-height: 1.1; }
210 |
211 | .display-2 {
212 | font-size: 5.5rem;
213 | font-weight: 300;
214 | line-height: 1.1; }
215 |
216 | .display-3 {
217 | font-size: 4.5rem;
218 | font-weight: 300;
219 | line-height: 1.1; }
220 |
221 | .display-4 {
222 | font-size: 3.5rem;
223 | font-weight: 300;
224 | line-height: 1.1; }
225 |
226 | hr {
227 | margin-top: 1rem;
228 | margin-bottom: 1rem;
229 | border: 0;
230 | border-top: 1px solid rgba(0, 0, 0, 0.1); }
231 |
232 | small,
233 | .small {
234 | font-size: 80%;
235 | font-weight: normal; }
236 |
237 | mark,
238 | .mark {
239 | padding: 0.2em;
240 | background-color: #fcf8e3; }
241 |
242 | .list-unstyled, .feature-lists {
243 | padding-left: 0;
244 | list-style: none; }
245 |
246 | .list-inline, .small-social {
247 | padding-left: 0;
248 | list-style: none; }
249 |
250 | .list-inline-item {
251 | display: inline-block; }
252 | .list-inline-item:not(:last-child) {
253 | margin-right: 5px; }
254 |
255 | .initialism {
256 | font-size: 90%;
257 | text-transform: uppercase; }
258 |
259 | .blockquote {
260 | padding: 0.5rem 1rem;
261 | margin-bottom: 1rem;
262 | font-size: 1.25rem;
263 | border-left: 0.25rem solid #eceeef; }
264 |
265 | .blockquote-footer {
266 | display: block;
267 | font-size: 80%;
268 | color: #636c72; }
269 | .blockquote-footer::before {
270 | content: "\2014 \00A0"; }
271 |
272 | .blockquote-reverse {
273 | padding-right: 1rem;
274 | padding-left: 0;
275 | text-align: right;
276 | border-right: 0.25rem solid #eceeef;
277 | border-left: 0; }
278 |
279 | .blockquote-reverse .blockquote-footer::before {
280 | content: ""; }
281 |
282 | .blockquote-reverse .blockquote-footer::after {
283 | content: "\00A0 \2014"; }
284 |
285 | .btn {
286 | display: inline-block;
287 | font-weight: normal;
288 | line-height: 1.25;
289 | text-align: center;
290 | white-space: nowrap;
291 | vertical-align: middle;
292 | user-select: none;
293 | border: 1px solid transparent;
294 | padding: 0.5rem 1rem;
295 | font-size: 1rem;
296 | border-radius: 3px;
297 | transition: all 0.2s ease-in-out 0.3s ease; }
298 | .btn:focus, .btn:hover {
299 | text-decoration: none; }
300 | .btn:focus, .btn.focus {
301 | outline: 0;
302 | box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25); }
303 | .btn.disabled, .btn:disabled {
304 | cursor: not-allowed;
305 | opacity: .65; }
306 | .btn:active, .btn.active {
307 | background-image: none; }
308 |
309 | a.btn.disabled,
310 | fieldset[disabled] a.btn {
311 | pointer-events: none; }
312 |
313 | .an-circle-icon-btn {
314 | position: relative;
315 | width: 35px;
316 | height: 35px;
317 | background: rgba(251, 252, 253, 0.7);
318 | color: #2a3134;
319 | border: 0;
320 | outline: none;
321 | cursor: pointer;
322 | border-radius: 50%;
323 | display: flex;
324 | align-items: center;
325 | justify-content: center;
326 | transition: all 0.3s ease;
327 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
328 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
329 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
330 | .an-circle-icon-btn.notification {
331 | background: rgba(253, 186, 44, 0.3);
332 | color: #fdba2c; }
333 | .an-circle-icon-btn.notification:hover, .an-circle-icon-btn.notification:focus {
334 | background: rgba(253, 186, 44, 0.4);
335 | color: #fdba2c;
336 | outline: 0; }
337 | .an-circle-icon-btn.primary {
338 | background: rgba(37, 141, 242, 0.3);
339 | color: #258df2; }
340 | .an-circle-icon-btn.primary:hover, .an-circle-icon-btn.primary:focus {
341 | background: rgba(37, 141, 242, 0.4);
342 | color: #258df2; }
343 |
344 | .an-btn-primary {
345 | background-color: #258df2 !important; }
346 | .an-btn-primary button {
347 | background-color: #258df2 !important; }
348 |
349 | .btn-primary {
350 | color: #fff;
351 | background-color: #0275d8;
352 | border-color: #0275d8; }
353 | .btn-primary:hover {
354 | color: #fff;
355 | background-color: #025aa5;
356 | border-color: #01549b; }
357 | .btn-primary:focus, .btn-primary.focus {
358 | box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); }
359 | .btn-primary.disabled, .btn-primary:disabled {
360 | background-color: #0275d8;
361 | border-color: #0275d8; }
362 | .btn-primary:active, .btn-primary.active,
363 | .show > .btn-primary.dropdown-toggle {
364 | color: #fff;
365 | background-color: #025aa5;
366 | background-image: none;
367 | border-color: #01549b; }
368 |
369 | .btn-secondary {
370 | color: #292b2c;
371 | background-color: #fff;
372 | border-color: #ccc; }
373 | .btn-secondary:hover {
374 | color: #292b2c;
375 | background-color: #e6e6e6;
376 | border-color: #adadad; }
377 | .btn-secondary:focus, .btn-secondary.focus {
378 | box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); }
379 | .btn-secondary.disabled, .btn-secondary:disabled {
380 | background-color: #fff;
381 | border-color: #ccc; }
382 | .btn-secondary:active, .btn-secondary.active,
383 | .show > .btn-secondary.dropdown-toggle {
384 | color: #292b2c;
385 | background-color: #e6e6e6;
386 | background-image: none;
387 | border-color: #adadad; }
388 |
389 | .btn-info {
390 | color: #fff;
391 | background-color: #5bc0de;
392 | border-color: #5bc0de; }
393 | .btn-info:hover {
394 | color: #fff;
395 | background-color: #31b0d5;
396 | border-color: #2aabd2; }
397 | .btn-info:focus, .btn-info.focus {
398 | box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); }
399 | .btn-info.disabled, .btn-info:disabled {
400 | background-color: #5bc0de;
401 | border-color: #5bc0de; }
402 | .btn-info:active, .btn-info.active,
403 | .show > .btn-info.dropdown-toggle {
404 | color: #fff;
405 | background-color: #31b0d5;
406 | background-image: none;
407 | border-color: #2aabd2; }
408 |
409 | .btn-success {
410 | color: #fff;
411 | background-color: #5cb85c;
412 | border-color: #5cb85c; }
413 | .btn-success:hover {
414 | color: #fff;
415 | background-color: #449d44;
416 | border-color: #419641; }
417 | .btn-success:focus, .btn-success.focus {
418 | box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); }
419 | .btn-success.disabled, .btn-success:disabled {
420 | background-color: #5cb85c;
421 | border-color: #5cb85c; }
422 | .btn-success:active, .btn-success.active,
423 | .show > .btn-success.dropdown-toggle {
424 | color: #fff;
425 | background-color: #449d44;
426 | background-image: none;
427 | border-color: #419641; }
428 |
429 | .btn-warning {
430 | color: #fff;
431 | background-color: #f0ad4e;
432 | border-color: #f0ad4e; }
433 | .btn-warning:hover {
434 | color: #fff;
435 | background-color: #ec971f;
436 | border-color: #eb9316; }
437 | .btn-warning:focus, .btn-warning.focus {
438 | box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); }
439 | .btn-warning.disabled, .btn-warning:disabled {
440 | background-color: #f0ad4e;
441 | border-color: #f0ad4e; }
442 | .btn-warning:active, .btn-warning.active,
443 | .show > .btn-warning.dropdown-toggle {
444 | color: #fff;
445 | background-color: #ec971f;
446 | background-image: none;
447 | border-color: #eb9316; }
448 |
449 | .btn-danger {
450 | color: #fff;
451 | background-color: #d9534f;
452 | border-color: #d9534f; }
453 | .btn-danger:hover {
454 | color: #fff;
455 | background-color: #c9302c;
456 | border-color: #c12e2a; }
457 | .btn-danger:focus, .btn-danger.focus {
458 | box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); }
459 | .btn-danger.disabled, .btn-danger:disabled {
460 | background-color: #d9534f;
461 | border-color: #d9534f; }
462 | .btn-danger:active, .btn-danger.active,
463 | .show > .btn-danger.dropdown-toggle {
464 | color: #fff;
465 | background-color: #c9302c;
466 | background-image: none;
467 | border-color: #c12e2a; }
468 |
469 | .btn-outline-primary {
470 | color: #0275d8;
471 | background-image: none;
472 | background-color: transparent;
473 | border-color: #0275d8; }
474 | .btn-outline-primary:hover {
475 | color: #fff;
476 | background-color: #0275d8;
477 | border-color: #0275d8; }
478 | .btn-outline-primary:focus, .btn-outline-primary.focus {
479 | box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5); }
480 | .btn-outline-primary.disabled, .btn-outline-primary:disabled {
481 | color: #0275d8;
482 | background-color: transparent; }
483 | .btn-outline-primary:active, .btn-outline-primary.active,
484 | .show > .btn-outline-primary.dropdown-toggle {
485 | color: #fff;
486 | background-color: #0275d8;
487 | border-color: #0275d8; }
488 |
489 | .btn-outline-secondary {
490 | color: #ccc;
491 | background-image: none;
492 | background-color: transparent;
493 | border-color: #ccc; }
494 | .btn-outline-secondary:hover {
495 | color: #fff;
496 | background-color: #ccc;
497 | border-color: #ccc; }
498 | .btn-outline-secondary:focus, .btn-outline-secondary.focus {
499 | box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5); }
500 | .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
501 | color: #ccc;
502 | background-color: transparent; }
503 | .btn-outline-secondary:active, .btn-outline-secondary.active,
504 | .show > .btn-outline-secondary.dropdown-toggle {
505 | color: #fff;
506 | background-color: #ccc;
507 | border-color: #ccc; }
508 |
509 | .btn-outline-info {
510 | color: #5bc0de;
511 | background-image: none;
512 | background-color: transparent;
513 | border-color: #5bc0de; }
514 | .btn-outline-info:hover {
515 | color: #fff;
516 | background-color: #5bc0de;
517 | border-color: #5bc0de; }
518 | .btn-outline-info:focus, .btn-outline-info.focus {
519 | box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5); }
520 | .btn-outline-info.disabled, .btn-outline-info:disabled {
521 | color: #5bc0de;
522 | background-color: transparent; }
523 | .btn-outline-info:active, .btn-outline-info.active,
524 | .show > .btn-outline-info.dropdown-toggle {
525 | color: #fff;
526 | background-color: #5bc0de;
527 | border-color: #5bc0de; }
528 |
529 | .btn-outline-success {
530 | color: #5cb85c;
531 | background-image: none;
532 | background-color: transparent;
533 | border-color: #5cb85c; }
534 | .btn-outline-success:hover {
535 | color: #fff;
536 | background-color: #5cb85c;
537 | border-color: #5cb85c; }
538 | .btn-outline-success:focus, .btn-outline-success.focus {
539 | box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5); }
540 | .btn-outline-success.disabled, .btn-outline-success:disabled {
541 | color: #5cb85c;
542 | background-color: transparent; }
543 | .btn-outline-success:active, .btn-outline-success.active,
544 | .show > .btn-outline-success.dropdown-toggle {
545 | color: #fff;
546 | background-color: #5cb85c;
547 | border-color: #5cb85c; }
548 |
549 | .btn-outline-warning {
550 | color: #f0ad4e;
551 | background-image: none;
552 | background-color: transparent;
553 | border-color: #f0ad4e; }
554 | .btn-outline-warning:hover {
555 | color: #fff;
556 | background-color: #f0ad4e;
557 | border-color: #f0ad4e; }
558 | .btn-outline-warning:focus, .btn-outline-warning.focus {
559 | box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5); }
560 | .btn-outline-warning.disabled, .btn-outline-warning:disabled {
561 | color: #f0ad4e;
562 | background-color: transparent; }
563 | .btn-outline-warning:active, .btn-outline-warning.active,
564 | .show > .btn-outline-warning.dropdown-toggle {
565 | color: #fff;
566 | background-color: #f0ad4e;
567 | border-color: #f0ad4e; }
568 |
569 | .btn-outline-danger {
570 | color: #d9534f;
571 | background-image: none;
572 | background-color: transparent;
573 | border-color: #d9534f; }
574 | .btn-outline-danger:hover {
575 | color: #fff;
576 | background-color: #d9534f;
577 | border-color: #d9534f; }
578 | .btn-outline-danger:focus, .btn-outline-danger.focus {
579 | box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5); }
580 | .btn-outline-danger.disabled, .btn-outline-danger:disabled {
581 | color: #d9534f;
582 | background-color: transparent; }
583 | .btn-outline-danger:active, .btn-outline-danger.active,
584 | .show > .btn-outline-danger.dropdown-toggle {
585 | color: #fff;
586 | background-color: #d9534f;
587 | border-color: #d9534f; }
588 |
589 | .btn-link {
590 | font-weight: normal;
591 | color: #0275d8;
592 | border-radius: 0; }
593 | .btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {
594 | background-color: transparent; }
595 | .btn-link, .btn-link:focus, .btn-link:active {
596 | border-color: transparent; }
597 | .btn-link:hover {
598 | border-color: transparent; }
599 | .btn-link:focus, .btn-link:hover {
600 | color: #014c8c;
601 | text-decoration: underline;
602 | background-color: transparent; }
603 | .btn-link:disabled {
604 | color: #636c72; }
605 | .btn-link:disabled:focus, .btn-link:disabled:hover {
606 | text-decoration: none; }
607 |
608 | .btn-lg {
609 | padding: 0.75rem 1.5rem;
610 | font-size: 1.25rem;
611 | border-radius: 0.3rem; }
612 |
613 | .btn-sm {
614 | padding: 0.25rem 0.5rem;
615 | font-size: 0.875rem;
616 | border-radius: 0.2rem; }
617 |
618 | .btn-block {
619 | display: block;
620 | width: 100%; }
621 |
622 | .btn-block + .btn-block {
623 | margin-top: 0.5rem; }
624 |
625 | input[type="submit"].btn-block,
626 | input[type="reset"].btn-block,
627 | input[type="button"].btn-block {
628 | width: 100%; }
629 |
630 | .readmin-page-content {
631 | position: relative;
632 | width: 100%;
633 | padding: 30px;
634 | padding-top: 100px;
635 | transition: all 0.3s ease; }
636 | @media (max-width: 520px) {
637 | .readmin-page-content {
638 | padding: 15px;
639 | padding-top: 100px; } }
640 | .readmin-page-content.menu-open {
641 | padding-left: 286px; }
642 | @media (max-width: 991px) {
643 | .readmin-page-content.menu-open {
644 | padding-left: 30px; } }
645 |
646 | .readmin-form {
647 | position: relative;
648 | width: 100%; }
649 | @media (max-width: 560px) {
650 | .readmin-form.inline .inline-btn {
651 | margin-top: 20px; } }
652 | .readmin-form input {
653 | width: 100%; }
654 | .readmin-form label {
655 | margin: 0 !important; }
656 |
657 | .an-header {
658 | position: fixed;
659 | width: 100%;
660 | left: 0;
661 | top: 0;
662 | background: #fff;
663 | padding: 10px 20px;
664 | z-index: 1300;
665 | display: flex;
666 | align-items: center;
667 | justify-content: space-between;
668 | flex-wrap: wrap;
669 | justify-content: flex-end;
670 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
671 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
672 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
673 | height: 65px; }
674 | @media (max-width: 520px) {
675 | .an-header {
676 | z-index: 1400; } }
677 | .an-header .brand {
678 | position: relative;
679 | color: #fff;
680 | font-size: 1.5rem; }
681 | .an-header .brand img {
682 | width: 130px; }
683 | .an-header .header-right {
684 | display: flex;
685 | align-items: center;
686 | justify-content: center; }
687 | .an-header .header-right > a {
688 | margin: 0 10px 0 15px; }
689 | .an-header .header-right button {
690 | padding: 0 !important; }
691 | .an-header .header-left {
692 | position: relative;
693 | display: flex;
694 | align-items: center;
695 | justify-content: center; }
696 | .an-header .header-left .brand {
697 | margin-right: 70px; }
698 |
699 | .menubtn {
700 | padding: 0;
701 | background: transparent;
702 | cursor: pointer;
703 | outline: 0; }
704 | .menubtn i {
705 | transition: all 0.3s ease; }
706 | .menubtn:hover i {
707 | color: #258df2; }
708 |
709 | .material-icons {
710 | color: #757575; }
711 |
712 | .slide-content {
713 | position: fixed;
714 | top: 65px;
715 | right: -300px;
716 | width: 300px;
717 | background: #fff;
718 | height: calc(100% - 55px);
719 | padding: 20px;
720 | overflow: scroll;
721 | border-top: 2px solid #40c741;
722 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
723 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
724 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
725 | transition: all 0.3s ease; }
726 | .slide-content.toggle {
727 | right: 0; }
728 | .slide-content h6 {
729 | padding-bottom: 20px; }
730 |
731 | .notification-single {
732 | position: relative;
733 | width: 100%;
734 | padding-left: 45px;
735 | padding-bottom: 20px; }
736 | .notification-single .avatar {
737 | background-position: center center !important;
738 | background-repeat: no-repeat !important;
739 | background-size: cover !important;
740 | width: 30px;
741 | height: 30px;
742 | position: absolute;
743 | left: 0;
744 | border-radius: 50%;
745 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
746 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
747 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
748 | .notification-single .avatar.avatar-icon {
749 | background: rgba(37, 141, 242, 0.3);
750 | color: #258df2;
751 | font-size: 12px;
752 | display: flex;
753 | align-items: center;
754 | justify-content: center;
755 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
756 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
757 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
758 | .notification-single .avatar.success {
759 | background: rgba(64, 199, 65, 0.3);
760 | color: #40c741; }
761 | .notification-single .avatar.warning {
762 | background: rgba(253, 186, 44, 0.3);
763 | color: #fdba2c; }
764 | .notification-single .avatar.danger {
765 | background: rgba(230, 64, 67, 0.3);
766 | color: #e64043; }
767 | .notification-single .details {
768 | color: #63737b;
769 | font-size: 14px;
770 | margin-bottom: 8px; }
771 | .notification-single .details a {
772 | color: #2a3134;
773 | padding-right: 5px; }
774 | .notification-single .details a:hover {
775 | color: #258df2; }
776 | .notification-single .time {
777 | font-size: 12px;
778 | color: #98a6ac;
779 | margin: 0; }
780 |
781 | .readmin-sidebar {
782 | position: relative; }
783 | .readmin-sidebar .menudivider {
784 | padding: 15px 0; }
785 | .readmin-sidebar .menu-drawer > div {
786 | padding-top: 75px; }
787 | .readmin-sidebar .menu-drawer.has-bg .nav-menu a, .readmin-sidebar .menu-drawer.has-bg .nav-menu div, .readmin-sidebar .menu-drawer.has-bg .nav-menu svg, .readmin-sidebar .menu-drawer.has-bg .nav-menu i {
788 | color: #fff !important;
789 | opacity: .97; }
790 | .readmin-sidebar .menu-drawer.has-bg .nav-menu i {
791 | opacity: .7; }
792 | .childmenu .readmin-sidebar .menu-drawer.has-bg .nav-menu .childmenu .active {
793 | background: rgba(42, 49, 52, 0.3) !important; }
794 | .readmin-sidebar .menu-drawer.has-bg .nav-menu .active {
795 | background: rgba(42, 49, 52, 0.3) !important; }
796 | .readmin-sidebar .menu-drawer.has-bg .nav-menu .menudivider hr {
797 | background-color: #fff !important;
798 | opacity: .3; }
799 | .readmin-sidebar .an-header {
800 | position: fixed;
801 | left: 0;
802 | top: 0;
803 | width: 256px;
804 | z-index: 14000;
805 | background: #258df2;
806 | transition: all 0.3s ease; }
807 | @media (max-width: 520px) {
808 | .readmin-sidebar .an-header {
809 | width: auto; } }
810 | @media (max-width: 520px) {
811 | .readmin-sidebar .an-header .brand {
812 | font-size: 1rem;
813 | margin-right: 30px; } }
814 |
815 | .sidebar-initial-color {
816 | background-color: #1b202a; }
817 |
818 | .nav-menu .childmenu + div {
819 | padding: 0 !important; }
820 |
821 | .childmenu .nav-menu .childmenu .active {
822 | background: #258df2 !important;
823 | color: #fff !important; }
824 |
825 | .nav-menu .childmenu .active i {
826 | color: #fff !important; }
827 |
828 | .nav-menu .active {
829 | background: #258df2 !important;
830 | color: #fff !important; }
831 | .nav-menu .active i {
832 | color: #fff !important; }
833 |
834 | .iconbox-wrapper {
835 | position: relative;
836 | width: 100%; }
837 | .iconbox-wrapper.alter {
838 | background: #fff;
839 | padding: 30px;
840 | box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);
841 | border-radius: 3px;
842 | margin-bottom: 30px; }
843 | @media (ma-width: 520px) {
844 | .iconbox-wrapper.alter {
845 | padding: 15px; } }
846 | .iconbox-wrapper.alter .col-md-3:last-child .iconbox-single {
847 | border-right: 0; }
848 | .iconbox-wrapper.alter .iconbox-single {
849 | box-shadow: none;
850 | border-right: 1px solid #eaeff5;
851 | margin: 0;
852 | padding-left: 15px; }
853 | @media (max-width: 768px) {
854 | .iconbox-wrapper.alter .iconbox-single {
855 | border-right: 0; } }
856 | .iconbox-wrapper.alter .iconbox-single .circle-icon-alter {
857 | border: 1px solid #eaeff5;
858 | position: relative;
859 | width: 60px;
860 | height: 60px;
861 | margin-right: 20px;
862 | border-radius: 50%;
863 | display: flex;
864 | align-items: center;
865 | justify-content: center; }
866 |
867 | .iconbox-single {
868 | position: relative;
869 | background: #fff;
870 | padding: 30px;
871 | margin-bottom: 30px;
872 | border-radius: 3px;
873 | box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);
874 | display: flex;
875 | align-items: center;
876 | justify-content: space-between;
877 | flex-wrap: wrap; }
878 | @media (ma-width: 520px) {
879 | .iconbox-single {
880 | padding: 10px; } }
881 | .iconbox-single .circle-icon {
882 | position: relative;
883 | width: 50px;
884 | height: 50px;
885 | margin-right: 20px;
886 | border-radius: 50%;
887 | display: flex;
888 | align-items: center;
889 | justify-content: center; }
890 | .iconbox-single .circle-icon .material-icons {
891 | color: #fff; }
892 | .iconbox-single .box-title {
893 | position: relative;
894 | display: flex;
895 | align-items: center;
896 | justify-content: center; }
897 | .iconbox-single h5 {
898 | margin: 0; }
899 | .iconbox-single p {
900 | margin: 0;
901 | opacity: .6; }
902 |
903 | .readmin-panel {
904 | position: relative;
905 | width: 100%;
906 | background: #fff;
907 | margin-bottom: 30px;
908 | border-radius: 3px;
909 | box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02); }
910 | .readmin-panel.righticonmenu .panel-heading {
911 | padding: 5px 30px;
912 | padding-right: 15px; }
913 | .readmin-panel.body-text-center .panel-body {
914 | text-align: center; }
915 | .readmin-panel .panel-heading {
916 | position: relative;
917 | width: 100%;
918 | border-bottom: 1px solid #eaeff5;
919 | padding: 17px 30px;
920 | padding-right: 15px;
921 | display: flex;
922 | align-items: center;
923 | justify-content: space-between;
924 | flex-wrap: wrap; }
925 | .readmin-panel .panel-heading h5 {
926 | margin: 0; }
927 | .readmin-panel .panel-body {
928 | padding: 20px;
929 | width: 100%;
930 | display: inline-block; }
931 |
932 | .secondary-appbar {
933 | background: #40c741 !important; }
934 |
935 | .table thead th {
936 | border-top: 0; }
937 |
938 | .product-table tbody tr td {
939 | vertical-align: middle; }
940 |
941 | .panel-body .recharts-wrapper {
942 | width: 100% !important; }
943 | .panel-body .recharts-wrapper .recharts-surface {
944 | width: 100%; }
945 | .panel-body .recharts-wrapper .recharts-legend-wrapper .recharts-surface {
946 | width: auto; }
947 |
948 | .panel-body .recharts-responsive-container {
949 | height: 300px !important; }
950 |
951 | .grid-example {
952 | position: relative;
953 | padding: 30px; }
954 | .grid-example .row {
955 | margin-bottom: 15px; }
956 |
957 | .grid-example .row > .col, .grid-example .row > [class^=col-] {
958 | padding-top: .75rem;
959 | padding-bottom: .75rem;
960 | background-color: rgba(86, 61, 124, 0.15);
961 | border: 1px solid rgba(86, 61, 124, 0.2); }
962 |
963 | .pt20 {
964 | padding-top: 20px; }
965 |
966 | .pb20 {
967 | padding-bottom: 20px; }
968 |
969 | .product-table-img {
970 | max-width: 50px;
971 | max-height: 50px; }
972 |
973 | .readmin-products {
974 | position: relative;
975 | width: 100%; }
976 |
977 | .product-single {
978 | position: relative;
979 | width: 100%;
980 | padding: 20px;
981 | padding-bottom: 30px;
982 | background: #fff;
983 | text-align: center;
984 | box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.02);
985 | border-radius: 3px;
986 | margin-bottom: 30px; }
987 | .product-single img {
988 | height: 240px;
989 | margin: 0 auto; }
990 | .product-single .favorite {
991 | position: absolute;
992 | right: 20px;
993 | top: 20px;
994 | cursor: pointer; }
995 | .product-single h5 {
996 | padding-top: 10px;
997 | padding-bottom: 5px; }
998 | .product-single .price {
999 | margin: 0;
1000 | color: #258df2;
1001 | padding-bottom: 10px; }
1002 |
1003 | .table-responsive table {
1004 | min-width: 500px; }
1005 |
1006 | .review-item {
1007 | position: relative;
1008 | width: 100%;
1009 | margin-bottom: 30px; }
1010 | .review-item.totals {
1011 | background: #f4f7fa;
1012 | padding: 30px; }
1013 | .review-item.totals ul {
1014 | margin-bottom: 0; }
1015 | .review-item h6 {
1016 | text-transform: uppercase;
1017 | padding-bottom: 15px;
1018 | margin: 0;
1019 | letter-spacing: 1px;
1020 | font-weight: bold; }
1021 | .review-item ul {
1022 | list-style: none;
1023 | margin: 0;
1024 | padding: 0;
1025 | padding-top: 15px;
1026 | position: relative;
1027 | margin-bottom: 45px; }
1028 | .review-item ul li {
1029 | padding: 5px 0;
1030 | display: flex;
1031 | align-items: center;
1032 | justify-content: space-between;
1033 | flex-wrap: wrap; }
1034 | .review-item ul li span {
1035 | opacity: .7;
1036 | padding-right: 30px; }
1037 | .review-item ul li strong {
1038 | font-weight: normal; }
1039 |
1040 | .re-page-banner {
1041 | position: relative;
1042 | height: 250px;
1043 | margin: -30px;
1044 | margin-top: -35px;
1045 | margin-bottom: 60px;
1046 | display: flex;
1047 | align-items: center;
1048 | justify-content: center; }
1049 | .re-page-banner .overlay {
1050 | position: absolute;
1051 | width: 100%;
1052 | height: 100%;
1053 | left: 0;
1054 | top: 0;
1055 | background: rgba(0, 0, 0, 0.6);
1056 | z-index: 9;
1057 | transition: all 0.3s ease; }
1058 | .re-page-banner h1 {
1059 | position: relative;
1060 | z-index: 20;
1061 | color: #fff;
1062 | margin: 0;
1063 | font-size: 3.25rem;
1064 | font-weight: 400; }
1065 |
1066 | .about-box-single {
1067 | position: relative;
1068 | margin-bottom: 30px; }
1069 | .about-box-single p {
1070 | opacity: .8; }
1071 |
1072 | .inner-box-title {
1073 | position: relative;
1074 | padding: 0 0 15px;
1075 | border-bottom: 2px solid #258df2;
1076 | font-size: 1.25rem;
1077 | text-transform: uppercase;
1078 | margin-top: 0; }
1079 | .inner-box-title.full {
1080 | border-bottom: 0; }
1081 |
1082 | .an-team-single {
1083 | position: relative;
1084 | width: 100%;
1085 | transition: all 0.3s ease;
1086 | margin-bottom: 30px;
1087 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1088 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1089 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
1090 | .an-team-single:hover {
1091 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1092 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1093 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
1094 | .an-team-single:hover .image-container .overlay {
1095 | opacity: 1;
1096 | visibility: visible; }
1097 | .an-team-single.light-bg .user-details {
1098 | background: #fff; }
1099 | .an-team-single.light-bg .user-details h4 a, .an-team-single.light-bg .user-details p {
1100 | color: #2a3134; }
1101 | .an-team-single .image-container {
1102 | position: relative; }
1103 | .an-team-single .image-container .overlay {
1104 | position: absolute;
1105 | width: 100%;
1106 | height: 100%;
1107 | left: 0;
1108 | top: 0;
1109 | background: rgba(0, 0, 0, 0.6);
1110 | z-index: 9;
1111 | transition: all 0.3s ease;
1112 | display: flex;
1113 | align-items: center;
1114 | justify-content: center;
1115 | transition: all 0.3s ease;
1116 | opacity: 0;
1117 | visibility: hidden; }
1118 | .an-team-single .image-container .overlay .small-social li a i {
1119 | font-size: 1.75rem; }
1120 | .an-team-single .image-container .overlay .small-social li a:hover {
1121 | color: #258df2; }
1122 | .an-team-single img {
1123 | width: 100%;
1124 | display: block; }
1125 | .an-team-single .user-details {
1126 | padding: 15px;
1127 | background: #258df2; }
1128 | .an-team-single .user-details h4 {
1129 | margin: 0;
1130 | line-height: 1.5;
1131 | text-transform: uppercase;
1132 | font-size: 1.25rem; }
1133 | .an-team-single .user-details h4 a {
1134 | color: #fff;
1135 | display: block; }
1136 | .an-team-single .user-details p {
1137 | margin: 0;
1138 | color: #2a3134;
1139 | opacity: .7;
1140 | font-size: 1rem; }
1141 | .an-team-single .user-details .small-social {
1142 | padding-top: 15px; }
1143 |
1144 | .small-social {
1145 | margin: 0; }
1146 | .small-social li {
1147 | display: inline-block;
1148 | padding: 7px; }
1149 | .small-social li a {
1150 | color: #fff; }
1151 |
1152 | .an-services {
1153 | position: relative; }
1154 | .an-services.center-align .an-service-single {
1155 | text-align: center; }
1156 | .an-services.center-align .an-service-single i {
1157 | margin: 0 auto 30px; }
1158 |
1159 | .an-service-single {
1160 | position: relative;
1161 | margin-bottom: 30px;
1162 | background: #fff;
1163 | padding: 30px;
1164 | text-align: center;
1165 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1166 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1167 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
1168 | .an-service-single:hover i {
1169 | color: #258df2;
1170 | border-color: #258df2; }
1171 | .an-service-single i {
1172 | color: #258df2;
1173 | font-size: 2.5rem;
1174 | padding-bottom: 20px; }
1175 | .an-service-single h4 {
1176 | padding-bottom: 15px;
1177 | font-size: 1.25rem;
1178 | margin: 0;
1179 | line-height: 1.5; }
1180 | .an-service-single p {
1181 | color: #63737b;
1182 | margin: 0;
1183 | font-weight: 400; }
1184 |
1185 | .an-address-single {
1186 | position: relative;
1187 | width: 100%; }
1188 | .an-address-single p {
1189 | padding-left: 30px;
1190 | position: relative; }
1191 | .an-address-single i {
1192 | position: absolute;
1193 | left: 0;
1194 | top: 4px;
1195 | color: #258df2; }
1196 |
1197 | .contact-form > div {
1198 | margin-bottom: 20px; }
1199 |
1200 | .blog-single {
1201 | position: relative;
1202 | background: #fff;
1203 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1204 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1205 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1206 | margin-bottom: 30px; }
1207 | .blog-single img {
1208 | width: 100%; }
1209 | .blog-single .details {
1210 | padding: 20px; }
1211 | .blog-single .details p {
1212 | margin: 0;
1213 | opacity: .6;
1214 | color: #2a3134; }
1215 |
1216 | .an-pricing {
1217 | position: relative;
1218 | width: 100%;
1219 | padding: 45px 0 15px; }
1220 |
1221 | .an-pricing-table-single {
1222 | position: relative;
1223 | width: 100%;
1224 | background: #fff;
1225 | margin-bottom: 30px;
1226 | border-radius: 3px;
1227 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1228 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1229 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1230 | transition: all 0.3s ease;
1231 | text-align: center;
1232 | padding: 30px;
1233 | padding-bottom: 0; }
1234 | .an-pricing-table-single .price-header {
1235 | position: relative;
1236 | text-align: center; }
1237 | .an-pricing-table-single .price-header .plan-name {
1238 | margin-top: 0; }
1239 | .an-pricing-table-single .price-header .plan-price {
1240 | color: #258df2;
1241 | margin-bottom: 0;
1242 | font-size: 2.5rem; }
1243 | .an-pricing-table-single .price-header .plan-price span {
1244 | font-size: 1rem;
1245 | position: relative;
1246 | top: -13px;
1247 | padding-right: 5px;
1248 | color: #258df2; }
1249 | .an-pricing-table-single .price-header .plan-price small {
1250 | font-size: 1rem;
1251 | color: #98a6ac;
1252 | display: block; }
1253 | .an-pricing-table-single .price-header p {
1254 | margin: 0;
1255 | text-transform: uppercase;
1256 | font-size: 1rem;
1257 | padding-top: 10px; }
1258 | .an-pricing-table-single .helper-text {
1259 | position: relative;
1260 | padding: 25px 0 0;
1261 | opacity: .7; }
1262 |
1263 | .feature-lists {
1264 | padding: 15px 0;
1265 | text-align: center;
1266 | margin: 0; }
1267 | .feature-lists li {
1268 | padding: 7px 0;
1269 | color: #4c595e;
1270 | border-bottom: 1px solid #eaeff5;
1271 | font-size: -1rem; }
1272 |
1273 | .price-footer {
1274 | padding: 20px;
1275 | position: relative; }
1276 |
1277 | .login-wrapper {
1278 | position: relative;
1279 | width: 100%;
1280 | max-width: 400px;
1281 | background: #258df2;
1282 | margin: 0 auto;
1283 | margin-top: 60px;
1284 | margin-bottom: 60px; }
1285 |
1286 | .login-fields {
1287 | position: relative;
1288 | width: 100%;
1289 | background: #fff;
1290 | padding: 45px;
1291 | top: 30px;
1292 | right: 30px;
1293 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1294 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1295 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2); }
1296 | .login-fields h3 a {
1297 | font-size: 13px;
1298 | font-weight: 400;
1299 | padding-left: 30px;
1300 | color: #2a3134;
1301 | opacity: .7; }
1302 | .login-fields h3 a:hover {
1303 | color: #258df2; }
1304 | .login-fields h3 i {
1305 | font-size: 5rem; }
1306 | .login-fields h3.title-404 {
1307 | font-size: 7.5rem; }
1308 |
1309 | .readmin-footer {
1310 | position: relative;
1311 | text-align: center;
1312 | padding: 30px 0;
1313 | padding-bottom: 0; }
1314 | .readmin-footer p {
1315 | opacity: .7; }
1316 |
1317 | .readmin-style-switcher {
1318 | position: fixed;
1319 | right: -350px;
1320 | top: 0;
1321 | background: #fff;
1322 | height: 100%;
1323 | width: 350px;
1324 | -webkit-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1325 | -moz-box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1326 | box-shadow: 0 6px 25px 0 rgba(38, 50, 56, 0.2);
1327 | z-index: 99999;
1328 | padding: 30px;
1329 | transition: all 0.3s ease; }
1330 | .readmin-style-switcher.toggle {
1331 | right: 0; }
1332 | .readmin-style-switcher .clear-btn {
1333 | position: absolute !important;
1334 | right: 0;
1335 | top: 0; }
1336 | .readmin-style-switcher p {
1337 | opacity: .6;
1338 | margin-bottom: 15px; }
1339 | .readmin-style-switcher h6 {
1340 | padding-bottom: 15px;
1341 | padding-top: 15px;
1342 | text-transform: uppercase; }
1343 | .readmin-style-switcher .single-radio {
1344 | width: 50%;
1345 | float: left; }
1346 | .readmin-style-switcher .radio-group {
1347 | position: relative;
1348 | display: inline-block; }
1349 | .readmin-style-switcher .radio-group > div {
1350 | width: 40px !important;
1351 | float: left;
1352 | margin-bottom: 10px; }
1353 | .readmin-style-switcher .style-toggle {
1354 | position: absolute;
1355 | top: 150px;
1356 | left: -50px;
1357 | width: 50px;
1358 | height: 50px;
1359 | background: #258df2;
1360 | border-radius: 3px 0 0 3px;
1361 | border: 0;
1362 | outline: 0;
1363 | cursor: pointer;
1364 | display: flex;
1365 | align-items: center;
1366 | justify-content: center; }
1367 | .readmin-style-switcher .style-toggle i {
1368 | color: #fff; }
1369 | .readmin-style-switcher .style-toggle:hover {
1370 | background: #0e80ef; }
1371 | .readmin-style-switcher .overflow-content {
1372 | overflow: auto;
1373 | width: 100%;
1374 | height: 100%; }
1375 |
1376 | /* Standard syntax */
1377 | @keyframes rotate {
1378 | 0% {
1379 | transform: rotate(0deg); }
1380 | 50% {
1381 | transform: rotate(360deg); }
1382 | 100% {
1383 | transform: rotate(0deg); } }
1384 |
--------------------------------------------------------------------------------