Add 'sge-frontend/' from commit '5fa787e054b25ac53edc7ff0275ea7960a709401'

git-subtree-dir: sge-frontend
git-subtree-mainline: 876c278ac4
git-subtree-split: 5fa787e054
This commit is contained in:
2025-08-04 00:27:23 +03:00
337 changed files with 854877 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
# .dockerignore
node_modules/
.git/
.DS_Store
docker-compose.yml
*.md

18
sge-frontend/.env Normal file
View File

@@ -0,0 +1,18 @@
# Frontend environment configuration
# REACT_APP_API_PROTOCOL=${API_PROTOCOL:-http}
# REACT_APP_API_HOST=${API_HOST:-localhost}
# REACT_APP_API_PORT=${SERVER_PORT:-8080}
# REACT_APP_API_BASE_URL=${REACT_APP_API_PROTOCOL}://${REACT_APP_API_HOST}:${REACT_APP_API_PORT}/api/v1
# REACT_APP_API_WEBSOCKET_BASE_URL=${REACT_APP_API_PROTOCOL}://${REACT_APP_API_HOST}:${REACT_APP_API_PORT}
SKIP_PREFLIGHT_CHECK=true
# Vite environment variables
REACT_APP_API_BASE_URL=http://localhost:8080/api/v1
REACT_APP_API_WEBSOCKET_BASE_URL=http://localhost:8080
REACT_APP_DEFAULT_EMAIL=info@blc-css.com
# Commented out alternative configuration
#REACT_APP_API_BASE_URL=http://172.16.150.22:8080/api/v1
#REACT_APP_API_WEBSOCKET_BASE_URL=http://172.16.150.22:8080

27
sge-frontend/.gitignore vendored Normal file
View File

@@ -0,0 +1,27 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# dependencies
/node_modules
/.pnp
.pnp.js
.idea/
# testing
/coverage
# production
/build
/package-lock.json
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

5
sge-frontend/.prettierrc Normal file
View File

@@ -0,0 +1,5 @@
{
"tabWidth": 2,
"useTabs": false,
"semi": true
}

23
sge-frontend/Dockerfile Normal file
View File

@@ -0,0 +1,23 @@
# FROM node:20 AS build
# WORKDIR /app
# COPY package.json package-lock.json ./
# RUN npm ci
# COPY . .
# RUN npm run build
FROM nginx:alpine
#COPY --from=build /app/build /usr/share/nginx/html
COPY ./build /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

104
sge-frontend/README.md Normal file
View File

@@ -0,0 +1,104 @@
# SGE System Frontend
## Overview
The frontend of the SGE System is a modern web application built with **React**, providing an interactive and user-friendly interface. It communicates with the backend API to deliver a seamless experience for users.
## Technology Stack
- **React** UI library
- **React Router** Routing
- **i18n** Internationalization
- **Docker** Containerization
## Repository Structure
```
SGE/
├── sge-backend/ # Backend source code
├── sge-frontend/ # Frontend source code
├── config.conf # Centralized configuration file (see below)
├── docker-compose.yml # Docker Compose file (see below)
```
## Setup and Installation
### Prerequisites
- **Node.js** (v14.0.0 required) and npm
- **Docker** (for containerized deployment)
#### Node.js Version Management
If you need to switch Node versions, use nvm:
```sh
nvm install v14.0.0
nvm use v14.0.0
unset NODE_OPTIONS
```
### Frontend Setup
#### Local Development
1. Clone the repository and navigate to the frontend directory:
```sh
git clone <repository-url>
cd SGE/sge-frontend
```
2. Ensure `config.conf` is in the project root (`SGE/`).
You can either:
- Manually set environment variables from `config.conf`
- Or configure your IDE to load variables from `config.conf`
3. Install dependencies:
```sh
npm install
```
4. Start the development server:
```sh
npm start
```
#### Docker Deployment
1. Ensure both `config.conf` and `docker-compose.yml` are in the project root (`SGE/`).
2. From the root directory, build and run the frontend (and backend) using Docker:
```sh
docker-compose up --build
```
## Configuration Management
The SGE System uses a centralized `config.conf` file for all environment variables.
**Location:** Place `config.conf` in the root directory of your project, alongside `docker-compose.yml`.
This file contains environment variables for both backend and frontend components, including:
- API connection settings
- Mail configuration
- Application URLs
When running with Docker, environment variables are automatically loaded from `config.conf` via the `env_file` directive in `docker-compose.yml`.
For local development, you can either:
- Use the same `config.conf` file and manually set the environment variables
- Configure your IDE to load these variables from the file
Refer to the backend README for more details on configuration options and structure.
## Integration with Backend
The frontend expects the backend API to be available at the host and port specified in `config.conf` (`API_PROTOCOL`, `API_HOST`, `SERVER_PORT`).
Ensure both services are configured consistently.
## License
[Insert your license information here]

View File

@@ -0,0 +1,60 @@
const path = require("path")
module.exports = {
webpack: function (config) {
// 1. Find and replace babel-loader with swc-loader
const jsRule = config.module.rules.find(
(rule) =>
rule.oneOf &&
rule.oneOf.some((r) => r.loader && r.loader.includes("babel-loader"))
)
if (jsRule) {
const babelLoaderIndex = jsRule.oneOf.findIndex(
(r) => r.loader && r.loader.includes("babel-loader")
)
jsRule.oneOf[babelLoaderIndex] = {
test: /\.(js|jsx|ts|tsx)$/,
exclude: /node_modules/,
use: {
loader: "swc-loader",
options: {
jsc: {
parser: {
syntax: "ecmascript",
jsx: true,
tsx: true, // Add support for TypeScript JSX
decorators: false,
dynamicImport: true
},
transform: {
react: {
runtime: "automatic",
refresh: process.env.NODE_ENV === 'development',
},
},
target: "es2015",
},
},
},
}
}
// 2. Add path aliases
config.resolve.alias = {
...config.resolve.alias,
"@src": path.resolve(__dirname, "src"),
"@assets": path.resolve(__dirname, "src/assets"),
"@components": path.resolve(__dirname, "src/components"),
"@layouts": path.resolve(__dirname, "src/layouts"),
"@store": path.resolve(__dirname, "src/redux"),
"@styles": path.resolve(__dirname, "src/styles"),
"@configs": path.resolve(__dirname, "src/configs"),
"@hooks": path.resolve(__dirname, "src/hooks"),
}
// Important: Return the modified config
return config
},
}

39
sge-frontend/nginx.conf Normal file
View File

@@ -0,0 +1,39 @@
server {
listen 80;
server_name bgreen.blc-css.com;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri /index.html;
}
location /api/v1/graphql {
proxy_pass http://bgreen-backend:8080/api/v1/graphql;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /api/v1/upload {
proxy_pass http://bgreen-backend:8080/upload;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# location /api/v1/datacenter {
# proxy_pass http://backend:8080/api/v1/datacenter;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# }
# Hata durumlarında da index.html'i sun
error_page 404 /index.html;
gzip on;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied any;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml application/rss+xml application/atom+xml image/svg+xml;
gzip_comp_level 5;
}

131
sge-frontend/package.json Normal file
View File

@@ -0,0 +1,131 @@
{
"name": "sgs-web",
"version": "1.0.0",
"private": true,
"dependencies": {
"@apollo/client": "^3.13.8",
"@casl/react": "4.0.0",
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.10.6",
"@mui/icons-material": "^5.2.4",
"@mui/material": "^5.2.4",
"animate.css": "4.1.1",
"axios": "^0.21.1",
"bootstrap": "4.5.2",
"chart.js": "^4.3.0",
"chartjs-plugin-datalabels": "^2.2.0",
"classnames": "2.2.6",
"dotenv": "^14.3.2",
"file-saver": "^2.0.5",
"graphql": "^16.11.0",
"html2canvas": "^1.4.1",
"i18next": "^22.4.14",
"i18next-browser-languagedetector": "^7.0.1",
"i18next-http-backend": "^2.2.0",
"jquery": "^3.7.1",
"jspdf": "^2.5.1",
"jwt-decode": "^3.1.2",
"leaflet": "^1.6.0",
"material-react-table": "^1.14.0",
"moment": "2.29.1",
"notistack": "^2.0.8",
"postcss-rtl": "1.5.0",
"prop-types": "15.7.2",
"react": "17.0.1",
"react-bootstrap": "^2.10.6",
"react-chartjs-2": "^5.2.0",
"react-color": "^2.19.3",
"react-data-table-component": "^7.5.0",
"react-datepicker": "^4.16.0",
"react-dom": "17.0.1",
"react-feather": "~2.0.3",
"react-i18next": "^12.2.0",
"react-intl": "6.0.5",
"react-leaflet": "^3.2.5",
"react-paginate": "8.2.0",
"react-perfect-scrollbar": "^1.5.5",
"react-redux": "7.2.2",
"react-router-dom": "^5.2.0",
"react-scroll-up": "1.3.7",
"react-select": "4.0.2",
"react-toastify": "^7.0.3",
"reactstrap": "9.2.3",
"redux": "4.0.5",
"redux-debounced": "0.5.0",
"redux-thunk": "2.3.0",
"styled-components": "^5.3.6",
"sweetalert2": "11.0.0",
"sweetalert2-react-content": "4.2.0",
"swiper": "6.0.4",
"uuid": "^9.0.0",
"web-vitals": "^1.0.1",
"websocket": "^1.0.34",
"wnumb": "1.2.0",
"xlsx": "^0.18.5",
"yarn": "1.21.1",
"yup": "0.32.8"
},
"scripts": {
"start": "react-app-rewired start",
"build:dev": "react-app-rewired build --mode development",
"build:prod": "react-app-rewired build --mode production",
"build": "react-app-rewired build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"lint": "eslint src/**/*.js src/**/*.jsx",
"lint:fix": "eslint src/**/*.js --fix"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@babel/core": "^7.27.1",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/preset-env": "^7.27.1",
"@babel/preset-react": "^7.27.1",
"@craco/craco": "^7.1.0",
"@swc/core": "^1.11.24",
"@types/leaflet": "^1.7.5",
"@types/sortablejs": "^1.10.6",
"babel-eslint": "^10.1.0",
"babel-loader": "^10.0.0",
"babel-plugin-styled-components": "^2.1.4",
"core-js": "^3.42.0",
"eslint": "^8.48.0",
"eslint-config-react-app": "^7.0.1",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-react": "^7.33.0",
"eslint-plugin-react-hooks": "^4.6.0",
"react-app-rewire-postcss": "^3.0.2",
"react-app-rewired": "^2.2.1",
"react-error-overlay": "^6.0.9",
"react-loadable": "^5.5.0",
"react-scripts": "^5.0.1",
"sass": "^1.81.0",
"sass-loader": "^8.0.2",
"swc-loader": "^0.2.6",
"typescript": "^4.9.5",
"webpack": "^5.96.1"
},
"resolutions": {
"react-error-overlay": "6.0.9"
},
"homepage": ""
}

BIN
sge-frontend/public/1.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
sge-frontend/public/11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
sge-frontend/public/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Page Not Found</title>
<style media="screen">
body {
background: #eceff1;
color: rgba(0, 0, 0, 0.87);
font-family: Roboto, Helvetica, Arial, sans-serif;
margin: 0;
padding: 0;
}
#message {
background: white;
max-width: 360px;
margin: 100px auto 16px;
padding: 32px 24px 16px;
border-radius: 3px;
}
#message h3 {
color: #888;
font-weight: normal;
font-size: 16px;
margin: 16px 0 12px;
}
#message h2 {
color: #ffa100;
font-weight: bold;
font-size: 16px;
margin: 0 0 8px;
}
#message h1 {
font-size: 22px;
font-weight: 300;
color: rgba(0, 0, 0, 0.6);
margin: 0 0 16px;
}
#message p {
line-height: 140%;
margin: 16px 0 24px;
font-size: 14px;
}
#message a {
display: block;
text-align: center;
background: #039be5;
text-transform: uppercase;
text-decoration: none;
color: white;
padding: 16px;
border-radius: 4px;
}
#message,
#message a {
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}
#load {
color: rgba(0, 0, 0, 0.4);
text-align: center;
font-size: 13px;
}
@media (max-width: 600px) {
body,
#message {
margin-top: 0;
background: white;
box-shadow: none;
}
body {
border-top: 16px solid #ffa100;
}
}
</style>
</head>
<body>
<div id="message">
<h2>404</h2>
<h1>Page Not Found</h1>
<p>
The specified file was not found on this website. Please check the URL
for mistakes and try again.
</p>
<h3>Why am I seeing this?</h3>
<p>
This page was generated by the Firebase Command-Line Interface. To
modify it, edit the <code>404.html</code> file in your project's
configured <code>public</code> directory.
</p>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/apple-touch-icon" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="B'Green Website" />
<link rel="apple-touch-icon" href="%PUBLIC_URL%/apple-touch-icon.png" />
<link rel="manifest" href="%PUBLIC_URL%/apple-touch-icon" />
<title>B'Green</title>
<link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500;1,600" />
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" crossorigin="" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,25 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "android-chrome-192x192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "android-chrome-512x512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}

View File

@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:

View File

@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

View File

@@ -0,0 +1,849 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="feather" horiz-adv-x="1024" >
<font-face
font-family="feather"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
<glyph glyph-name="alert-octagon" unicode="&#59419;" d="M128 542.976v-317.952L353.024 0h317.952L896 225.024V542.976L670.976 768H353.024L128 542.976zM335.36 853.333333h353.28a42.666667 42.666667 0 0 0 30.165333-12.501333l250.026667-250.026667A42.666667 42.666667 0 0 0 981.333333 560.64v-353.28a42.666667 42.666667 0 0 0-12.501333-30.165333l-250.026667-250.026667a42.666667 42.666667 0 0 0-30.165333-12.501333H335.36a42.666667 42.666667 0 0 0-30.165333 12.501333l-250.026667 250.026667A42.666667 42.666667 0 0 0 42.666667 207.36V560.64a42.666667 42.666667 0 0 0 12.501333 30.165333l250.026667 250.026667A42.666667 42.666667 0 0 0 335.36 853.333333zM512 213.333333m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM469.333333 554.666667v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="alert-circle" unicode="&#59420;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 554.666667v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0zM512 213.333333m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
<glyph glyph-name="activity" unicode="&#59421;" d="M424.490667 781.482667c-12.970667 38.912-68.010667 38.912-80.981334 0L225.28 426.666667H85.333333a42.666667 42.666667 0 0 1 0-85.333334h170.666667a42.666667 42.666667 0 0 1 40.490667 29.184L384 633.088l215.509333-646.570667c12.970667-38.912 68.010667-38.912 80.981334 0L798.72 341.333333H938.666667a42.666667 42.666667 0 0 1 0 85.333334h-170.666667a42.666667 42.666667 0 0 1-40.490667-29.184L640 134.912 424.490667 781.482667z" horiz-adv-x="1024" />
<glyph glyph-name="alert-triangle" unicode="&#59422;" d="M402.432 753.237333a128.085333 128.085333 0 0 0 219.136 0L983.296 149.333333A128 128 0 0 0 873.386667-42.666667H150.144a128 128 0 0 0-109.098667 192.597334l361.386667 603.306666zM114.602667 106.666667A42.666667 42.666667 0 0 1 150.613333 42.666667h722.304a42.666667 42.666667 0 0 1 36.821334 63.402666L548.48 709.162667a42.666667 42.666667 0 0 1-72.917333 0.085333L114.602667 106.666667zM512 170.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM469.333333 512v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V512a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="align-center" unicode="&#59423;" d="M768 512H256a42.666667 42.666667 0 1 1 0-85.333333h512a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM768 170.666667H256a42.666667 42.666667 0 0 1 0-85.333334h512a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="airplay" unicode="&#59424;" d="M213.333333 213.333333H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V682.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h682.666666a42.666667 42.666667 0 0 0 42.666667-42.666666v-426.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-42.666666a42.666667 42.666667 0 0 1 0-85.333333h42.666666a128 128 0 0 1 128 128V682.666667a128 128 0 0 1-128 128H170.666667a128 128 0 0 1-128-128v-426.666667a128 128 0 0 1 128-128h42.666666a42.666667 42.666667 0 0 1 0 85.333333zM512 189.354667L389.76 42.666667h244.48L512 189.354667zM725.333333-42.666667H298.666667a42.666667 42.666667 0 0 0-32.768 69.973334l213.333333 256a42.666667 42.666667 0 0 0 65.536 0l213.333333-256A42.666667 42.666667 0 0 0 725.333333-42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="align-justify" unicode="&#59425;" d="M896 512H128a42.666667 42.666667 0 1 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM896 170.666667H128a42.666667 42.666667 0 0 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="align-left" unicode="&#59426;" d="M725.333333 512H128a42.666667 42.666667 0 1 1 0-85.333333h597.333333a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM725.333333 170.666667H128a42.666667 42.666667 0 0 1 0-85.333334h597.333333a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="align-right" unicode="&#59427;" d="M896 512H298.666667a42.666667 42.666667 0 1 1 0-85.333333h597.333333a42.666667 42.666667 0 0 1 0 85.333333zM896 682.666667H128a42.666667 42.666667 0 1 1 0-85.333334h768a42.666667 42.666667 0 0 1 0 85.333334zM896 341.333333H128a42.666667 42.666667 0 0 1 0-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333zM896 170.666667H298.666667a42.666667 42.666667 0 0 1 0-85.333334h597.333333a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-down-left" unicode="&#59428;" d="M737.834667 670.165333l-512-512a42.666667 42.666667 0 0 1 60.330666-60.330666l512 512a42.666667 42.666667 0 1 1-60.330666 60.330666zM298.666667 512a42.666667 42.666667 0 1 1-85.333334 0v-384a42.666667 42.666667 0 0 1 42.666667-42.666667h384a42.666667 42.666667 0 0 1 0 85.333334H298.666667V512z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-down-right" unicode="&#59429;" d="M225.834667 609.834667l512-512a42.666667 42.666667 0 0 1 60.330666 60.330666l-512 512a42.666667 42.666667 0 0 1-60.330666-60.330666zM384 170.666667a42.666667 42.666667 0 0 1 0-85.333334h384a42.666667 42.666667 0 0 1 42.666667 42.666667V512a42.666667 42.666667 0 0 1-85.333334 0v-341.333333H384z" horiz-adv-x="1024" />
<glyph glyph-name="anchor" unicode="&#59430;" d="M554.666667 2.346667000000025A384.170667 384.170667 0 0 1 893.653333 341.33333300000004H810.666667a42.666667 42.666667 0 0 0 0 85.333334h128a42.666667 42.666667 0 0 0 42.666666-42.666667c0-259.2-210.133333-469.333333-469.333333-469.333333S42.666667 124.79999999999995 42.666667 384a42.666667 42.666667 0 0 0 42.666666 42.666667h128a42.666667 42.666667 0 0 0 0-85.333334H130.346667A384.170667 384.170667 0 0 1 469.333333 2.346667000000025V554.666667a42.666667 42.666667 0 0 0 85.333334 0v-552.32zM512 512a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="aperture" unicode="&#59431;" d="M456.533333-82.09066700000005a469.76 469.76 0 0 0-375.893333 280.917334A467.797333 467.797333 0 0 0 42.666667 384c0 102.954667 33.152 198.186667 89.386666 275.584a42.410667 42.410667 0 0 0 4.650667 6.272 468.608 468.608 0 0 0 424.917333 184.874667 469.76 469.76 0 0 0 381.781334-281.6C967.808 512.426667 981.333333 449.792 981.333333 384a467.2 467.2 0 0 0-89.386666-275.584 42.410667 42.410667 0 0 0-4.650667-6.272 468.608 468.608 0 0 0-424.917333-184.874667 42.410667 42.410667 0 0 0-5.802667 0.64z m-14.72 88.490667L536.661333 170.66666699999996H192.682667a384.213333 384.213333 0 0 1 249.130666-164.266667z m95.317334-5.589333a383.146667 383.146667 0 0 1 266.794666 133.717333L709.12 298.66666699999996 647.68 192.42666699999995a42.666667 42.666667 0 0 0-0.426667-0.725334L537.173333 0.8533330000000205z m122.709333 383.146666L585.941333 512h-147.882666l-73.898667-128 73.898667-128h147.882666l73.898667 128z m86.698667 20.522667l109.952-190.336c25.301333 51.2 39.509333 108.885333 39.509333 169.856 0 44.885333-7.68 87.978667-21.845333 128h-189.696l61.056-105.728a42.624 42.624 0 0 0 1.024-1.792zM149.845333 256h189.696l-61.056 105.728a42.624 42.624 0 0 0-1.024 1.792L167.509333 553.856A382.421333 382.421333 0 0 1 128 384c0-44.885333 7.68-87.978667 21.845333-128z m70.229334 377.472L314.88 469.333333 376.32 575.573333a42.666667 42.666667 0 0 0 0.426667 0.725334L486.826667 767.146667a383.146667 383.146667 0 0 1-266.794667-133.717334z m362.112 128.128L487.338667 597.333333H831.317333a384.213333 384.213333 0 0 1-249.130666 164.266667z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-left" unicode="&#59432;" d="M853.333333 426.666667H170.666667a42.666667 42.666667 0 0 1 0-85.333334h682.666666a42.666667 42.666667 0 0 1 0 85.333334zM456.832 609.834667a42.666667 42.666667 0 1 1-60.330667 60.330666l-256-256a42.666667 42.666667 0 0 1 0-60.330666l256-256a42.666667 42.666667 0 1 1 60.330667 60.330666L230.997333 384l225.834667 225.834667z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-right" unicode="&#59433;" d="M170.666667 341.333333h682.666666a42.666667 42.666667 0 0 1 0 85.333334H170.666667a42.666667 42.666667 0 0 1 0-85.333334zM567.168 158.165333a42.666667 42.666667 0 0 1 60.330667-60.330666l256 256a42.666667 42.666667 0 0 1 0 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330667-60.330666L793.002667 384l-225.834667-225.834667z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-down" unicode="&#59434;" d="M469.333333 725.333333v-682.666666a42.666667 42.666667 0 0 1 85.333334 0V725.333333a42.666667 42.666667 0 0 1-85.333334 0zM286.165333 328.832a42.666667 42.666667 0 1 1-60.330666-60.330667l256-256a42.666667 42.666667 0 0 1 60.330666 0l256 256a42.666667 42.666667 0 0 1-60.330666 60.330667L512 102.997333l-225.834667 225.834667z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-up-left" unicode="&#59435;" d="M798.165333 158.165333l-512 512a42.666667 42.666667 0 0 1-60.330666-60.330666l512-512a42.666667 42.666667 0 0 1 60.330666 60.330666zM640 597.333333a42.666667 42.666667 0 0 1 0 85.333334H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-384a42.666667 42.666667 0 0 1 85.333334 0V597.333333h341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-up-right" unicode="&#59436;" d="M286.165333 97.83466699999997l512 512a42.666667 42.666667 0 1 1-60.330666 60.330666l-512-512a42.666667 42.666667 0 0 1 60.330666-60.330666zM725.333333 256a42.666667 42.666667 0 0 1 85.333334 0V640a42.666667 42.666667 0 0 1-42.666667 42.666667H384a42.666667 42.666667 0 1 1 0-85.333334h341.333333v-341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-up" unicode="&#59437;" d="M554.666667 42.666667V725.333333a42.666667 42.666667 0 0 1-85.333334 0v-682.666666a42.666667 42.666667 0 0 1 85.333334 0zM737.834667 439.168a42.666667 42.666667 0 0 1 60.330666 60.330667l-256 256a42.666667 42.666667 0 0 1-60.330666 0l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330667L512 665.002667l225.834667-225.834667z" horiz-adv-x="1024" />
<glyph glyph-name="award" unicode="&#59438;" d="M304.646221 283.538374a341.323094 341.323094 0 1 0 414.792889 0l48.211887-363.210437a42.665387 42.665387 0 0 0-64.254072-42.238733L512-7.0129100000000335l-191.396925-114.812555a42.665387 42.665387 0 0 0-64.211407 42.196067l48.211887 363.210437z m79.9976-45.651964l-31.99904-241.059435 137.382545 82.429527a42.665387 42.665387 0 0 0 43.945348 0l137.382545-82.429527-31.956374 241.059435A340.384455 340.384455 0 0 0 512 213.35381299999995a340.384455 340.384455 0 0 0-127.356179 24.532597zM512 298.68458599999997a255.99232 255.99232 0 1 1 0 511.984641 255.99232 255.99232 0 0 1 0-511.984641z" horiz-adv-x="1024" />
<glyph glyph-name="bar-chart" unicode="&#59439;" d="M810.666667 725.333333v-682.666666h85.333333V725.333333h-85.333333z m-42.666667 85.333334h170.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-768a42.666667 42.666667 0 0 0-42.666666-42.666667h-170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 0 42.666667 42.666667zM469.333333 512v-469.333333h85.333334V512h-85.333334z m-42.666666 85.333333h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666666v-554.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666667V554.666667a42.666667 42.666667 0 0 0 42.666667 42.666666zM128 42.666667h85.333333v256H128v-256z m-42.666667 341.333333h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-341.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667v341.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="at-sign" unicode="&#59440;" d="M725.333333 384v-42.666667a85.333333 85.333333 0 1 1 170.666667 0v42.666667a384 384 0 1 1-150.528-304.896 42.666667 42.666667 0 1 0 51.882667-67.754667A469.333333 469.333333 0 1 0 981.333333 384v-42.666667a170.666667 170.666667 0 0 0-309.76-98.901333A213.333333 213.333333 0 1 0 725.333333 384z m-213.333333-128a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
<glyph glyph-name="bar-chart-" unicode="&#59441;" d="M469.333333 725.333333v-682.666666h85.333334V725.333333h-85.333334z m-42.666666 85.333334h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-768a42.666667 42.666667 0 0 0-42.666667-42.666667h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 0 42.666667 42.666667zM810.666667 512v-469.333333h85.333333V512h-85.333333z m-42.666667 85.333333h170.666667a42.666667 42.666667 0 0 0 42.666666-42.666666v-554.666667a42.666667 42.666667 0 0 0-42.666666-42.666667h-170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V554.666667a42.666667 42.666667 0 0 0 42.666667 42.666666zM128 42.666667h85.333333v256H128v-256z m-42.666667 341.333333h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-341.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667v341.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="battery-charging" unicode="&#59442;" d="M213.333333 170.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666666V554.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h136.106667a42.666667 42.666667 0 1 1 0 85.333334H128a128 128 0 0 1-128-128v-341.333334a128 128 0 0 1 128-128h85.333333a42.666667 42.666667 0 0 1 0 85.333334zM640 597.333333h85.333333a42.666667 42.666667 0 0 0 42.666667-42.666666v-341.333334a42.666667 42.666667 0 0 0-42.666667-42.666666h-136.106666a42.666667 42.666667 0 0 1 0-85.333334H725.333333a128 128 0 0 1 128 128V554.666667a128 128 0 0 1-128 128h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM1024 341.333333v85.333334a42.666667 42.666667 0 0 1-85.333333 0v-85.333334a42.666667 42.666667 0 0 1 85.333333 0zM348.501333 151.68a42.666667 42.666667 0 0 1 70.997334-47.36l170.666666 256A42.666667 42.666667 0 0 1 554.666667 426.666667H378.410667l126.421333 189.653333a42.666667 42.666667 0 1 1-70.997333 47.36l-170.666667-256A42.666667 42.666667 0 0 1 298.666667 341.333333h176.256l-126.421334-189.653333z" horiz-adv-x="1024" />
<glyph glyph-name="bell-off" unicode="&#59443;" d="M386.503252 734.704171A255.868761 255.868761 0 0 0 768.131509 511.671902v-170.579174a42.644793 42.644793 0 0 1 85.289586 0V511.671902A341.158348 341.158348 0 0 1 344.626065 808.906112a42.644793 42.644793 0 1 1 41.877187-74.202041zM256.393987 298.447934V511.671902a255.911405 255.911405 0 0 0 28.529367 117.742274A42.644793 42.644793 0 1 1 209.058267 668.604741 341.158348 341.158348 0 0 1 171.1044 511.629257V298.447934a85.289587 85.289587 0 0 0-85.289586-85.289586c-56.84551 0-56.84551-85.289587 0-85.289587h639.671901a42.644793 42.644793 0 0 1 0 85.289587H233.579023c14.49923 25.075139 22.814964 54.201532 22.814964 85.289586z m292.756507-277.105867a42.644793 42.644793 0 0 0-73.775492 0 42.644793 42.644793 0 0 1-73.775493-42.815373 127.93438 127.93438 0 0 1 221.326478 0 42.644793 42.644793 0 0 1-73.775493 42.815373zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
<glyph glyph-name="battery" unicode="&#59444;" d="M85.334187 554.282667v-340.565334c0-23.765333 19.114667-43.050667 42.453333-43.050666h597.76c23.381333 0 42.453333 19.2 42.453333 43.050666V554.24C768.000853 578.048 748.886187 597.333333 725.54752 597.333333H127.78752C104.406187 597.333333 85.334187 578.133333 85.334187 554.282667z m-85.333334 0A128.042667 128.042667 0 0 0 127.78752 682.666667h597.76A128.170667 128.170667 0 0 0 853.334187 554.282667v-340.565334A128.042667 128.042667 0 0 0 725.54752 85.333333H127.78752A128.170667 128.170667 0 0 0 0.000853 213.717333V554.24zM1024.000853 341.333333v85.333334a42.666667 42.666667 0 0 1-85.333333 0v-85.333334a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="bluetooth" unicode="&#59445;" d="M554.660072 17.7251l131.648983 131.648983L554.660072 281.023065v-263.297965zM686.309055 618.634876L554.660072 750.283859v-263.297966L686.309055 618.634876z m-439.100123-30.160671a42.660072 42.660072 0 0 0 60.321342 60.321342l469.260794-469.260793a42.660072 42.660072 0 0 0 0-60.321342l-234.630397-234.630397c-26.875845-26.875845-72.820743-7.849453-72.820743 30.160671V853.265273c0 37.967464 45.944898 57.036516 72.820743 30.160671l234.630397-234.630397a42.660072 42.660072 0 0 0 0-60.321342l-469.260794-469.260793a42.660072 42.660072 0 1 0-60.321342 60.321342L554.660072 486.985893v-205.962828L247.208932 588.474205z" horiz-adv-x="1024" />
<glyph glyph-name="bell" unicode="&#59446;" d="M768 298.66666699999996V512A256 256 0 0 1 256 512v-213.333333c0-31.104-8.32-60.245333-22.826667-85.333334h557.653334A169.898667 169.898667 0 0 0 768 298.66666699999996z m170.666667-170.666667H85.333333c-56.874667 0-56.874667 85.333333 0 85.333333a85.333333 85.333333 0 0 1 85.333334 85.333334V512a341.333333 341.333333 0 0 0 682.666666 0v-213.333333a85.333333 85.333333 0 0 1 85.333334-85.333334c56.874667 0 56.874667-85.333333 0-85.333333zM548.906667 21.418667000000028a42.666667 42.666667 0 0 0-73.813334 0 42.666667 42.666667 0 0 1-73.813333-42.837334 128 128 0 0 1 221.44 0 42.666667 42.666667 0 0 1-73.813333 42.837334z" horiz-adv-x="1024" />
<glyph glyph-name="book" unicode="&#59447;" d="M853.333333 853.333333a42.666667 42.666667 0 0 0 42.666667-42.666666v-853.333334a42.666667 42.666667 0 0 0-42.666667-42.666666H277.333333A149.333333 149.333333 0 0 0 128 64v640A149.333333 149.333333 0 0 0 277.333333 853.333333H853.333333z m-42.666666-640V768H277.333333A64 64 0 0 1 213.333333 704v-505.045333A148.736 148.736 0 0 0 277.333333 213.33333300000004H810.666667z m0-85.333333H277.333333a64 64 0 0 1 0-128H810.666667v128z" horiz-adv-x="1024" />
<glyph glyph-name="briefcase" unicode="&#59448;" d="M298.666667 640V682.666667a128 128 0 0 0 128 128h170.666666a128 128 0 0 0 128-128v-42.666667h128.426667A127.914667 127.914667 0 0 0 981.333333 511.744v-426.154667A128.128 128.128 0 0 0 853.76-42.66666699999996H170.24A127.914667 127.914667 0 0 0 42.666667 85.58933300000001V511.744A128.128 128.128 0 0 0 170.24 640H298.666667z m0-85.333333H170.24C147.2 554.666667 128 535.381333 128 511.744v-426.154667A42.581333 42.581333 0 0 1 170.24 42.66666699999996H298.666667V554.666667z m85.333333 0v-512h256V554.666667H384z m341.333333 0v-512h128.426667c23.04 0 42.24 19.285333 42.24 42.922666V511.744A42.581333 42.581333 0 0 1 853.76 554.666667H725.333333zM384 640h256V682.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-170.666666a42.666667 42.666667 0 0 1-42.666667-42.666666v-42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="camera-off" unicode="&#59449;" d="M682.884567 273.415441l328.620778-328.620779a42.644793 42.644793 0 0 0-60.299738-60.299738L878.410944-42.71041300000002H128.459607a127.93438 127.93438 0 0 0-127.93438 127.93438V554.316695a127.93438 127.93438 0 0 0 127.93438 127.93438h24.989849L13.020151 822.68038A42.644793 42.644793 0 1 0 73.319889 882.980118l371.265572-371.265572 1.151409-1.108764 236.038932-236.038932 1.108765-1.151409z m-28.870526-91.686306a213.223967 213.223967 0 0 0-301.157531 301.072241L238.739043 596.961489H128.459607a42.644793 42.644793 0 0 1-42.644793-42.644794v-469.092728a42.644793 42.644793 0 0 1 42.644793-42.644793h664.661751l-139.107317 139.107316z m-60.470317 60.427672L413.326827 422.373704a127.93438 127.93438 0 0 1 180.216897-180.216897z m96.462523 373.781615A42.644793 42.644793 0 0 1 725.486715 596.961489h170.579174a42.644793 42.644793 0 0 0 42.644793-42.644794v-398.302371a42.644793 42.644793 0 0 1 85.289587 0V554.316695a127.93438 127.93438 0 0 1-127.93438 127.93438h-147.764209l-72.624084 108.957448A42.644793 42.644793 0 0 1 640.197128 810.185456H384.328368a42.644793 42.644793 0 1 1 0-85.289587h233.053796l72.624083-108.957447z" horiz-adv-x="1024" />
<glyph glyph-name="calendar" unicode="&#59450;" d="M384 768h256V810.666667a42.666667 42.666667 0 0 0 85.333333 0v-42.666667h85.546667A127.786667 127.786667 0 0 0 938.666667 640.213333v-597.76A127.786667 127.786667 0 0 0 810.88-85.33333300000004H213.12A127.786667 127.786667 0 0 0 85.333333 42.45333300000004V640.213333A127.786667 127.786667 0 0 0 213.12 768H298.666667V810.666667a42.666667 42.666667 0 1 0 85.333333 0v-42.666667z m469.333333-341.333333H170.666667v-384.213334c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V426.666667zM384 682.666667v-42.666667a42.666667 42.666667 0 1 0-85.333333 0V682.666667H213.12A42.453333 42.453333 0 0 1 170.666667 640.213333V512h682.666666V640.213333A42.453333 42.453333 0 0 1 810.88 682.666667H725.333333v-42.666667a42.666667 42.666667 0 0 0-85.333333 0V682.666667H384z" horiz-adv-x="1024" />
<glyph glyph-name="bookmark" unicode="&#59451;" d="M768 82.901333V682.666667a42.666667 42.666667 0 0 1-42.666667 42.666666H298.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-599.765334l231.210667 165.12a42.666667 42.666667 0 0 0 49.578666 0L768 82.944zM238.122667-34.730667A42.666667 42.666667 0 0 0 170.666667 0V682.666667a128 128 0 0 0 128 128h426.666666a128 128 0 0 0 128-128v-682.666667a42.666667 42.666667 0 0 0-67.456-34.730667L512 160.896l-273.877333-195.626667z" horiz-adv-x="1024" />
<glyph glyph-name="box" unicode="&#59452;" d="M568.96 872.362667l341.333333-170.666667A128 128 0 0 0 981.333333 587.093333v-406.613333a128 128 0 0 0-70.954666-114.517333l-341.333334-170.666667a128 128 0 0 0-114.517333 0L113.066667 66.00533299999995A127.872 127.872 0 0 0 42.666667 180.90666699999997V587.093333a128 128 0 0 0 70.954666 114.517334L455.04 872.362667a128 128 0 0 0 113.92 0zM512 474.368l331.050667 165.546667-312.106667 156.032a42.624 42.624 0 0 1-37.845333 0L180.949333 639.9573330000001 512 474.368z m384 96.597333l-341.333333-170.666666v-416.810667l317.653333 158.848A42.666667 42.666667 0 0 1 896 180.48000000000002V570.965333zM469.333333-16.725332999999978v417.024l-341.333333 170.666666v-390.357333c-0.128-16.213333 8.96-31.104 23.338667-38.357333L469.333333-16.725332999999978z" horiz-adv-x="1024" />
<glyph glyph-name="camera" unicode="&#59453;" d="M334.165333 616.32A42.666667 42.666667 0 0 0 298.666667 597.333333H128a42.666667 42.666667 0 0 1-42.666667-42.666666v-469.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h768a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-170.666667a42.666667 42.666667 0 0 0-35.498666 18.986667L617.173333 725.333333h-210.346666L334.165333 616.32zM896 682.666667a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H128a128 128 0 0 0-128 128V554.666667a128 128 0 0 0 128 128h147.84l72.661333 109.013333A42.666667 42.666667 0 0 0 384 810.666667h256a42.666667 42.666667 0 0 0 35.498667-18.986667L748.16 682.666667H896zM512 128a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
<glyph glyph-name="check-circle" unicode="&#59454;" d="M896 423.68V384a384 384 0 1 0-227.712 351.018667 42.666667 42.666667 0 1 1 34.730667 77.909333A469.333333 469.333333 0 1 1 981.333333 384v39.722667a42.666667 42.666667 0 0 1-85.333333 0zM414.165333 456.832a42.666667 42.666667 0 0 1-60.330666-60.330667l128-128a42.666667 42.666667 0 0 1 60.330666 0l469.333334 469.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L512 358.997333l-97.834667 97.834667z" horiz-adv-x="1024" />
<glyph glyph-name="check" unicode="&#59455;" d="M200.832 371.498667a42.666667 42.666667 0 1 1-60.330667-60.330667l213.333334-213.333333a42.666667 42.666667 0 0 1 60.330666 0l469.333334 469.333333a42.666667 42.666667 0 1 1-60.330667 60.330667L384 188.330667l-183.168 183.168z" horiz-adv-x="1024" />
<glyph glyph-name="check-square" unicode="&#59456;" d="M371.498667 456.832a42.666667 42.666667 0 0 1-60.330667-60.330667l128-128a42.666667 42.666667 0 0 1 60.330667 0l469.333333 469.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L469.333333 358.997333l-97.834666 97.834667zM810.666667 384v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666V682.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h469.333333a42.666667 42.666667 0 0 1 0 85.333334H170.666667a128 128 0 0 1-128-128v-597.333334a128 128 0 0 1 128-128h597.333333a128 128 0 0 1 128 128v298.666667a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="cast" unicode="&#59457;" d="M76.8 167.253333a170.666667 170.666667 0 0 0 133.12-133.12 42.666667 42.666667 0 0 1 83.626667 17.066667 256 256 0 0 1-199.68 199.68 42.666667 42.666667 0 0 1-17.066667-83.626667z m3.84 172.202667a341.333333 341.333333 0 0 0 301.482667-301.525333 42.666667 42.666667 0 1 1 84.821333 9.472 426.666667 426.666667 0 0 1-376.874667 376.874666 42.666667 42.666667 0 1 1-9.472-84.821333zM128 554.666667V640a42.666667 42.666667 0 0 0 42.666667 42.666667h682.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-512a42.666667 42.666667 0 0 0-42.666667-42.666667h-256a42.666667 42.666667 0 0 1 0-85.333333h256a128 128 0 0 1 128 128V640a128 128 0 0 1-128 128H170.666667a128 128 0 0 1-128-128v-85.333333a42.666667 42.666667 0 1 1 85.333333 0zM85.333333 42.666667m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
<glyph glyph-name="chevron-down" unicode="&#59458;" d="M286.165333 542.165333a42.666667 42.666667 0 0 1-60.330666-60.330666l256-256a42.666667 42.666667 0 0 1 60.330666 0l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666L512 316.330667 286.165333 542.165333z" horiz-adv-x="1024" />
<glyph glyph-name="chevron-left" unicode="&#59459;" d="M670.165333 609.834667a42.666667 42.666667 0 1 1-60.330666 60.330666l-256-256a42.666667 42.666667 0 0 1 0-60.330666l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666L444.330667 384l225.834666 225.834667z" horiz-adv-x="1024" />
<glyph glyph-name="chevron-right" unicode="&#59460;" d="M353.834667 158.165333a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 0 1 0 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666L579.669333 384l-225.834666-225.834667z" horiz-adv-x="1024" />
<glyph glyph-name="chevron-up" unicode="&#59461;" d="M737.834667 225.834667a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666 0l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666L512 451.669333l225.834667-225.834666z" horiz-adv-x="1024" />
<glyph glyph-name="chevrons-down" unicode="&#59462;" d="M328.832 371.498667a42.666667 42.666667 0 1 1-60.330667-60.330667l213.333334-213.333333a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333333a42.666667 42.666667 0 0 1-60.330667 60.330667L512 188.330667l-183.168 183.168zM328.832 670.165333a42.666667 42.666667 0 0 1-60.330667-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L512 486.997333 328.832 670.165333z" horiz-adv-x="1024" />
<glyph glyph-name="chevrons-right" unicode="&#59463;" d="M524.501333 200.832a42.666667 42.666667 0 0 1 60.330667-60.330667l213.333333 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333333 213.333334a42.666667 42.666667 0 0 1-60.330667-60.330667L707.669333 384l-183.168-183.168zM225.834667 200.832a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666-60.330667L409.002667 384l-183.168-183.168z" horiz-adv-x="1024" />
<glyph glyph-name="chevrons-up" unicode="&#59464;" d="M695.168 396.501333a42.666667 42.666667 0 0 1 60.330667 60.330667l-213.333334 213.333333a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333333a42.666667 42.666667 0 0 1 60.330667-60.330667L512 579.669333l183.168-183.168zM512 281.002667l183.168-183.168a42.666667 42.666667 0 0 1 60.330667 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333334a42.666667 42.666667 0 0 1 60.330667-60.330666L512 281.002667z" horiz-adv-x="1024" />
<glyph glyph-name="chevrons-left" unicode="&#59465;" d="M499.498667 567.168a42.666667 42.666667 0 1 1-60.330667 60.330667l-213.333333-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333333-213.333334a42.666667 42.666667 0 0 1 60.330667 60.330667L316.330667 384l183.168 183.168zM798.165333 567.168a42.666667 42.666667 0 1 1-60.330666 60.330667l-213.333334-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 60.330667L614.997333 384l183.168 183.168z" horiz-adv-x="1024" />
<glyph glyph-name="circle" unicode="&#59466;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
<glyph glyph-name="clipboard" unicode="&#59467;" d="M298.666667 768c0.213333 46.976 38.4 85.333333 85.205333 85.333333h256.256c47.104 0 84.992-37.973333 85.205333-85.333333h42.666667a128 128 0 0 0 128-128v-597.333333a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V640a128 128 0 0 0 128 128h42.666667z m0-85.333333H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-597.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V640a42.666667 42.666667 0 0 1-42.666667 42.666667h-42.666667c-0.213333-46.976-38.4-85.333333-85.205333-85.333334H383.872A85.248 85.248 0 0 0 298.666667 682.666667z m85.205333 85.333333c0.341333 0 0.128-0.213333 0.128-0.426667v-84.48C384 682.752 384 682.666667 383.914667 682.666667h256.213333C639.786667 682.666667 640 682.88 640 683.093333V767.573333c0 0.298667 0 0.426667 0.085333 0.426667H383.872z" horiz-adv-x="1024" />
<glyph glyph-name="chrome" unicode="&#59468;" d="M462.378667-82.77333299999998a42.410667 42.410667 0 0 0-5.802667 0.682666C223.488-54.65599999999995 42.666667 143.530667 42.666667 384c0 102.954667 33.152 198.186667 89.386666 275.584a42.410667 42.410667 0 0 0 4.650667 6.272A468.608 468.608 0 0 0 512 853.333333a469.418667 469.418667 0 0 0 431.36-284.16c24.448-56.832 37.973333-119.424 37.973333-185.173333 0-259.2-210.133333-469.333333-469.333333-469.333333-16.768 0-33.28 0.853333-49.621333 2.56z m-20.608 89.173333l95.616 165.76a213.333333 213.333333 0 0 0-214.528 113.066667l-155.306667 268.672A382.421333 382.421333 0 0 1 128 384c0-188.074667 135.253333-344.618667 313.770667-377.6z m95.317333-5.589333A384 384 0 0 1 874.154667 512H682.666667c26.794667-35.669333 42.666667-79.957333 42.666666-128 0-41.941333-12.117333-81.066667-33.024-114.090667l-155.221333-269.098666z m82.389333 313.642666l3.2 5.546667c0.554667 0.981333 1.152 1.962667 1.792 2.858667a128 128 0 1 1-226.56 2.986666l3.413334-5.845333c0.554667-0.938667 1.066667-1.92 1.536-2.901333a127.914667 127.914667 0 0 1 216.618666-2.645334zM220.16 633.5146669999999l95.701333-165.589334A213.376 213.376 0 0 0 512 597.333333h319.317333A383.616 383.616 0 0 1 512 768a383.146667 383.146667 0 0 1-291.925333-134.485333z" horiz-adv-x="1024" />
<glyph glyph-name="clock" unicode="&#59469;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM554.666667 640a42.666667 42.666667 0 0 1-85.333334 0v-256a42.666667 42.666667 0 0 1 12.501334-30.165333l128-128a42.666667 42.666667 0 0 1 60.330666 60.330666L554.666667 401.664V640z" horiz-adv-x="1024" />
<glyph glyph-name="cloud-lightning" unicode="&#59470;" d="M384.070136 896a383.99632 383.99632 0 0 1-185.939552-719.9931 42.666258 42.666258 0 0 1 41.300938 74.665951A298.663804 298.663804 0 1 0 673.262031 586.669631a42.666258 42.666258 0 0 1 41.300938-31.999693H768.322453a170.665031 170.665031 0 0 0 34.175673-337.916762 42.666258 42.666258 0 0 1 16.98117-83.625865A255.997547 255.997547 0 0 1 768.279787 640.002453h-22.186454a383.99632 383.99632 0 0 1-362.023197 255.997547zM434.160322-61.644156a42.666258 42.666258 0 0 1 70.996653-47.359546l170.665032 255.997547A42.666258 42.666258 0 0 1 640.32368 213.339875h-176.254311l126.420122 189.651516a42.666258 42.666258 0 1 1-70.996653 47.359546l-170.665031-255.997546A42.666258 42.666258 0 0 1 384.326133 128.00736h176.254311l-126.420122-189.651516z" horiz-adv-x="1024" />
<glyph glyph-name="cloud-drizzle" unicode="&#59471;" d="M298.831787 85.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM298.831787 341.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM640.16512 85.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM640.16512 341.333333v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM469.498453 0v-85.333333a42.666667 42.666667 0 0 1 85.333334 0v85.333333a42.666667 42.666667 0 0 1-85.333334 0zM469.498453 256v-85.333333a42.666667 42.666667 0 0 1 85.333334 0v85.333333a42.666667 42.666667 0 0 1-85.333334 0zM405.498453 895.36A384 384 0 0 1 144.207787 212.053333a42.666667 42.666667 0 0 1 53.248 66.645334A298.666667 298.666667 0 1 0 673.103787 586.666667a42.666667 42.666667 0 0 1 41.301333-32H768.16512a170.666667 170.666667 0 0 0 68.224-326.997334 42.666667 42.666667 0 0 1 34.218667-78.165333A256 256 0 0 1 768.207787 640h-22.229334A384 384 0 0 1 405.498453 895.36z" horiz-adv-x="1024" />
<glyph glyph-name="cloud-rain" unicode="&#59472;" d="M640.16512 341.333333v-341.333333a42.666667 42.666667 0 0 1 85.333333 0v341.333333a42.666667 42.666667 0 0 1-85.333333 0zM298.831787 341.333333v-341.333333a42.666667 42.666667 0 0 1 85.333333 0v341.333333a42.666667 42.666667 0 0 1-85.333333 0zM469.498453 256v-341.333333a42.666667 42.666667 0 0 1 85.333334 0v341.333333a42.666667 42.666667 0 0 1-85.333334 0zM405.498453 895.36A384 384 0 0 1 144.207787 212.053333a42.666667 42.666667 0 0 1 53.248 66.645334A298.666667 298.666667 0 1 0 673.103787 586.666667a42.666667 42.666667 0 0 1 41.301333-32H768.16512a170.666667 170.666667 0 0 0 68.224-326.997334 42.666667 42.666667 0 0 1 34.218667-78.165333A256 256 0 0 1 768.207787 640h-22.229334A384 384 0 0 1 405.498453 895.36z" horiz-adv-x="1024" />
<glyph glyph-name="cloud-off" unicode="&#59473;" d="M420.661732 767.370083a42.474214 42.474214 0 0 1-45.971088-38.721472 42.559504 42.559504 0 0 1 38.508249-46.226956 297.3195 297.3195 0 0 0 261.583163-223.885166 42.431569 42.431569 0 0 1 41.109581-32.154174h53.433926a169.38512 169.38512 0 0 0 141.580714-76.248891 171.389425 171.389425 0 0 0 14.840388-160.813516 42.730083 42.730083 0 0 1 22.516451-55.864679 42.303635 42.303635 0 0 1 55.608811 22.60174 257.062815 257.062815 0 0 1-22.260582 241.198952A254.077679 254.077679 0 0 1 769.240273 511.671902h-21.876779a382.054704 382.054704 0 0 1-326.701762 255.698181zM197.544172 719.607914c-153.308032-85.289587-229.215765-264.568299-184.097573-434.763669 45.160836-170.238015 199.748212-287.681777 374.890379-284.86722h380.988585c29.552842 0 58.849815 5.24531 86.568931 15.352126 22.004713 8.059866 33.348228 32.495333 25.373652 54.62798a42.34628 42.34628 0 0 1-54.329467 25.544231c-18.50784-6.737877-37.996511-10.23475-57.655761-10.23475H387.654662a297.276855 297.276855 0 0 0-292.24477 221.539702 299.153226 299.153226 0 0 0 143.158572 338.130567c20.469501 11.38616 27.93234 37.356839 16.631469 57.954274a42.26099 42.26099 0 0 1-57.655761 16.674115zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
<glyph glyph-name="codepen" unicode="&#59474;" d="M535.253333 846.421333l426.666667-277.333333A42.666667 42.666667 0 0 0 981.333333 533.333333v-298.666666a42.666667 42.666667 0 0 0-19.413333-35.754667l-426.666667-277.333333a42.666667 42.666667 0 0 0-46.506666 0l-426.666667 277.333333A42.666667 42.666667 0 0 0 42.666667 234.66666699999996v298.666666a42.666667 42.666667 0 0 0 19.413333 35.754667l426.666667 277.333333a42.666667 42.666667 0 0 0 46.506666 0zM469.333333 732.074667L161.621333 531.9680000000001 298.666667 436.096l170.666666 119.466667V732.032z m85.333334 0V555.52l170.666666-119.466667 137.045334 95.914667L554.666667 732.032zM512 286.72L650.922667 384 512 481.28 373.077333 384 512 286.72z m384 29.866667v134.741333L799.744 384 896 316.58666700000003z m-33.621333-80.64L725.333333 331.904l-170.666666-119.466667v-176.469333l307.712 200.021333z m-700.757334 0L469.333333 35.96799999999996v176.469333l-170.666666 119.466667-137.045334-95.914667zM128 316.58666700000003L224.256 384 128 451.413333v-134.826666z" horiz-adv-x="1024" />
<glyph glyph-name="cloud-snow" unicode="&#59475;" d="M405.632 852.693333A384 384 0 0 1 144.298667 169.386667a42.666667 42.666667 0 0 1 53.290666 66.645333A298.666667 298.666667 0 1 0 673.194667 544a42.666667 42.666667 0 0 1 41.301333-32h53.76a170.666667 170.666667 0 0 0 68.266667-326.997333 42.666667 42.666667 0 0 1 34.218666-78.165334A256 256 0 0 1 768.341333 597.333333h-22.272a384 384 0 0 1-340.48 255.36zM682.666667 256m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM512 170.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM341.333333 256m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM341.333333 42.666667m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM512-42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM682.666667 42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM682.666667 42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
<glyph glyph-name="compass" unicode="&#59476;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM455.253333 440.746667L398.592 270.506667l170.154667 56.746666 56.746666 170.154667-170.154666-56.746667z m278.144 110.677333l-90.453333-271.36a42.666667 42.666667 0 0 0-27.008-27.008l-271.36-90.453333a42.666667 42.666667 0 0 0-53.973333 53.973333l90.453333 271.36a42.666667 42.666667 0 0 0 27.008 27.008l271.36 90.453333a42.666667 42.666667 0 0 0 53.973333-53.973333z" horiz-adv-x="1024" />
<glyph glyph-name="copy" unicode="&#59477;" d="M426.666667 426.538667v-383.744A42.666667 42.666667 0 0 1 469.461333 0h383.744A42.666667 42.666667 0 0 1 896 42.794667v383.744A42.666667 42.666667 0 0 1 853.205333 469.333333h-383.744A42.666667 42.666667 0 0 1 426.666667 426.538667z m-85.333334 0A128 128 0 0 0 469.461333 554.666667h383.744A128 128 0 0 0 981.333333 426.538667v-383.744A128 128 0 0 0 853.205333-85.333333h-383.744A128 128 0 0 0 341.333333 42.794667v383.744zM213.333333 298.666667H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h384a42.666667 42.666667 0 0 0 42.666666-42.666667v-42.666666a42.666667 42.666667 0 0 1 85.333334 0V725.333333a128 128 0 0 1-128 128H170.666667a128 128 0 0 1-128-128v-384a128 128 0 0 1 128-128h42.666666a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="corner-down-right" unicode="&#59478;" d="M609.834667 72.832a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666-60.330667L793.002667 256l-183.168-183.168zM128 725.333333v-298.666666a213.333333 213.333333 0 0 1 213.333333-213.333334h512a42.666667 42.666667 0 0 1 0 85.333334H341.333333a128 128 0 0 0-128 128V725.333333a42.666667 42.666667 0 1 1-85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="corner-down-left" unicode="&#59479;" d="M414.165333 439.168a42.666667 42.666667 0 1 1-60.330666 60.330667l-213.333334-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333334-213.333334a42.666667 42.666667 0 1 1 60.330666 60.330667L230.997333 256l183.168 183.168zM810.666667 725.333333v-298.666666a128 128 0 0 0-128-128H170.666667a42.666667 42.666667 0 0 1 0-85.333334h512a213.333333 213.333333 0 0 1 213.333333 213.333334V725.333333a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="corner-left-down" unicode="&#59480;" d="M200.832 286.165333a42.666667 42.666667 0 1 1-60.330667-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333334a42.666667 42.666667 0 0 1-60.330667 60.330666L384 102.997333l-183.168 183.168zM853.333333 768h-298.666666a213.333333 213.333333 0 0 1-213.333334-213.333333v-512a42.666667 42.666667 0 0 1 85.333334 0V554.666667a128 128 0 0 0 128 128h298.666666a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="corner-left-up" unicode="&#59481;" d="M567.168 481.834667a42.666667 42.666667 0 1 1 60.330667 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333334a42.666667 42.666667 0 0 1 60.330667-60.330666L384 665.002667l183.168-183.168zM853.333333 85.333333h-298.666666a128 128 0 0 0-128 128V725.333333a42.666667 42.666667 0 1 1-85.333334 0v-512a213.333333 213.333333 0 0 1 213.333334-213.333333h298.666666a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="corner-up-left" unicode="&#59482;" d="M414.165333 695.168a42.666667 42.666667 0 1 1-60.330666 60.330667l-213.333334-213.333334a42.666667 42.666667 0 0 1 0-60.330666l213.333334-213.333334a42.666667 42.666667 0 1 1 60.330666 60.330667L230.997333 512l183.168 183.168zM896 42.666667v298.666666a213.333333 213.333333 0 0 1-213.333333 213.333334H170.666667a42.666667 42.666667 0 1 1 0-85.333334h512a128 128 0 0 0 128-128v-298.666666a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="corner-up-right" unicode="&#59483;" d="M609.834667 328.832a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333334a42.666667 42.666667 0 0 1 0 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666-60.330667L793.002667 512l-183.168-183.168zM213.333333 42.666667v298.666666a128 128 0 0 0 128 128h512a42.666667 42.666667 0 0 1 0 85.333334H341.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-298.666666a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="corner-right-down" unicode="&#59484;" d="M456.832 286.16533300000003a42.666667 42.666667 0 1 1-60.330667-60.330666l213.333334-213.333334a42.666667 42.666667 0 0 1 60.330666 0l213.333334 213.333334a42.666667 42.666667 0 0 1-60.330667 60.330666L640 102.99733300000003l-183.168 183.168zM170.666667 682.666667h298.666666a128 128 0 0 0 128-128v-512a42.666667 42.666667 0 0 1 85.333334 0V554.666667a213.333333 213.333333 0 0 1-213.333334 213.333333H170.666667a42.666667 42.666667 0 1 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="corner-right-up" unicode="&#59485;" d="M823.168 481.834667a42.666667 42.666667 0 1 1 60.330667 60.330666l-213.333334 213.333334a42.666667 42.666667 0 0 1-60.330666 0l-213.333334-213.333334a42.666667 42.666667 0 1 1 60.330667-60.330666L640 665.002667l183.168-183.168zM170.666667 0h298.666666a213.333333 213.333333 0 0 1 213.333334 213.333333V725.333333a42.666667 42.666667 0 0 1-85.333334 0v-512a128 128 0 0 0-128-128H170.666667a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="cpu" unicode="&#59486;" d="M213.333333 640.256v-512.512c0-23.381333 19.029333-42.410667 42.410667-42.410667h512.512a42.453333 42.453333 0 0 1 42.410667 42.410667V640.256A42.453333 42.453333 0 0 1 768.256 682.666667H255.744A42.453333 42.453333 0 0 1 213.333333 640.256z m-85.333333 0A127.786667 127.786667 0 0 0 255.744 768h512.512A127.786667 127.786667 0 0 0 896 640.256v-512.512A127.786667 127.786667 0 0 0 768.256 0H255.744A127.786667 127.786667 0 0 0 128 127.74400000000003V640.256zM426.666667 298.66666699999996h170.666666v170.666666h-170.666666v-170.666666zM384 554.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667v-256a42.666667 42.666667 0 0 0-42.666667-42.666667H384a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667zM341.333333 853.333333a42.666667 42.666667 0 1 0 85.333334 0v-128a42.666667 42.666667 0 1 0-85.333334 0V853.333333z m256 0a42.666667 42.666667 0 0 0 85.333334 0v-128a42.666667 42.666667 0 0 0-85.333334 0V853.333333zM341.333333 42.66666699999996a42.666667 42.666667 0 0 0 85.333334 0v-128a42.666667 42.666667 0 0 0-85.333334 0v128z m256 0a42.666667 42.666667 0 0 0 85.333334 0v-128a42.666667 42.666667 0 0 0-85.333334 0v128z m256 426.666666a42.666667 42.666667 0 0 0 0 85.333334h128a42.666667 42.666667 0 0 0 0-85.333334h-128z m0-213.333333a42.666667 42.666667 0 0 0 0 85.333333h128a42.666667 42.666667 0 0 0 0-85.333333h-128zM42.666667 469.333333a42.666667 42.666667 0 1 0 0 85.333334h128a42.666667 42.666667 0 1 0 0-85.333334H42.666667z m0-213.333333a42.666667 42.666667 0 0 0 0 85.333333h128a42.666667 42.666667 0 0 0 0-85.333333H42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="credit-card" unicode="&#59487;" d="M0 640.256A127.616 127.616 0 0 0 127.616 768H896.426667A127.744 127.744 0 0 0 1024 640.256v-512.512A127.616 127.616 0 0 0 896.384 0H127.573333A127.744 127.744 0 0 0 0 127.74400000000003V640.256zM938.666667 512V640.256A42.410667 42.410667 0 0 1 896.384 682.666667H127.573333A42.282667 42.282667 0 0 1 85.333333 640.256V512h853.333334z m0-85.333333H85.333333v-298.922667c0-23.381333 18.986667-42.410667 42.282667-42.410667H896.426667a42.282667 42.282667 0 0 1 42.282666 42.410667V426.666667z" horiz-adv-x="1024" />
<glyph glyph-name="crosshair" unicode="&#59488;" d="M469.333333 2.346667000000025V128a42.666667 42.666667 0 0 0 85.333334 0v-125.653333A384.170667 384.170667 0 0 1 893.653333 341.33333300000004H768a42.666667 42.666667 0 0 0 0 85.333334h125.653333A384.170667 384.170667 0 0 1 554.666667 765.653333V640a42.666667 42.666667 0 0 0-85.333334 0V765.653333A384.170667 384.170667 0 0 1 130.346667 426.666667H256a42.666667 42.666667 0 0 0 0-85.333334H130.346667A384.170667 384.170667 0 0 1 469.333333 2.346667000000025zM512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z" horiz-adv-x="1024" />
<glyph glyph-name="disc" unicode="&#59489;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM512 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="delete" unicode="&#59490;" d="M896 768a128 128 0 0 0 128-128v-512a128 128 0 0 0-128-128H341.333333a42.666667 42.666667 0 0 0-32.128 14.549333l-298.666666 341.333334a42.666667 42.666667 0 0 0 0 56.234666l298.666666 341.333334A42.666667 42.666667 0 0 0 341.333333 768h554.666667z m0-682.666667a42.666667 42.666667 0 0 1 42.666667 42.666667V640a42.666667 42.666667 0 0 1-42.666667 42.666667H360.704l-261.333333-298.666667 261.333333-298.666667H896zM737.834667 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666zM481.834667 481.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="download-cloud" unicode="&#59491;" d="M512.468907 17.663999999999987l-140.501334 140.501333a42.666667 42.666667 0 1 1-60.330666-60.330666l170.666666-170.666667a42.666667 42.666667 0 0 1 60.330667 0l170.666667 170.666667a42.666667 42.666667 0 0 1-60.330667 60.330666L512.468907 17.663999999999987zM469.80224 341.33333300000004v-384a42.666667 42.666667 0 0 1 85.333333 0v384a42.666667 42.666667 0 0 1-85.333333 0zM427.988907 765.9946669999999a384 384 0 0 1-331.477334-635.989334 42.666667 42.666667 0 0 1 63.914667 56.576A298.666667 298.666667 0 1 0 673.32224 458.666667a42.666667 42.666667 0 0 1 41.344-32.042667H768.468907a170.666667 170.666667 0 0 0 98.346666-310.272 42.666667 42.666667 0 0 1 49.066667-69.802667A256 256 0 0 1 768.468907 512h-22.101334a384 384 0 0 1-318.293333 253.994667z" horiz-adv-x="1024" />
<glyph glyph-name="download" unicode="&#59492;" d="M85.333333 170.666667v-128a128 128 0 0 1 128-128h597.333334a128 128 0 0 1 128 128v128a42.666667 42.666667 0 0 1-85.333334 0v-128a42.666667 42.666667 0 0 0-42.666666-42.666667H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666667v128a42.666667 42.666667 0 0 1-85.333334 0zM512 273.664l-140.501333 140.501333a42.666667 42.666667 0 1 1-60.330667-60.330666l170.666667-170.666667a42.666667 42.666667 0 0 1 60.330666 0l170.666667 170.666667a42.666667 42.666667 0 0 1-60.330667 60.330666L512 273.664zM469.333333 810.666667v-597.333334a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="droplet" unicode="&#59493;" d="M301.098667 501.034667a290.986667 290.986667 0 0 1-64.853334-320.64c46.250667-109.952 155.136-181.674667 275.968-181.674667s229.717333 71.68 275.968 181.674667a290.986667 290.986667 0 0 1-64.853333 320.64L512 709.162667 301.098667 501.034667z m241.066666 297.301333l241.493334-237.866667a374.144 374.144 0 0 0 83.328-412.245333C807.594667 6.869333 667.562667-85.333333 512.213333-85.333333c-155.306667 0-295.381333 92.16-354.773333 233.557333a374.144 374.144 0 0 0 83.285333 412.202667l241.066667 237.909333a43.093333 43.093333 0 0 0 60.373333 0z" horiz-adv-x="1024" />
<glyph glyph-name="edit-" unicode="&#59494;" d="M170.666667 195.669333V42.666667h153.002666l512 512L682.666667 707.669333l-512-512zM712.832 798.165333l213.333333-213.333333a42.666667 42.666667 0 0 0 0-60.330667l-554.666666-554.666666A42.666667 42.666667 0 0 0 341.333333-42.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666667v213.333333a42.666667 42.666667 0 0 0 12.501334 30.165334l554.666666 554.666666a42.666667 42.666667 0 0 0 60.330667 0z" horiz-adv-x="1024" />
<glyph glyph-name="edit" unicode="&#59495;" d="M810.666667 270.506667V42.666667a42.666667 42.666667 0 0 0-42.666667-42.666667H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V640a42.666667 42.666667 0 0 0 42.666667 42.666667h227.84a42.666667 42.666667 0 1 1 0 85.333333H170.666667a128 128 0 0 1-128-128v-597.333333a128 128 0 0 1 128-128h597.333333a128 128 0 0 1 128 128v227.84a42.666667 42.666667 0 0 1-85.333333 0zM384 366.336V256h110.336l384 384L768 750.336l-384-384z m414.165333 474.496l170.666667-170.666667a42.666667 42.666667 0 0 0 0-60.330666l-426.666667-426.666667A42.666667 42.666667 0 0 0 512 170.666667H341.333333a42.666667 42.666667 0 0 0-42.666666 42.666666v170.666667a42.666667 42.666667 0 0 0 12.501333 30.165333l426.666667 426.666667a42.666667 42.666667 0 0 0 60.330666 0z" horiz-adv-x="1024" />
<glyph glyph-name="edit-1" unicode="&#59496;" d="M170.666667 323.669333V213.333333h110.336l426.666666 426.666667L597.333333 750.336l-426.666666-426.666667zM627.498667 840.832l170.666666-170.666667a42.666667 42.666667 0 0 0 0-60.330666l-469.333333-469.333334A42.666667 42.666667 0 0 0 298.666667 128H128a42.666667 42.666667 0 0 0-42.666667 42.666667v170.666666a42.666667 42.666667 0 0 0 12.501334 30.165334l469.333333 469.333333a42.666667 42.666667 0 0 0 60.330667 0zM128-85.333333h768a42.666667 42.666667 0 0 1 0 85.333333H128a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="external-link" unicode="&#59497;" d="M725.333333 341.333333v-256a42.666667 42.666667 0 0 0-42.666666-42.666666H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666666V554.666667a42.666667 42.666667 0 0 0 42.666666 42.666666h256a42.666667 42.666667 0 0 1 0 85.333334H213.333333a128 128 0 0 1-128-128v-469.333334a128 128 0 0 1 128-128h469.333334a128 128 0 0 1 128 128v256a42.666667 42.666667 0 0 1-85.333334 0zM853.333333 725.333333v-213.333333a42.666667 42.666667 0 0 1 85.333334 0V768a42.666667 42.666667 0 0 1-42.666667 42.666667h-256a42.666667 42.666667 0 0 1 0-85.333334h213.333333zM456.832 268.501333l469.333333 469.333334a42.666667 42.666667 0 1 1-60.330666 60.330666l-469.333334-469.333333a42.666667 42.666667 0 0 1 60.330667-60.330667z" horiz-adv-x="1024" />
<glyph glyph-name="eye" unicode="&#59498;" d="M109.844053 353.834667c24.533333-37.973333 53.504-75.989333 86.613334-111.36C289.172053 143.744 394.900053 85.333333 512.020053 85.333333c117.12 0 222.890667 58.368 315.52 157.184A789.888 789.888 0 0 1 932.713387 384a789.888 789.888 0 0 1-105.130667 141.482667C734.91072 624.298667 629.140053 682.666667 512.020053 682.666667 394.900053 682.666667 289.129387 624.298667 196.500053 525.482667A789.888 789.888 0 0 1 91.32672 384c5.376-9.301333 11.52-19.413333 18.474667-30.165333zM4.54272 403.072c5.973333 11.989333 17.237333 32 33.621333 57.429333a874.325333 874.325333 0 0 0 96.042667 123.306667C241.556053 698.410667 367.80672 768 512.020053 768c144.213333 0 270.464-69.632 377.813334-184.149333a874.325333 874.325333 0 0 0 96-123.349334c16.426667-25.429333 27.690667-45.44 33.706666-57.429333a42.666667 42.666667 0 0 0 0-38.144c-6.016-11.989333-17.28-32-33.706666-57.429333a874.325333 874.325333 0 0 0-96-123.306667C782.484053 69.589333 656.233387 0 512.020053 0c-144.213333 0-270.464 69.632-377.813333 184.149333a874.325333 874.325333 0 0 0-96 123.349334 648.021333 648.021333 0 0 0-33.706667 57.429333 42.666667 42.666667 0 0 0 0 38.144zM512.020053 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="feather" unicode="&#59499;" d="M230.997333 42.66666699999996l-115.498666-115.498667a42.666667 42.666667 0 1 0-60.330667 60.330667L170.666667 102.99733300000003V448a42.666667 42.666667 0 0 0 12.501333 30.165333l288 288a298.794667 298.794667 0 0 0 422.613333-422.570666l-287.573333-288.426667A42.666667 42.666667 0 0 0 576 42.66666699999996H230.997333z m256 256l241.365334-0.085334 104.96 105.301334a213.504 213.504 0 1 1-301.824 301.952L256 430.336v-242.005333l396.501333 396.501333a42.666667 42.666667 0 0 0 60.330667-60.330667L486.997333 298.66666699999996z m156.373334-85.333334H401.664l-85.333333-85.333333h241.92l85.12 85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="facebook" unicode="&#59500;" d="M384 597.333333a256 256 0 0 0 256 256h128a42.666667 42.666667 0 0 0 42.666667-42.666666v-170.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-128v-85.333333h128a42.666667 42.666667 0 0 0 41.386667-53.034667l-42.666667-170.666666A42.666667 42.666667 0 0 0 725.333333 256h-85.333333v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666666v298.666667H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667v170.666666a42.666667 42.666667 0 0 0 42.666667 42.666667h85.333333V597.333333z m341.333333 170.666667h-85.333333a170.666667 170.666667 0 0 1-170.666667-170.666667v-128a42.666667 42.666667 0 0 0-42.666666-42.666666H341.333333v-85.333334h85.333334a42.666667 42.666667 0 0 0 42.666666-42.666666v-298.666667h85.333334v298.666667a42.666667 42.666667 0 0 0 42.666666 42.666666h94.72l21.333334 85.333334H597.333333a42.666667 42.666667 0 0 0-42.666666 42.666666V597.333333a85.333333 85.333333 0 0 0 85.333333 85.333334h85.333333V768z" horiz-adv-x="1024" />
<glyph glyph-name="file-minus" unicode="&#59501;" d="M554.666667 768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V512h-213.333334a42.666667 42.666667 0 0 0-42.666666 42.666667V768z m85.333333-60.330667V597.333333h110.336L640 707.669333zM597.333333 853.333333a42.666667 42.666667 0 0 0 30.165334-12.501333l256-256A42.666667 42.666667 0 0 0 896 554.666667v-512a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h341.333333zM384 213.33333300000004a42.666667 42.666667 0 0 0 0 85.333334h256a42.666667 42.666667 0 0 0 0-85.333334H384z" horiz-adv-x="1024" />
<glyph glyph-name="eye-off" unicode="&#59502;" d="M284.838065 603.144984a42.644793 42.644793 0 1 1-51.77078 67.805221A829.441232 829.441232 0 0 1 5.642602 403.908509a42.644793 42.644793 0 0 1-0.554382-39.23321c5.970271-11.983187 17.228497-31.983595 33.604097-57.399892 27.164733-42.005122 59.148329-83.967598 95.99343-123.243453C241.937402 69.488038 368.123346-0.06562 512.262748-0.06562a472.546956 472.546956 0 0 1 279.152818 96.590457 42.644793 42.644793 0 1 1-51.68549 67.805222A386.788277 386.788277 0 0 0 511.580431 85.223967c-116.420286 0-222.094084 58.338077-314.718575 157.103419a789.483061 789.483061 0 0 0-104.948837 141.282201 744.151646 744.151646 0 0 0 192.925046 219.535397z m571.78139-327.981107a42.644793 42.644793 0 0 1 65.246534-54.926494 831.573472 831.573472 0 0 1 97.102195 143.414441 42.644793 42.644793 0 0 1 0.511737 39.14792c-5.970271 11.983187-17.228497 31.983595-33.604097 57.399892a873.877107 873.877107 0 0 1-95.99343 123.243453C782.588094 697.987004 656.40215 767.540662 512.262748 767.540662a431.352086 431.352086 0 0 1-99.277079-11.343515 42.644793 42.644793 0 0 1 19.446026-83.072057A346.275723 346.275723 0 0 0 512.177458 682.251075c117.145248 0 222.861691-58.338077 315.443537-157.103419a789.483061 789.483061 0 0 0 105.034127-141.324845 746.283885 746.283885 0 0 0-76.035667-108.658934z m-285.165734 47.250431a85.289587 85.289587 0 1 0-120.514186 120.514187 42.644793 42.644793 0 1 1-58.167498 62.431977 170.579174 170.579174 0 1 1 241.113662-241.113662 42.644793 42.644793 0 1 1-62.431978 58.167498zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
<glyph glyph-name="fast-forward" unicode="&#59503;" d="M580.864 51.626667A42.666667 42.666667 0 0 0 512 85.333333V682.666667a42.666667 42.666667 0 0 0 68.864 33.706666l384-298.666666a42.666667 42.666667 0 0 0 0-67.413334l-384-298.666666zM869.12 384L597.333333 595.413333v-422.826666L869.162667 384zM111.530667 51.626667A42.666667 42.666667 0 0 0 42.666667 85.333333V682.666667a42.666667 42.666667 0 0 0 68.864 33.706666l384-298.666666a42.666667 42.666667 0 0 0 0-67.413334l-384-298.666666zM399.786667 384L128 595.413333v-422.826666L399.829333 384z" horiz-adv-x="1024" />
<glyph glyph-name="file-text" unicode="&#59504;" d="M554.666667 768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V512h-213.333334a42.666667 42.666667 0 0 0-42.666666 42.666667V768z m85.333333-60.330667V597.333333h110.336L640 707.669333zM597.333333 853.333333a42.666667 42.666667 0 0 0 30.165334-12.501333l256-256A42.666667 42.666667 0 0 0 896 554.666667v-512a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h341.333333z m85.333334-469.333333a42.666667 42.666667 0 0 0 0-85.333333H341.333333a42.666667 42.666667 0 0 0 0 85.333333h341.333334z m0-170.666667a42.666667 42.666667 0 0 0 0-85.333333H341.333333a42.666667 42.666667 0 0 0 0 85.333333h341.333334z m-256 341.333334a42.666667 42.666667 0 0 0 0-85.333334H341.333333a42.666667 42.666667 0 1 0 0 85.333334h85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="film" unicode="&#59505;" d="M42.666667 717.738667A135.68 135.68 0 0 0 178.261333 853.333333h667.477334A135.68 135.68 0 0 0 981.333333 717.738667v-667.477334A135.68 135.68 0 0 0 845.738667-85.33333300000004H178.261333A135.68 135.68 0 0 0 42.666667 50.261333000000036V717.738667zM341.333333 768v-341.333333h341.333334V768H341.333333z m0-768h341.333334v341.333333H341.333333v-341.333333z m554.666667 426.666667V554.666667h-128v-128h128z m0-85.333334h-128v-128h128v128zM128 341.33333300000004v-128h128v128H128z m0 85.333334h128V554.666667H128v-128z m640 341.333333v-128h128V717.738667A50.346667 50.346667 0 0 1 845.738667 768H768z m128-640h-128v-128h77.738667A50.346667 50.346667 0 0 1 896 50.261333000000036V128zM256 768H178.261333A50.346667 50.346667 0 0 1 128 717.738667V640h128V768z m0-768v128H128v-77.738667C128 22.61333300000001 150.570667 0 178.261333 0H256z" horiz-adv-x="1024" />
<glyph glyph-name="file" unicode="&#59506;" d="M554.666667 853.333333a42.666667 42.666667 0 0 0 30.165333-12.501333l298.666667-298.666667A42.666667 42.666667 0 0 0 896 512v-469.333333a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h298.666667z m-42.666667-341.333333V768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V469.333333h-256a42.666667 42.666667 0 0 0-42.666667 42.666667z m85.333333 195.669333V554.666667h153.002667L597.333333 707.669333z" horiz-adv-x="1024" />
<glyph glyph-name="file-plus" unicode="&#59507;" d="M554.666667 768H256a42.666667 42.666667 0 0 1-42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 1 42.666667-42.666667h512a42.666667 42.666667 0 0 1 42.666667 42.666667V512h-213.333334a42.666667 42.666667 0 0 0-42.666666 42.666667V768z m85.333333-60.330667V597.333333h110.336L640 707.669333zM597.333333 853.333333a42.666667 42.666667 0 0 0 30.165334-12.501333l256-256A42.666667 42.666667 0 0 0 896 554.666667v-512a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128V725.333333a128 128 0 0 0 128 128h341.333333z m-128-640H384a42.666667 42.666667 0 0 0 0 85.333334h85.333333v85.333333a42.666667 42.666667 0 0 0 85.333334 0v-85.333333h85.333333a42.666667 42.666667 0 0 0 0-85.333334h-85.333333v-85.333333a42.666667 42.666667 0 0 0-85.333334 0v85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="folder" unicode="&#59508;" d="M170.666667 725.333333a42.666667 42.666667 0 0 1-42.666667-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-384a42.666667 42.666667 0 0 0-35.498666 18.986667L361.173333 725.333333H170.666667z m682.666666-42.666666a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h213.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L492.16 682.666667H853.333333z" horiz-adv-x="1024" />
<glyph glyph-name="filter" unicode="&#59509;" d="M384 348.757333l-331.264 391.68A42.666667 42.666667 0 0 0 85.333333 810.666667h853.333334a42.666667 42.666667 0 0 0 32.597333-70.229334L640 348.757333V0a42.666667 42.666667 0 0 0-61.738667-38.144l-170.666666 85.333333A42.666667 42.666667 0 0 0 384 85.33333300000004v263.424zM177.28 725.333333l281.984-333.397333a42.666667 42.666667 0 0 0 10.069333-27.562667v-252.672l85.333334-42.666666V364.373333a42.666667 42.666667 0 0 0 10.069333 27.562667L846.72 725.333333H177.28z" horiz-adv-x="1024" />
<glyph glyph-name="flag" unicode="&#59510;" d="M128-42.66666699999996V768a42.666667 42.666667 0 0 0 12.501333 30.165333c9.386667 9.386667 26.197333 20.608 51.626667 30.762667C230.698667 844.373333 280.064 853.333333 341.333333 853.333333c60.458667 0 101.674667-11.776 186.496-45.738666C603.008 777.557333 636.458667 768 682.666667 768c50.730667 0 89.344 7.04 117.504 18.261333 14.549333 5.845333 21.674667 10.624 22.997333 11.946667C850.048 825.045333 896 805.973333 896 768v-512a42.666667 42.666667 0 0 0-12.501333-30.165333c-9.386667-9.386667-26.197333-20.608-51.626667-30.762667-38.528-15.445333-87.893333-24.405333-149.205333-24.405333-60.458667 0-101.674667 11.776-186.496 45.738666C420.992 246.44266700000003 387.541333 256 341.333333 256c-50.730667 0-89.344-7.04-117.504-18.261333a174.677333 174.677333 0 0 1-10.496-4.608V-42.66666699999996a42.666667 42.666667 0 0 0-85.333333 0z m213.333333 384c60.458667 0 101.674667-11.776 186.496-45.738666 75.178667-30.037333 108.629333-39.594667 154.837334-39.594667 50.730667 0 89.344 7.04 117.504 18.261333 4.053333 1.664 7.552 3.2 10.496 4.608v420.693334c-34.986667-10.794667-77.397333-16.896-128-16.896-60.458667 0-101.674667 11.776-186.496 45.738666C420.992 758.442667 387.541333 768 341.333333 768c-50.730667 0-89.344-7.04-117.504-18.261333A174.677333 174.677333 0 0 1 213.333333 745.130667v-420.693334C248.32 335.23199999999997 290.730667 341.33333300000004 341.333333 341.33333300000004z" horiz-adv-x="1024" />
<glyph glyph-name="globe" unicode="&#59511;" d="M512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m211.2 426.666666a695.466667 695.466667 0 0 0-114.176-328.96A384.341333 384.341333 0 0 1 893.653333 341.33333300000004H723.2z m-422.272 0H130.346667a384.341333 384.341333 0 0 1 284.629333-328.96A696.789333 696.789333 0 0 0 300.928 341.33333300000004z m308.096 414.293334A696.789333 696.789333 0 0 0 723.072 426.666667h170.581333a384.341333 384.341333 0 0 1-284.629333 328.96z m-194.048 0A384.341333 384.341333 0 0 1 130.346667 426.666667H300.8a695.466667 695.466667 0 0 0 114.176 328.96zM386.474667 341.33333300000004A610.133333 610.133333 0 0 1 512 23.46666700000003 609.621333 609.621333 0 0 1 637.653333 341.33333300000004H386.474667z m251.050666 85.333334A610.133333 610.133333 0 0 1 512 744.533333 609.621333 609.621333 0 0 1 386.346667 426.666667h251.178666z" horiz-adv-x="1024" />
<glyph glyph-name="grid" unicode="&#59512;" d="M170.666667 512h213.333333V725.333333H170.666667v-213.333333zM128 810.666667h298.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-298.666667a42.666667 42.666667 0 0 0-42.666666-42.666666H128a42.666667 42.666667 0 0 0-42.666667 42.666666V768a42.666667 42.666667 0 0 0 42.666667 42.666667zM640 512h213.333333V725.333333h-213.333333v-213.333333z m-42.666667 298.666667h298.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666h-298.666667a42.666667 42.666667 0 0 0-42.666666 42.666666V768a42.666667 42.666667 0 0 0 42.666666 42.666667zM640 42.666667h213.333333v213.333333h-213.333333v-213.333333z m-42.666667 298.666666h298.666667a42.666667 42.666667 0 0 0 42.666667-42.666666v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666667h-298.666667a42.666667 42.666667 0 0 0-42.666666 42.666667v298.666667a42.666667 42.666667 0 0 0 42.666666 42.666666zM170.666667 42.666667h213.333333v213.333333H170.666667v-213.333333z m-42.666667 298.666666h298.666667a42.666667 42.666667 0 0 0 42.666666-42.666666v-298.666667a42.666667 42.666667 0 0 0-42.666666-42.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666667v298.666667a42.666667 42.666667 0 0 0 42.666667 42.666666z" horiz-adv-x="1024" />
<glyph glyph-name="heart" unicode="&#59513;" d="M527.061333 729.472A277.333333 277.333333 0 0 0 1000.618667 533.333333a277.333333 277.333333 0 0 0-81.28-196.138666l-377.173334-377.173334a42.666667 42.666667 0 0 0-60.330666 0l-377.173334 377.173334a277.376 277.376 0 0 0 392.277334 392.277333l15.061333-15.061333 15.061333 15.061333z m286.72-377.173333l45.226667 45.226666a192 192 0 0 1-135.808 327.893334 192 192 0 0 1-135.808-56.32l-45.226667-45.226667a42.666667 42.666667 0 0 0-60.330666 0l-45.226667 45.226667a192.042667 192.042667 0 0 1-271.616-271.573334L512 50.517333l301.781333 301.781334z" horiz-adv-x="1024" />
<glyph glyph-name="home" unicode="&#59514;" d="M101.802667 545.7066669999999l384 298.666666a42.666667 42.666667 0 0 0 52.394666 0l384-298.666666A42.666667 42.666667 0 0 0 938.666667 512v-469.333333a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128V512a42.666667 42.666667 0 0 0 16.469334 33.706667zM682.666667 0h128a42.666667 42.666667 0 0 1 42.666666 42.666667V491.093333l-341.333333 265.514667-341.333333-265.472V42.66666699999996a42.666667 42.666667 0 0 1 42.666666-42.666667h128v384a42.666667 42.666667 0 0 0 42.666667 42.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667v-384z m-256 0h170.666666v341.333333h-170.666666v-341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="github" unicode="&#59515;" d="M371.754667 83.541333c-91.818667-27.562667-128.896-12.970667-174.805334 43.861334-3.072 3.797333-15.786667 19.968-19.2 24.192-27.477333 33.92-49.408 52.309333-82.048 60.458666a42.666667 42.666667 0 0 1-20.736-82.773333c9.813333-2.474667 19.712-10.752 36.394667-31.36 2.986667-3.626667 15.701333-19.797333 19.2-24.106667 66.304-82.133333 138.026667-110.293333 265.685333-72.021333a42.666667 42.666667 0 0 1-24.490666 81.749333zM960 489.813333a274.773333 274.773333 0 0 1-58.837333 169.856 258.986667 258.986667 0 0 1-12.458667 167.808 42.666667 42.666667 0 0 1-27.093333 24.106667 64.085333 64.085333 0 0 1-8.96 1.877333c-40.064 5.802667-98.858667-10.026667-177.621334-59.989333a613.546667 613.546667 0 0 1-283.392 0C312.874667 843.434667 254.08 859.306667 213.973333 853.461333a64.085333 64.085333 0 0 1-8.96-1.877333 42.666667 42.666667 0 0 1-27.050666-24.106667 258.986667 258.986667 0 0 1-12.458667-167.808A274.773333 274.773333 0 0 1 106.666667 488.32c0-196.778667 87.893333-292.949333 247.466666-329.6a186.453333 186.453333 0 0 1-12.714666-81.92L341.333333-85.333333a42.666667 42.666667 0 0 1 85.333334 0v165.12c-2.133333 31.616 8.106667 59.776 28.117333 80.426666a42.666667 42.666667 0 0 1-25.429333 71.978667C267.52 252.330667 192 315.776 192 488.533333a189.568 189.568 0 0 0 52.224 131.84 42.666667 42.666667 0 0 1 9.088 44.373334 173.653333 173.653333 0 0 0-5.973333 102.058666c2.986667-0.64 6.272-1.493333 9.856-2.56 27.52-7.893333 61.781333-24.490667 103.04-52.181333a42.666667 42.666667 0 0 1 34.944-5.717333 528.213333 528.213333 0 0 0 276.309333 0 42.666667 42.666667 0 0 1 34.944 5.717333c41.258667 27.690667 75.52 44.288 103.04 52.224 3.584 1.024 6.826667 1.877333 9.813333 2.56a173.653333 173.653333 0 0 0-5.930666-102.101333 42.666667 42.666667 0 0 1 9.088-44.373334A189.44 189.44 0 0 0 874.666667 489.813333c0-174.421333-76.032-238.336-236.8-256.256a42.666667 42.666667 0 0 1-25.941334-72.106666 101.12 101.12 0 0 0 28.202667-78.336L640-85.333333a42.666667 42.666667 0 0 1 85.333333 0v165.12a177.237333 177.237333 0 0 1-12.373333 79.658666c158.72 35.2 247.04 132.266667 247.04 330.368z" horiz-adv-x="1024" />
<glyph glyph-name="image" unicode="&#59516;" d="M213.333333-42.66666699999996h-0.213333A127.786667 127.786667 0 0 0 85.333333 85.12V682.88A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.66666699999996H213.333333z m640 401.664v323.84A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88v-597.76c0-18.261333 11.52-33.792 27.648-39.808L652.501333 499.498667a42.666667 42.666667 0 0 0 60.330667 0L853.333333 358.997333z m0-120.661333l-170.666666 170.666667L316.330667 42.66666699999996h494.506666c23.466667 0 42.496 18.986667 42.496 42.453333v153.173333zM362.666667 426.666667a106.666667 106.666667 0 1 0 0 213.333333 106.666667 106.666667 0 0 0 0-213.333333z m0 85.333333a21.333333 21.333333 0 1 1 0 42.666667 21.333333 21.333333 0 0 1 0-42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="inbox" unicode="&#59517;" d="M311.466667 768h401.066666a128 128 0 0 0 117.077334-76.117333l148.053333-333.226667A42.666667 42.666667 0 0 0 981.333333 341.33333300000004v-213.333333a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128v213.333333a42.666667 42.666667 0 0 0 3.669333 17.322667l148.053333 333.226667A128 128 0 0 0 311.466667 768z m561.536-384l-121.386667 273.28A42.666667 42.666667 0 0 1 712.533333 682.666667H311.466667a42.666667 42.666667 0 0 1-39.082667-25.386667L151.04 384H341.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L449.493333 256h125.013334l72.661333 109.013333A42.666667 42.666667 0 0 0 682.666667 384h190.336zM896 128v170.666667h-190.506667l-72.661333-109.013334A42.666667 42.666667 0 0 0 597.333333 170.66666699999996h-170.666666a42.666667 42.666667 0 0 0-35.498667 18.986666L318.506667 298.66666699999996H128v-170.666667a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="layers" unicode="&#59518;" d="M492.928 848.810667a42.666667 42.666667 0 0 0 38.144 0l426.666667-213.333334a42.666667 42.666667 0 0 0 0-76.288l-426.666667-213.333333a42.666667 42.666667 0 0 0-38.144 0l-426.666667 213.333333a42.666667 42.666667 0 0 0 0 76.288l426.666667 213.333334zM180.736 597.333333L512 431.701333 843.264 597.333333 512 762.965333 180.736 597.333333zM104.405333 208.810667a42.666667 42.666667 0 0 1-38.144-76.288l426.666667-213.333334a42.666667 42.666667 0 0 1 38.144 0l426.666667 213.333334a42.666667 42.666667 0 0 1-38.144 76.288L512 5.034667l-407.594667 203.776zM104.405333 422.144a42.666667 42.666667 0 0 1-38.144-76.288l426.666667-213.333333a42.666667 42.666667 0 0 1 38.144 0l426.666667 213.333333a42.666667 42.666667 0 0 1-38.144 76.288L512 218.368l-407.594667 203.776z" horiz-adv-x="1024" />
<glyph glyph-name="info" unicode="&#59519;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM554.666667 213.333333v170.666667a42.666667 42.666667 0 0 1-85.333334 0v-170.666667a42.666667 42.666667 0 0 1 85.333334 0zM512 554.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
<glyph glyph-name="instagram" unicode="&#59520;" d="M128 597.546667v-427.093334A170.453333 170.453333 0 0 1 298.453333 0h427.093334A170.453333 170.453333 0 0 1 896 170.453333V597.546667A170.453333 170.453333 0 0 1 725.546667 768H298.453333A170.453333 170.453333 0 0 1 128 597.546667z m-85.333333 0A255.786667 255.786667 0 0 0 298.453333 853.333333h427.093334A255.786667 255.786667 0 0 0 981.333333 597.546667v-427.093334A255.786667 255.786667 0 0 0 725.546667-85.333333H298.453333A255.786667 255.786667 0 0 0 42.666667 170.453333V597.546667zM640.426667 404.608a128 128 0 1 1-253.184-37.546667 128 128 0 0 1 253.226666 37.546667z m84.48 12.544a213.333333 213.333333 0 1 0-422.101334-62.592 213.333333 213.333333 0 0 0 422.058667 62.592zM725.333333 640m-42.666666 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
<glyph glyph-name="layout" unicode="&#59521;" d="M85.333333 682.88A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.66666699999996H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM853.333333 554.666667V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88V554.666667h682.666666z m0-85.333334H426.666667v-426.666666h384.213333c23.466667 0 42.453333 18.986667 42.453333 42.453333V469.333333zM341.333333 42.66666699999996V469.333333H170.666667v-384.213333c0-23.466667 18.986667-42.453333 42.453333-42.453333H341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="link-" unicode="&#59522;" d="M640 554.666667h128a170.666667 170.666667 0 1 0 0-341.333334h-128a42.666667 42.666667 0 0 1 0-85.333333h128a256 256 0 1 1 0 512h-128a42.666667 42.666667 0 0 1 0-85.333333z m-256-341.333334H256a170.666667 170.666667 0 0 0 0 341.333334h128a42.666667 42.666667 0 1 1 0 85.333333H256a256 256 0 1 1 0-512h128a42.666667 42.666667 0 0 1 0 85.333333zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="life-buoy" unicode="&#59523;" d="M272.298667 83.96799999999996A382.378667 382.378667 0 0 1 512 0a382.378667 382.378667 0 0 1 239.701333 83.968l-122.026666 122.026667A212.352 212.352 0 0 0 512 170.66666699999996a212.352 212.352 0 0 0-117.632 35.328l-122.026667-122.026667z m-60.330667 60.330667l122.026667 122.026666A212.352 212.352 0 0 0 298.666667 384c0 43.52 13.013333 83.925333 35.328 117.632l-122.026667 122.026667A382.378667 382.378667 0 0 1 128 384c0-90.666667 31.402667-173.994667 83.968-239.701333z m60.330667 539.733333l122.026666-122.026667A212.352 212.352 0 0 0 512 597.333333c43.52 0 83.925333-13.013333 117.632-35.328l122.026667 122.026667A382.378667 382.378667 0 0 1 512 768a382.378667 382.378667 0 0 1-239.701333-83.968z m539.733333-60.330667l-122.026667-122.026666c22.314667-33.749333 35.328-74.197333 35.328-117.674667 0-43.52-13.013333-83.925333-35.328-117.632l122.026667-122.026667A382.378667 382.378667 0 0 1 896 384a382.378667 382.378667 0 0 1-83.968 239.701333zM512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 341.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
<glyph glyph-name="link" unicode="&#59524;" d="M392.533333 315.776a256 256 0 0 1 386.005334-27.648l128 128a256 256 0 1 1-361.472 362.496l-73.813334-73.386667a42.666667 42.666667 0 1 1 60.16-60.501333l73.386667 72.96a170.538667 170.538667 0 0 0 238.805333-2.517333 170.666667 170.666667 0 0 0 2.090667-239.232l-127.488-127.488A170.666667 170.666667 0 0 0 460.8 366.933333a42.666667 42.666667 0 1 1-68.352-51.114666zM631.466667 452.224a256 256 0 0 1-386.005334 27.648l-128-128a256 256 0 1 1 361.472-362.496l73.472 73.472a42.666667 42.666667 0 0 1-60.330666 60.330667l-72.96-72.96c-66.432-64.170667-172.885333-63.232-238.72 2.602666a170.666667 170.666667 0 0 0-2.090667 239.232l127.488 127.488a170.666667 170.666667 0 0 0 257.365333-18.432 42.666667 42.666667 0 1 1 68.352 51.114667z" horiz-adv-x="1024" />
<glyph glyph-name="log-in" unicode="&#59525;" d="M597.333333-85.333333h213.333334a128 128 0 0 1 128 128V725.333333a128 128 0 0 1-128 128h-213.333334a42.666667 42.666667 0 0 1 0-85.333333h213.333334a42.666667 42.666667 0 0 0 42.666666-42.666667v-682.666666a42.666667 42.666667 0 0 0-42.666666-42.666667h-213.333334a42.666667 42.666667 0 0 1 0-85.333333zM439.168 243.498667a42.666667 42.666667 0 0 1 60.330667-60.330667l170.666666 170.666667a42.666667 42.666667 0 0 1 0 60.330666l-170.666666 170.666667a42.666667 42.666667 0 0 1-60.330667-60.330667L579.669333 384l-140.501333-140.501333zM640 426.666667H128a42.666667 42.666667 0 0 1 0-85.333334h512a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="list" unicode="&#59526;" d="M341.333333 597.333333h554.666667a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 1 1 0-85.333334zM341.333333 341.333333h554.666667a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334zM341.333333 85.333333h554.666667a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334zM128 640m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM128 384m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM128 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
<glyph glyph-name="lock" unicode="&#59527;" d="M256 469.333333V597.333333a256 256 0 1 0 512 0v-128h42.88A127.957333 127.957333 0 0 0 938.666667 341.674667v-299.349334A127.701333 127.701333 0 0 0 810.88-85.33333300000004H213.12A127.957333 127.957333 0 0 0 85.333333 42.325333v299.349334A127.701333 127.701333 0 0 0 213.12 469.333333H256z m-85.333333-127.658666v-299.349334c0-23.168 19.157333-42.325333 42.453333-42.325333h597.76c23.466667 0 42.453333 18.944 42.453333 42.325333v299.349334a42.624 42.624 0 0 1-42.453333 42.325333H213.12a42.368 42.368 0 0 1-42.453333-42.325333z m170.666666 127.786666h341.333334V597.333333a170.666667 170.666667 0 1 1-341.333334 0v-127.872z" horiz-adv-x="1024" />
<glyph glyph-name="log-out" unicode="&#59528;" d="M426.666667 0H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666666 42.666667h213.333334a42.666667 42.666667 0 0 1 0 85.333333H213.333333a128 128 0 0 1-128-128v-682.666666a128 128 0 0 1 128-128h213.333334a42.666667 42.666667 0 0 1 0 85.333333zM695.168 243.498667a42.666667 42.666667 0 0 1 60.330667-60.330667l170.666666 170.666667a42.666667 42.666667 0 0 1 0 60.330666l-170.666666 170.666667a42.666667 42.666667 0 0 1-60.330667-60.330667L835.669333 384l-140.501333-140.501333zM896 426.666667H384a42.666667 42.666667 0 0 1 0-85.333334h512a42.666667 42.666667 0 0 1 0 85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="loader" unicode="&#59529;" d="M469.333333 810.666667v-170.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0zM469.333333 128v-170.666667a42.666667 42.666667 0 0 1 85.333334 0v170.666667a42.666667 42.666667 0 0 1-85.333334 0zM180.181333 655.488l120.746667-120.746667a42.666667 42.666667 0 0 1 60.330667 60.330667l-120.746667 120.746667a42.666667 42.666667 0 0 1-60.330667-60.330667zM662.741333 172.928l120.746667-120.746667a42.666667 42.666667 0 0 1 60.330667 60.330667l-120.746667 120.746667a42.666667 42.666667 0 0 1-60.330667-60.330667zM85.333333 341.333333h170.666667a42.666667 42.666667 0 0 1 0 85.333334H85.333333a42.666667 42.666667 0 0 1 0-85.333334zM768 341.333333h170.666667a42.666667 42.666667 0 0 1 0 85.333334h-170.666667a42.666667 42.666667 0 0 1 0-85.333334zM240.512 52.181333l120.746667 120.746667a42.666667 42.666667 0 0 1-60.330667 60.330667l-120.746667-120.746667a42.666667 42.666667 0 0 1 60.330667-60.330667zM723.072 534.741333l120.746667 120.746667a42.666667 42.666667 0 1 1-60.330667 60.330667l-120.746667-120.746667a42.666667 42.666667 0 1 1 60.330667-60.330667z" horiz-adv-x="1024" />
<glyph glyph-name="mail" unicode="&#59530;" d="M170.666667 768h682.666666c70.485333 0 128-57.514667 128-128v-512c0-70.485333-57.514667-128-128-128H170.666667c-70.485333 0-128 57.514667-128 128V640c0 70.485333 57.514667 128 128 128z m720.768-108.970667A42.922667 42.922667 0 0 1 853.333333 682.666667H170.666667c-16.554667 0-31.061333-9.685333-38.101334-23.637334L512 393.429333l379.434667 265.6zM896 558.0799999999999l-359.552-251.648a42.666667 42.666667 0 0 0-48.896 0L128 558.037333V128c0-23.381333 19.285333-42.666667 42.666667-42.666667h682.666666c23.381333 0 42.666667 19.285333 42.666667 42.666667V558.0799999999999z" horiz-adv-x="1024" />
<glyph glyph-name="maximize-" unicode="&#59531;" d="M853.333333 725.333333v-213.333333a42.666667 42.666667 0 0 1 85.333334 0V768a42.666667 42.666667 0 0 1-42.666667 42.666667h-256a42.666667 42.666667 0 0 1 0-85.333334h213.333333zM170.666667 256a42.666667 42.666667 0 0 1-85.333334 0v-256a42.666667 42.666667 0 0 1 42.666667-42.666667h256a42.666667 42.666667 0 0 1 0 85.333334H170.666667v213.333333zM865.834667 798.165333l-298.666667-298.666666a42.666667 42.666667 0 1 1 60.330667-60.330667l298.666666 298.666667a42.666667 42.666667 0 1 1-60.330666 60.330666zM158.165333-30.165333l298.666667 298.666666a42.666667 42.666667 0 0 1-60.330667 60.330667l-298.666666-298.666667a42.666667 42.666667 0 0 1 60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="map" unicode="&#59532;" d="M640 613.6320000000001l-256 128v-587.264l256-128V613.6320000000001z m85.333333 1.621333v-584.405333l213.333334 121.898667V737.152L725.333333 615.253333zM319.530667 847.36a42.453333 42.453333 0 0 0 41.642666 1.066667l320.170667-160.042667 278.826667 159.317333A42.666667 42.666667 0 0 0 1024 810.666667v-682.666667a42.666667 42.666667 0 0 0-21.504-37.034667l-298.666667-170.666666a42.666667 42.666667 0 0 0-40.234666-1.109334l-320.938667 160.426667-278.826667-159.317333A42.666667 42.666667 0 0 0 0-42.66666699999996V640a42.666667 42.666667 0 0 0 21.504 37.034667L319.530667 847.36zM298.666667 737.152L85.333333 615.253333v-584.405333l213.333334 121.898667V737.152z" horiz-adv-x="1024" />
<glyph glyph-name="map-pin" unicode="&#59534;" d="M545.408-7.253333a1243.946667 1243.946667 0 0 1 127.616 116.608C786.218667 228.821333 853.333333 351.872 853.333333 469.333333a341.333333 341.333333 0 0 1-682.666666 0c0-117.461333 67.114667-240.469333 180.309333-359.978666A1243.946667 1243.946667 0 0 1 512-32.981333c10.325333 7.68 21.546667 16.213333 33.408 25.685333z m189.568 57.898666a1328.298667 1328.298667 0 0 0-181.504-158.976c-8.32-6.016-14.378667-10.24-17.792-12.501333a42.666667 42.666667 0 0 0-47.36 0c-3.413333 2.304-9.472 6.485333-17.792 12.501333a1328.298667 1328.298667 0 0 0-181.504 158.976C162.218667 184.490667 85.333333 325.461333 85.333333 469.333333 85.333333 704.981333 276.352 896 512 896s426.666667-191.018667 426.666667-426.666667c0-143.872-76.885333-284.842667-203.690667-418.688zM512 298.666667a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="menu" unicode="&#59535;" d="M128 341.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 0 1 0-85.333334zM128 597.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 1 1 0-85.333334zM128 85.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="message-circle" unicode="&#59536;" d="M357.717333 121.557333a42.666667 42.666667 0 0 0 32.725334-2.389333A314.965333 314.965333 0 0 1 533.333333 85.333333a320.085333 320.085333 0 0 1 286.165334 177.066667A314.88 314.88 0 0 1 853.333333 405.248l0.085334 19.114667C844.458667 586.752 714.752 716.373333 554.666667 725.333333h-21.461334a315.093333 315.093333 0 0 1-142.933333-33.92A320 320 0 0 1 213.333333 405.205333a314.88 314.88 0 0 1 33.834667-142.762666 42.666667 42.666667 0 0 0 2.389333-32.725334L195.413333 67.413333l162.261334 54.101334z m538.026667 102.570667A405.333333 405.333333 0 0 0 533.504 0a400.213333 400.213333 0 0 0-165.12 35.157333L141.525333-40.533333a42.666667 42.666667 0 0 0-53.973333 53.973333l75.648 226.901333A405.248 405.248 0 0 0 351.957333 767.701333 400.085333 400.085333 0 0 0 533.333333 810.666667l23.68-0.085334C762.88 799.232 927.232 634.88 938.666667 426.666667v-21.290667a400.042667 400.042667 0 0 0-42.88-181.248z" horiz-adv-x="1024" />
<glyph glyph-name="message-square" unicode="&#59537;" d="M268.501333 200.832A42.666667 42.666667 0 0 0 298.666667 213.333333h512a42.666667 42.666667 0 0 1 42.666666 42.666667V682.666667a42.666667 42.666667 0 0 1-42.666666 42.666666H213.333333a42.666667 42.666667 0 0 1-42.666666-42.666666v-579.669334l97.834666 97.834667z m-110.336-230.997333C131.285333-57.045333 85.333333-38.016 85.333333 0V682.666667a128 128 0 0 0 128 128h597.333334a128 128 0 0 0 128-128v-426.666667a128 128 0 0 0-128-128H316.330667l-158.165334-158.165333z" horiz-adv-x="1024" />
<glyph glyph-name="minimize-" unicode="&#59538;" d="M384 42.666667a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-42.666666 42.666666H170.666667a42.666667 42.666667 0 0 1 0-85.333333h213.333333v-213.333333zM640 725.333333a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666666-42.666666h256a42.666667 42.666667 0 0 1 0 85.333333h-213.333333V725.333333zM627.498667 439.168l298.666666 298.666667a42.666667 42.666667 0 1 1-60.330666 60.330666l-298.666667-298.666666a42.666667 42.666667 0 1 1 60.330667-60.330667zM158.165333-30.165333l298.666667 298.666666a42.666667 42.666667 0 0 1-60.330667 60.330667l-298.666666-298.666667a42.666667 42.666667 0 0 1 60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="mic-off" unicode="&#59539;" d="M13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038zM341.683574 511.671902v-127.934381a170.579174 170.579174 0 0 1 291.136005-120.599476 42.644793 42.644793 0 0 1-60.299738 60.385028A85.289587 85.289587 0 0 0 426.973161 383.737521V511.671902a42.644793 42.644793 0 1 1-85.289587 0z m341.158348-14.49923V724.895869a170.579174 170.579174 0 0 1-337.746764 34.07319 42.644793 42.644793 0 0 1 83.583795-16.972628 85.289587 85.289587 0 0 0 168.873382-17.057917V497.172672a42.644793 42.644793 0 0 1 85.289587 0zM695.038333 202.497149A255.868761 255.868761 0 0 0 256.393987 383.439008V469.027108a42.644793 42.644793 0 1 1-85.289587 0v-85.289587a341.158348 341.158348 0 0 1 584.830698-240.943083 42.644793 42.644793 0 0 1-60.896765 59.702711zM768.131509 469.027108v-85.289587c0-15.053612-1.364633-30.064579-4.008611-44.904967a42.644793 42.644793 0 1 1 83.924954-15.096257A341.158348 341.158348 0 0 1 853.421095 383.737521V469.027108a42.644793 42.644793 0 0 1-85.289586 0zM469.617955 85.223967v-170.579174a42.644793 42.644793 0 0 1 85.289586 0v170.579174a42.644793 42.644793 0 0 1-85.289586 0zM341.683574-128h341.158348a42.644793 42.644793 0 0 1 0 85.289587H341.683574a42.644793 42.644793 0 0 1 0-85.289587z" horiz-adv-x="1024" />
<glyph glyph-name="minus-circle" unicode="&#59540;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="mic" unicode="&#59541;" d="M682.666667 725.333333v-341.333333a170.666667 170.666667 0 1 0-341.333334 0V725.333333a170.666667 170.666667 0 1 0 341.333334 0z m-170.666667 85.333334a85.333333 85.333333 0 0 1-85.333333-85.333334v-341.333333a85.333333 85.333333 0 1 1 170.666666 0V725.333333a85.333333 85.333333 0 0 1-85.333333 85.333334zM768 469.333333v-85.333333a256 256 0 0 0-512 0v85.333333a42.666667 42.666667 0 1 1-85.333333 0v-85.333333a341.333333 341.333333 0 0 1 682.666666 0v85.333333a42.666667 42.666667 0 0 1-85.333333 0zM469.333333 85.333333v-170.666666a42.666667 42.666667 0 0 1 85.333334 0v170.666666a42.666667 42.666667 0 0 1-85.333334 0zM341.333333-128h341.333334a42.666667 42.666667 0 0 1 0 85.333333H341.333333a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="minus-square" unicode="&#59542;" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="minus" unicode="&#59543;" d="M213.333333 341.333333h597.333334a42.666667 42.666667 0 0 1 0 85.333334H213.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="moon" unicode="&#59544;" d="M476.202667 348.245333a342.058667 342.058667 0 0 0-79.786667 358.229334 341.973333 341.973333 0 1 1 438.016-438.016 342.058667 342.058667 0 0 0-358.229333 79.786666z m462.250666-2.773333A427.477333 427.477333 0 1 0 473.472 810.496c36.778667 3.413333 60.245333-38.272 38.314667-67.968a256.469333 256.469333 0 0 1 358.698666-358.741333c29.696 21.973333 71.381333-1.536 67.968-38.314667z" horiz-adv-x="1024" />
<glyph glyph-name="monitor" unicode="&#59545;" d="M554.666667 128v-85.333333h128a42.666667 42.666667 0 0 0 0-85.333334H341.333333a42.666667 42.666667 0 0 0 0 85.333334h128v85.333333H170.24A127.914667 127.914667 0 0 0 42.666667 256.256V682.410667A128.128 128.128 0 0 0 170.24 810.666667h683.52A127.914667 127.914667 0 0 0 981.333333 682.410667v-426.154667A128.128 128.128 0 0 0 853.76 128H554.666667zM128 682.410667v-426.154667A42.581333 42.581333 0 0 1 170.24 213.33333300000004h683.52c23.04 0 42.24 19.285333 42.24 42.922667V682.410667A42.581333 42.581333 0 0 1 853.76 725.333333H170.24C147.2 725.333333 128 706.048 128 682.410667z" horiz-adv-x="1024" />
<glyph glyph-name="more-vertical" unicode="&#59546;" d="M512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM512 597.333333a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333334a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333zM512-85.333333a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="more-horizontal" unicode="&#59547;" d="M512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM853.333333 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM170.666667 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="move" unicode="&#59548;" d="M243.498667 481.834667a42.666667 42.666667 0 0 1-60.330667 60.330666l-128-128a42.666667 42.666667 0 0 1 0-60.330666l128-128a42.666667 42.666667 0 1 1 60.330667 60.330666L145.664 384l97.834667 97.834667zM609.834667 652.501333a42.666667 42.666667 0 0 1 60.330666 60.330667l-128 128a42.666667 42.666667 0 0 1-60.330666 0l-128-128a42.666667 42.666667 0 0 1 60.330666-60.330667L512 750.336l97.834667-97.834667zM414.165333 115.498667a42.666667 42.666667 0 1 1-60.330666-60.330667l128-128a42.666667 42.666667 0 0 1 60.330666 0l128 128a42.666667 42.666667 0 0 1-60.330666 60.330667L512 17.664l-97.834667 97.834667zM780.501333 286.165333a42.666667 42.666667 0 0 1 60.330667-60.330666l128 128a42.666667 42.666667 0 0 1 0 60.330666l-128 128a42.666667 42.666667 0 0 1-60.330667-60.330666L878.336 384l-97.834667-97.834667zM85.333333 341.333333h853.333334a42.666667 42.666667 0 0 1 0 85.333334H85.333333a42.666667 42.666667 0 0 1 0-85.333334zM469.333333 810.666667v-853.333334a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="music" unicode="&#59549;" d="M426.666667 646.528V85.33333300000004a128 128 0 0 0-128-128H213.333333a128 128 0 0 0 0 256h128V682.666667a42.666667 42.666667 0 0 0 35.669334 42.069333l512 85.333333A42.666667 42.666667 0 0 0 938.666667 768v-597.333333a128 128 0 0 0-128-128h-85.333334a128 128 0 0 0 0 256h128V717.653333L426.666667 646.528zM341.333333 128H213.333333a42.666667 42.666667 0 0 1 0-85.333333h85.333334a42.666667 42.666667 0 0 1 42.666666 42.666666v42.666667z m512 85.333333h-128a42.666667 42.666667 0 0 1 0-85.333333h85.333334a42.666667 42.666667 0 0 1 42.666666 42.666667v42.666666z" horiz-adv-x="1024" />
<glyph glyph-name="navigation-" unicode="&#59550;" d="M293.845333 52.48l196.992 112.554667a42.666667 42.666667 0 0 0 42.325334 0l196.992-112.554667L512 644.565333 293.845333 52.48z m-59.306666-132.181333c-34.602667-19.754667-75.008 14.421333-61.226667 51.797333l298.666667 810.666667c13.696 37.205333 66.346667 37.205333 80.042666 0l298.666667-810.666667c13.781333-37.376-26.624-71.552-61.184-51.797333L512 78.848l-277.504-158.549333z" horiz-adv-x="1024" />
<glyph glyph-name="navigation" unicode="&#59551;" d="M479.701333 340.053333a42.666667 42.666667 0 0 0 31.018667-31.018666l56.405333-225.706667 281.856 594.986667-594.986666-281.856 225.706666-56.405334z m-362.069333 2.56c-38.826667 9.728-44.117333 62.805333-7.893333 79.957334l810.666666 384c36.266667 17.152 73.984-20.608 56.832-56.832l-384-810.666667c-17.152-36.224-70.229333-30.933333-79.957333 7.893333l-79.146667 316.501334-316.501333 79.146666z" horiz-adv-x="1024" />
<glyph glyph-name="octagon" unicode="&#59552;" d="M128 542.976v-317.952L353.024 0h317.952L896 225.024V542.976L670.976 768H353.024L128 542.976zM335.36 853.333333h353.28a42.666667 42.666667 0 0 0 30.165333-12.501333l250.026667-250.026667A42.666667 42.666667 0 0 0 981.333333 560.64v-353.28a42.666667 42.666667 0 0 0-12.501333-30.165333l-250.026667-250.026667a42.666667 42.666667 0 0 0-30.165333-12.501333H335.36a42.666667 42.666667 0 0 0-30.165333 12.501333l-250.026667 250.026667A42.666667 42.666667 0 0 0 42.666667 207.36V560.64a42.666667 42.666667 0 0 0 12.501333 30.165333l250.026667 250.026667A42.666667 42.666667 0 0 0 335.36 853.333333z" horiz-adv-x="1024" />
<glyph glyph-name="package" unicode="&#59553;" d="M568.96 872.362667l341.333333-170.666667A128 128 0 0 0 981.333333 587.093333v-406.613333a128 128 0 0 0-70.954666-114.517333l-341.333334-170.666667a128 128 0 0 0-114.517333 0L113.066667 66.00533299999995A127.872 127.872 0 0 0 42.666667 180.90666699999997V587.093333a128 128 0 0 0 70.954666 114.517334L455.04 872.362667a128 128 0 0 0 113.92 0z m274.090667-232.490667l-312.106667 156.074667a42.624 42.624 0 0 1-37.845333 0L394.282667 746.624 725.333333 581.034667l117.717334 58.88zM896 570.965333l-151.125333-75.562666a42.837333 42.837333 0 0 0-0.853334-0.426667L554.666667 400.298667v-416.810667l317.653333 158.848A42.666667 42.666667 0 0 1 896 180.48000000000002V570.965333zM469.333333-16.725332999999978v417.024l-341.333333 170.666666v-390.357333c-0.128-16.213333 8.96-31.104 23.338667-38.357333L469.333333-16.725332999999978zM298.88 698.837333L180.949333 639.914667 512 474.368 629.930667 533.333333 298.88 698.88z" horiz-adv-x="1024" />
<glyph glyph-name="pause-circle" unicode="&#59554;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 256V512a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 85.333333 0zM640 256V512a42.666667 42.666667 0 0 1-85.333333 0v-256a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="pause" unicode="&#59555;" d="M298.666667 682.666667v-597.333334h85.333333V682.666667H298.666667zM256 768h170.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-682.666666a42.666667 42.666667 0 0 0-42.666666-42.666667H256a42.666667 42.666667 0 0 0-42.666667 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667zM640 682.666667v-597.333334h85.333333V682.666667h-85.333333z m-42.666667 85.333333h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-682.666666a42.666667 42.666667 0 0 0-42.666667-42.666667h-170.666667a42.666667 42.666667 0 0 0-42.666666 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="percent" unicode="&#59556;" d="M780.501333 712.832l-597.333333-597.333333a42.666667 42.666667 0 0 1 60.330667-60.330667l597.333333 597.333333a42.666667 42.666667 0 1 1-60.330667 60.330667zM277.333333 469.333333a149.333333 149.333333 0 1 0 0 298.666667 149.333333 149.333333 0 0 0 0-298.666667z m0 85.333334a64 64 0 1 1 0 128 64 64 0 0 1 0-128zM746.666667 0a149.333333 149.333333 0 1 0 0 298.666667 149.333333 149.333333 0 0 0 0-298.666667z m0 85.333333a64 64 0 1 1 0 128 64 64 0 0 1 0-128z" horiz-adv-x="1024" />
<glyph glyph-name="phone-call" unicode="&#59557;" d="M981.333333 3.5839999999999463a128 128 0 0 0-140.288-127.914667 886.613333 886.613333 0 0 0-386.474666 137.386667 874.24 874.24 0 0 0-268.928 268.8A887.68 887.68 0 0 0 47.957333 671.146667 128 128 0 0 0 175.36 810.666667H302.933333a128.085333 128.085333 0 0 0 128.042667-110.506667c4.992-37.76 14.250667-74.837333 27.52-110.421333a128.085333 128.085333 0 0 0-28.970667-135.253334l-30.592-30.549333a640 640 0 0 1 195.669334-195.669333l30.72 30.762666a128 128 0 0 0 134.997333 28.842667c35.669333-13.312 72.746667-22.570667 110.933333-27.605333A128 128 0 0 0 981.333333 130.986667v-127.36z m-85.333333 127.829333c0.554667 22.698667-15.232 41.344-36.266667 44.330667a590.72 590.72 0 0 0-129.365333 32.213333 42.581333 42.581333 0 0 1-44.8-9.429333l-54.186667-54.186667a42.666667 42.666667 0 0 0-51.285333-6.912 725.333333 725.333333 0 0 0-272 272 42.666667 42.666667 0 0 0 6.912 51.242667l54.016 54.016a42.666667 42.666667 0 0 1 9.557333 45.098667 589.525333 589.525333 0 0 0-32.128 128.853333A42.794667 42.794667 0 0 1 303.36 725.333333h-128a42.666667 42.666667 0 0 1-42.496-45.824 802.133333 802.133333 0 0 1 124.586667-351.573333 789.802667 789.802667 0 0 1 243.2-243.072 801.024 801.024 0 0 1 348.842666-124.288A42.666667 42.666667 0 0 1 896 3.413332999999966v128zM633.984 598.144a42.666667 42.666667 0 0 0 16.298667 83.712 256 256 0 0 0 202.24-202.24 42.666667 42.666667 0 1 0-83.712-16.298667 170.666667 170.666667 0 0 1-134.826667 134.826667z m3.413333 170.112a42.666667 42.666667 0 1 0 9.429334 84.821333 426.666667 426.666667 0 0 0 376.917333-376.405333 42.666667 42.666667 0 0 0-84.821333-9.557333 341.333333 341.333333 0 0 1-301.482667 301.141333z" horiz-adv-x="1024" />
<glyph glyph-name="phone-forwarded" unicode="&#59558;" d="M780.478569 499.510231a42.665422 42.665422 0 1 1 60.328907-60.328907l170.661689 170.661689a42.665422 42.665422 0 0 1 0 60.328907l-170.661689 170.661689a42.665422 42.665422 0 0 1-60.328907-60.328907L920.975805 640.007466l-140.497236-140.497235zM639.981334 597.342044h341.323378a42.665422 42.665422 0 0 1 0 85.330845h-341.323378a42.665422 42.665422 0 0 1 0-85.330845zM895.547213 129.174366a43.049411 43.049411 0 0 1-36.521601 44.45737 594.542659 594.542659 0 0 0-129.958876 32.34039 42.836084 42.836084 0 0 1-45.097352-9.471724l-54.441079-54.355748c-13.652935-13.652935-34.729654-16.468853-51.53983-6.954464a728.384089 728.384089 0 0 0-273.35736 272.888041 42.750753 42.750753 0 0 0 6.954464 51.454499l54.270417 54.185087c11.775657 11.903653 15.572879 29.524472 9.642385 45.225347-15.65821 41.897445-26.495227 85.37351-32.297724 129.27623-3.029245 21.332711-21.375377 37.033587-43.305404 36.820259H171.259005a42.921415 42.921415 0 0 1-42.708088-45.993325 803.859221 803.859221 0 0 1 125.180349-352.672381 793.107534 793.107534 0 0 1 244.47287-243.918219 805.949826 805.949826 0 0 1 350.581774-124.668363 42.921415 42.921415 0 0 1 46.718638 42.96408v128.422921zM981.304712 0.922106a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
<glyph glyph-name="phone-missed" unicode="&#59559;" d="M951.140258 840.833609l-255.992533-255.992534a42.665422 42.665422 0 1 1 60.328907-60.328907l255.992533 255.992534a42.665422 42.665422 0 1 1-60.328907 60.328907zM695.147725 780.504702l255.992533-255.992534a42.665422 42.665422 0 0 1 60.328907 60.328907l-255.992533 255.992534a42.665422 42.665422 0 0 1-60.328907-60.328907zM895.547213 129.174366a43.049411 43.049411 0 0 1-36.521601 44.45737 594.542659 594.542659 0 0 0-129.958876 32.34039 42.836084 42.836084 0 0 1-45.097352-9.471724l-54.441079-54.355748c-13.652935-13.652935-34.729654-16.468853-51.53983-6.954464a728.384089 728.384089 0 0 0-273.35736 272.888041 42.750753 42.750753 0 0 0 6.954464 51.454499l54.270417 54.185087c11.775657 11.903653 15.572879 29.524472 9.642385 45.225347-15.65821 41.897445-26.495227 85.37351-32.297724 129.27623-3.029245 21.332711-21.375377 37.033587-43.305404 36.820259H171.259005a42.921415 42.921415 0 0 1-42.708088-45.993325 803.859221 803.859221 0 0 1 125.180349-352.672381 793.107534 793.107534 0 0 1 244.47287-243.918219 805.949826 805.949826 0 0 1 350.581774-124.668363 42.921415 42.921415 0 0 1 46.718638 42.96408v128.422921zM981.304712 0.922106a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
<glyph glyph-name="phone-off" unicode="&#59560;" d="M485.596263 358.022711a42.644793 42.644793 0 1 1-60.299738-60.299738 724.961489 724.961489 0 0 1 154.502087-117.78492 42.644793 42.644793 0 0 1 51.216397 6.908457l54.158887 54.158888a42.559504 42.559504 0 0 0 44.819678 9.381854c41.791898-15.56535 85.119008-26.354482 129.256369-32.154174a42.559504 42.559504 0 0 0 36.290719-42.644793v-128.318184a42.730083 42.730083 0 0 0-46.482825-42.815373 800.613352 800.613352 0 0 0-348.663831 124.224284c-49.041512 31.130699-94.244994 67.378774-135.056061 108.232485a42.644793 42.644793 0 1 1-60.299738-60.299737 870.806682 870.806682 0 0 1 149.299422-119.703936 886.158808 886.158808 0 0 1 386.276539-137.316235A127.93438 127.93438 0 0 1 980.830249 47.44068V175.204481a127.806446 127.806446 0 0 1-110.023567 127.507933 505.895185 505.895185 0 0 0-110.876463 27.591181 127.93438 127.93438 0 0 1-134.885482-28.82788l-30.746896-30.746896a639.671902 639.671902 0 0 0-108.701578 87.293892z m-228.490803 14.371295a801.295669 801.295669 0 0 0-124.309573 349.431438A42.644793 42.644793 0 0 0 175.312746 767.540662H303.204481c21.834134 0.213224 40.086106-15.48006 43.071242-36.674522 5.757047-43.753558 16.54618-87.080668 32.111529-128.787276a42.644793 42.644793 0 0 0-9.552434-45.075547L314.84651 503.015009a42.644793 42.644793 0 0 1 60.299738-60.299738l54.158888 54.158887a128.01967 128.01967 0 0 1 28.998459 135.141351A504.70113 504.70113 0 0 0 430.712414 742.380234a128.01967 128.01967 0 0 1-127.934381 110.40737H175.270101a127.93438 127.93438 0 0 1-127.337353-139.448474 887.310217 887.310217 0 0 1 137.614748-387.385304 42.644793 42.644793 0 0 1 71.557964 46.397535zM950.68038 882.980118l-938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738-60.299738l938.185456 938.185456A42.644793 42.644793 0 1 1 950.68038 882.980118z" horiz-adv-x="1024" />
<glyph glyph-name="phone-incoming" unicode="&#59561;" d="M725.312178 768.003733a42.665422 42.665422 0 0 1-85.330844 0v-255.992533a42.665422 42.665422 0 0 1 42.665422-42.665423h255.992534a42.665422 42.665422 0 0 1 0 85.330845h-213.327112V768.003733zM951.140258 840.833609l-298.657955-298.657956a42.665422 42.665422 0 1 1 60.328907-60.328907l298.657955 298.657956a42.665422 42.665422 0 1 1-60.328907 60.328907zM895.547213 129.174366a43.049411 43.049411 0 0 1-36.521601 44.45737 594.542659 594.542659 0 0 0-129.958876 32.34039 42.836084 42.836084 0 0 1-45.097352-9.471724l-54.441079-54.355748c-13.652935-13.652935-34.729654-16.468853-51.53983-6.954464a728.384089 728.384089 0 0 0-273.35736 272.888041 42.750753 42.750753 0 0 0 6.954464 51.454499l54.270417 54.185087c11.775657 11.903653 15.572879 29.524472 9.642385 45.225347-15.65821 41.897445-26.495227 85.37351-32.297724 129.27623-3.029245 21.332711-21.375377 37.033587-43.305404 36.820259H171.259005a42.921415 42.921415 0 0 1-42.708088-45.993325 803.859221 803.859221 0 0 1 125.180349-352.672381 793.107534 793.107534 0 0 1 244.47287-243.918219 805.949826 805.949826 0 0 1 350.581774-124.668363 42.921415 42.921415 0 0 1 46.718638 42.96408v128.422921zM981.304712 0.922106a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
<glyph glyph-name="phone" unicode="&#59562;" d="M895.573333 171.818667a43.050667 43.050667 0 0 1-36.522666 44.458666 594.56 594.56 0 0 0-129.962667 32.341334 42.837333 42.837333 0 0 1-45.098667-9.472l-54.442666-54.357334c-13.653333-13.653333-34.730667-16.469333-51.541334-6.954666a728.405333 728.405333 0 0 0-273.365333 272.896 42.752 42.752 0 0 0 6.954667 51.456l54.272 54.186666c11.776 11.904 15.573333 29.525333 9.642666 45.226667-15.658667 41.898667-26.496 85.376-32.298666 129.28-3.029333 21.333333-21.376 37.034667-43.306667 36.821333H171.264a42.922667 42.922667 0 0 1-42.709333-45.994666 803.882667 803.882667 0 0 1 125.184-352.682667 793.130667 793.130667 0 0 1 244.48-243.925333 805.973333 805.973333 0 0 1 350.592-124.672 42.922667 42.922667 0 0 1 46.72 42.965333v128.426667zM981.333333 43.562667a128.341333 128.341333 0 0 0-41.685333-95.146667 129.194667 129.194667 0 0 0-99.328-33.194667 892.117333 892.117333 0 0 0-388.48 137.813334 877.909333 877.909333 0 0 0-270.293333 269.738666 889.6 889.6 0 0 0-138.368 390.570667 128.298667 128.298667 0 0 0 33.109333 98.133333A128.768 128.768 0 0 0 171.221333 853.333333H299.52a128.682667 128.682667 0 0 0 128.682667-110.848c5.034667-37.888 14.293333-75.093333 27.648-110.805333 17.664-46.933333 6.4-99.84-29.098667-135.68l-30.762667-30.72a642.688 642.688 0 0 1 196.693334-196.266667l30.890666 30.848a128.768 128.768 0 0 0 135.637334 28.928c35.84-13.354667 73.130667-22.613333 111.488-27.690666a128.512 128.512 0 0 0 110.634666-129.749334v-127.786666z" horiz-adv-x="1024" />
<glyph glyph-name="phone-outgoing" unicode="&#59563;" d="M938.63929 768.003733v-213.327111a42.665422 42.665422 0 0 1 85.330844 0V810.669155a42.665422 42.665422 0 0 1-42.665422 42.665423h-255.992534a42.665422 42.665422 0 0 1 0-85.330845h213.327112zM712.81121 481.846746l298.657955 298.657956a42.665422 42.665422 0 1 1-60.328907 60.328907l-298.657955-298.657956a42.665422 42.665422 0 1 1 60.328907-60.328907zM895.973867 131.435633c0.55465 22.698005-15.231556 41.342794-36.265608 44.329374a590.702771 590.702771 0 0 0-129.361561 32.212394 42.580091 42.580091 0 0 1-44.798693-9.429059l-54.185086-54.185086a42.665422 42.665422 0 0 0-51.283838-6.911798 725.312178 725.312178 0 0 0-271.992067 271.992067 42.665422 42.665422 0 0 0 6.911799 51.241172l54.014424 54.014424a42.665422 42.665422 0 0 1 9.557055 45.097352 589.508139 589.508139 0 0 0-32.127063 128.849575A42.793419 42.793419 0 0 1 303.351152 725.338311h-127.996267a42.665422 42.665422 0 0 1-42.49476-45.822664 802.109938 802.109938 0 0 1 124.583033-351.563079 789.779631 789.779631 0 0 1 243.192907-243.064911 801.000637 801.000637 0 0 1 348.832492-124.284375A42.665422 42.665422 0 0 1 895.973867 3.439366v127.996267z m85.330845-130.513527a128.33759 128.33759 0 0 0-41.684118-95.143891 129.190899 129.190899 0 0 0-99.325103-33.193699 892.091314 892.091314 0 0 0-388.468669 137.809314 877.883728 877.883728 0 0 0-270.28545 269.7308 889.574054 889.574054 0 0 0-138.363965 390.559275 128.294925 128.294925 0 0 0 33.108368 98.130471A128.764244 128.764244 0 0 0 171.21634 810.669155H299.511264a128.678914 128.678914 0 0 0 128.678914-110.844767c5.03452-37.886895 14.292916-75.091143 27.647193-110.802101 17.663485-46.931964 6.399813-99.837088-29.097818-135.676043l-30.761769-30.719104a642.669255 642.669255 0 0 1 196.687597-196.260942l30.889765 30.8471a128.764244 128.764244 0 0 0 135.633378 28.927156c35.838955-13.354277 73.128534-22.612674 111.484748-27.689859a128.508252 128.508252 0 0 0 110.63144-129.745549v-127.78294z" horiz-adv-x="1024" />
<glyph glyph-name="pie-chart" unicode="&#59564;" d="M865.664 234.666667A384 384 0 1 0 358.4 736.085333a42.666667 42.666667 0 0 1-34.133333 78.250667A469.333333 469.333333 0 1 1 944.256 201.386667a42.666667 42.666667 0 0 1-78.592 33.194666zM981.333333 384a42.666667 42.666667 0 0 0-42.666666-42.666667H512a42.666667 42.666667 0 0 0-42.666667 42.666667V810.666667a42.666667 42.666667 0 0 0 42.666667 42.666666 469.333333 469.333333 0 0 0 469.333333-469.333333z m-197.802666 271.530667A384 384 0 0 1 554.666667 765.610667V426.666667h338.944a384 384 0 0 1-110.08 228.864z" horiz-adv-x="1024" />
<glyph glyph-name="play-circle" unicode="&#59565;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 293.077333L605.738667 384 469.333333 474.922667v-181.845334z m-18.986666 297.088l256-170.666666a42.666667 42.666667 0 0 0 0-70.997334l-256-170.666666A42.666667 42.666667 0 0 0 384 213.333333V554.666667a42.666667 42.666667 0 0 0 66.346667 35.498666z" horiz-adv-x="1024" />
<glyph glyph-name="play" unicode="&#59566;" d="M256 78.165333L731.733333 384 256 689.834667v-611.669334z m-19.626667 725.76l597.333334-384a42.666667 42.666667 0 0 0 0-71.808l-597.333334-384A42.666667 42.666667 0 0 0 170.666667 0V768a42.666667 42.666667 0 0 0 65.706666 35.882667z" horiz-adv-x="1024" />
<glyph glyph-name="plus-square" unicode="&#59567;" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM469.333333 554.666667v-341.333334a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="plus-circle" unicode="&#59568;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM469.333333 554.666667v-341.333334a42.666667 42.666667 0 0 1 85.333334 0V554.666667a42.666667 42.666667 0 0 1-85.333334 0zM341.333333 341.333333h341.333334a42.666667 42.666667 0 0 1 0 85.333334H341.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="plus" unicode="&#59569;" d="M469.333333 682.666667v-597.333334a42.666667 42.666667 0 0 1 85.333334 0V682.666667a42.666667 42.666667 0 0 1-85.333334 0zM213.333333 341.333333h597.333334a42.666667 42.666667 0 0 1 0 85.333334H213.333333a42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="pocket" unicode="&#59570;" d="M128 682.666667v-256a384 384 0 1 1 768 0V682.666667a42.666667 42.666667 0 0 1-42.666667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666z m725.333333 128a128 128 0 0 0 128-128v-256c0-259.2-210.133333-469.333333-469.333333-469.333334A469.333333 469.333333 0 0 0 42.666667 426.666667V682.666667a128 128 0 0 0 128 128h682.666666zM371.498667 499.498667a42.666667 42.666667 0 1 1-60.330667-60.330667l170.666667-170.666667a42.666667 42.666667 0 0 1 60.330666 0l170.666667 170.666667a42.666667 42.666667 0 1 1-60.330667 60.330667L512 358.997333 371.498667 499.498667z" horiz-adv-x="1024" />
<glyph glyph-name="printer" unicode="&#59571;" d="M298.666667 554.666667h426.666666V768H298.666667v-213.333333zM213.333333 554.666667V810.666667a42.666667 42.666667 0 0 0 42.666667 42.666666h512a42.666667 42.666667 0 0 0 42.666667-42.666666v-256h42.666666a128 128 0 0 0 128-128v-213.333334a128 128 0 0 0-128-128h-85.333333a42.666667 42.666667 0 0 0 0 85.333334h85.333333a42.666667 42.666667 0 0 1 42.666667 42.666666v213.333334a42.666667 42.666667 0 0 1-42.666667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-213.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h85.333333a42.666667 42.666667 0 0 0 0-85.333334H170.666667a128 128 0 0 0-128 128v213.333334a128 128 0 0 0 128 128h42.666666zM298.666667 0h426.666666v256H298.666667v-256z m-42.666667 341.333333h512a42.666667 42.666667 0 0 0 42.666667-42.666666v-341.333334a42.666667 42.666667 0 0 0-42.666667-42.666666H256a42.666667 42.666667 0 0 0-42.666667 42.666666v341.333334a42.666667 42.666667 0 0 0 42.666667 42.666666z" horiz-adv-x="1024" />
<glyph glyph-name="power" unicode="&#59572;" d="M753.408 582.528a341.333333 341.333333 0 1 0-482.816 0 42.666667 42.666667 0 1 1-60.330667 60.330667c-166.613333-166.656-166.570667-436.778667 0.042667-603.349334 166.613333-166.613333 436.778667-166.613333 603.392 0 166.613333 166.570667 166.656 436.693333 0.042667 603.349334a42.666667 42.666667 0 1 1-60.330667-60.330667zM469.333333 810.666667v-426.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="radio" unicode="&#59573;" d="M512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM662.741333 534.741333a213.333333 213.333333 0 0 0 0-301.866666 42.666667 42.666667 0 1 1 60.330667-60.373334 298.666667 298.666667 0 0 1 0 422.613334 42.666667 42.666667 0 1 1-60.330667-60.373334z m-301.482666-301.482666a213.333333 213.333333 0 0 0 0 301.866666 42.666667 42.666667 0 0 1-60.330667 60.373334 298.666667 298.666667 0 0 1 0-422.613334 42.666667 42.666667 0 1 1 60.330667 60.373334z m422.229333 422.229333a384 384 0 0 0 0-542.976 42.666667 42.666667 0 1 1 60.330667-60.330667c183.210667 183.253333 183.210667 480.384 0 663.637334a42.666667 42.666667 0 1 1-60.330667-60.330667zM240.512 112.512a384 384 0 0 0 0 542.976 42.666667 42.666667 0 0 1-60.330667 60.330667c-183.210667-183.253333-183.210667-480.384 0-663.637334a42.666667 42.666667 0 1 1 60.330667 60.330667z" horiz-adv-x="1024" />
<glyph glyph-name="repeat" unicode="&#59574;" d="M695.074022 542.346875a42.644776 42.644776 0 1 1 60.299713-60.299713l170.579103 170.579103a42.644776 42.644776 0 0 1 0 60.299713l-170.579103 170.579103a42.644776 42.644776 0 0 1-60.299713-60.299713L835.503268 682.776122l-140.429246-140.429247zM170.841795 426.907468V512.197019a127.934327 127.934327 0 0 0 127.934327 127.934327h597.026859a42.644776 42.644776 0 0 1 0 85.289551H298.776122a213.223878 213.223878 0 0 1-213.223879-213.223878v-85.289551a42.644776 42.644776 0 0 1 85.289552 0zM328.925978 226.178508a42.644776 42.644776 0 0 1-60.299713 60.299713l-170.579103-170.579103a42.644776 42.644776 0 0 1 0-60.299712l170.579103-170.579103a42.644776 42.644776 0 1 1 60.299713 60.299713L188.496732 85.749262l140.429246 140.429246zM853.158205 341.617916v-85.289551a127.934327 127.934327 0 0 0-127.934327-127.934327H128.197019a42.644776 42.644776 0 0 1 0-85.289552h597.026859a213.223878 213.223878 0 0 1 213.223879 213.223879v85.289551a42.644776 42.644776 0 0 1-85.289552 0z" horiz-adv-x="1024" />
<glyph glyph-name="refresh-ccw" unicode="&#59575;" d="M85.378987 725.333333a42.666667 42.666667 0 1 1-85.333334 0v-256a42.666667 42.666667 0 0 1 42.666667-42.666666h256a42.666667 42.666667 0 0 1 0 85.333333H85.378987V725.333333zM938.71232 42.666667a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-42.666666 42.666666h-256a42.666667 42.666667 0 0 1 0-85.333333h213.333333v-213.333333zM914.52032 526.250667a426.666667 426.666667 0 0 1-704 159.274666L13.485653 500.437333a42.666667 42.666667 0 0 1 58.453334-62.208l197.973333 186.026667a341.973333 341.973333 0 0 0 317.696 92.586667 341.333333 341.333333 0 0 0 246.442667-219.093334 42.666667 42.666667 0 0 1 80.469333 28.501334z m37.632-196.48l-197.973333-186.026667a341.973333 341.973333 0 0 0-317.696-92.586667 341.333333 341.333333 0 0 0-246.442667 219.093334 42.666667 42.666667 0 0 1-80.469333-28.501334 426.666667 426.666667 0 0 1 704-159.274666l197.034666 185.088a42.666667 42.666667 0 0 1-58.453333 62.208z" horiz-adv-x="1024" />
<glyph glyph-name="rewind" unicode="&#59576;" d="M426.666667 595.413333L154.837333 384 426.666667 172.586667v422.826666z m16.469333-543.744l-384 298.666667a42.666667 42.666667 0 0 0 0 67.328l384 298.666667A42.666667 42.666667 0 0 0 512 682.666667v-597.333334a42.666667 42.666667 0 0 0-68.864-33.706666zM896 172.586667v422.826666L624.170667 384 896 172.586667z m16.469333-120.917334l-384 298.666667a42.666667 42.666667 0 0 0 0 67.328l384 298.666667A42.666667 42.666667 0 0 0 981.333333 682.666667v-597.333334a42.666667 42.666667 0 0 0-68.864-33.706666z" horiz-adv-x="1024" />
<glyph glyph-name="rotate-ccw" unicode="&#59577;" d="M128 725.333333a42.666667 42.666667 0 1 1-85.333333 0v-256a42.666667 42.666667 0 0 1 42.666666-42.666666h256a42.666667 42.666667 0 0 1 0 85.333333H128V725.333333zM152.192 242.218667a426.666667 426.666667 0 1 1 100.949333 443.733333l-197.034666-185.173333a42.666667 42.666667 0 1 1 58.453333-62.165334l197.973333 186.026667a341.76 341.76 0 0 0 407.210667 58.069333 341.333333 341.333333 0 1 0-487.082667-412.16 42.666667 42.666667 0 1 1-80.469333-28.330666z" horiz-adv-x="1024" />
<glyph glyph-name="refresh-cw" unicode="&#59578;" d="M725.378987 512a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 42.666666 42.666666V725.333333a42.666667 42.666667 0 0 1-85.333333 0v-213.333333h-213.333333zM85.378987 256h213.333333a42.666667 42.666667 0 0 1 0 85.333333H42.71232a42.666667 42.666667 0 0 1-42.666667-42.666666v-256a42.666667 42.666667 0 0 1 85.333334 0v213.333333zM190.04032 497.749333a341.333333 341.333333 0 0 0 563.2 127.445334l198.912-186.965334a42.666667 42.666667 0 0 1 58.453333 62.208l-197.973333 186.026667A426.026667 426.026667 0 0 1 417.666987 800a426.666667 426.666667 0 0 1-308.053334-273.792 42.666667 42.666667 0 0 1 80.426667-28.501333zM13.485653 267.562667l197.973334-186.026667a426.026667 426.026667 0 0 1 394.965333-113.578667 426.666667 426.666667 0 0 1 308.053333 273.792 42.666667 42.666667 0 0 1-80.426666 28.501334 341.333333 341.333333 0 0 0-563.2-127.445334l-198.912 186.965334a42.666667 42.666667 0 0 1-58.453334-62.208z" horiz-adv-x="1024" />
<glyph glyph-name="rotate-cw" unicode="&#59579;" d="M682.666667 512a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 42.666666 42.666666V725.333333a42.666667 42.666667 0 0 1-85.333333 0v-213.333333h-213.333333zM791.338667 270.208a341.333333 341.333333 0 1 0-80.384 354.986667l198.442666-186.922667a42.666667 42.666667 0 0 1 58.538667 62.122667l-197.546667 186.026666c-133.418667 133.546667-340.48 162.901333-506.88 71.125334a426.666667 426.666667 0 1 1 608.298667-515.754667 42.666667 42.666667 0 1 1-80.469333 28.416z" horiz-adv-x="1024" />
<glyph glyph-name="save" unicode="&#59580;" d="M341.333333 725.333333v-128h298.666667a42.666667 42.666667 0 0 0 0-85.333333H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V725.333333H213.333333a42.666667 42.666667 0 0 1-42.666666-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666666-42.666666h42.666667v298.666666a42.666667 42.666667 0 0 0 42.666667 42.666667h426.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-298.666666h42.666667a42.666667 42.666667 0 0 1 42.666666 42.666666V537.002667L665.002667 725.333333H341.333333z m341.333334-682.666666v256H341.333333v-256h341.333334z m128-85.333334H213.333333a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h469.333334a42.666667 42.666667 0 0 0 30.165333-12.501334l213.333333-213.333333A42.666667 42.666667 0 0 0 938.666667 554.666667v-469.333334a128 128 0 0 0-128-128z" horiz-adv-x="1024" />
<glyph glyph-name="search" unicode="&#59581;" d="M732.842667 223.48800000000006l193.322666-193.28a42.666667 42.666667 0 0 0-60.330666-60.373333l-193.322667 193.322666a362.666667 362.666667 0 1 0 60.330667 60.330667zM448 170.66666699999996a277.333333 277.333333 0 1 1 0 554.666666 277.333333 277.333333 0 0 1 0-554.666666z" horiz-adv-x="1024" />
<glyph glyph-name="server" unicode="&#59582;" d="M128 725.418667v-170.837334A42.24 42.24 0 0 1 170.24 512h683.52c23.125333 0 42.24 19.157333 42.24 42.581333V725.418667A42.24 42.24 0 0 1 853.76 768H170.24a42.624 42.624 0 0 1-42.24-42.581333z m-85.333333 0A127.957333 127.957333 0 0 0 170.24 853.333333h683.52A127.573333 127.573333 0 0 0 981.333333 725.418667v-170.837334A127.957333 127.957333 0 0 0 853.76 426.666667H170.24A127.573333 127.573333 0 0 0 42.666667 554.581333V725.418667zM128 213.418667v-170.837334a42.24 42.24 0 0 1 42.24-42.581333h683.52c23.125333 0 42.24 19.157333 42.24 42.581333v170.837334a42.24 42.24 0 0 1-42.24 42.581333H170.24a42.624 42.624 0 0 1-42.24-42.581333z m-85.333333 0A127.957333 127.957333 0 0 0 170.24 341.333333h683.52A127.573333 127.573333 0 0 0 981.333333 213.418667v-170.837334A127.957333 127.957333 0 0 0 853.76-85.333333H170.24A127.573333 127.573333 0 0 0 42.666667 42.581333v170.837334zM298.666667 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0ZM298.666667 640m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
<glyph glyph-name="scissors" unicode="&#59583;" d="M298.666667 469.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM298.666667-42.66666699999996a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM494.336 384L358.954667 519.381333a42.666667 42.666667 0 0 0 60.330666 60.330667L554.666667 444.330667l311.168 311.168a42.666667 42.666667 0 0 0 60.330666-60.330667l-506.88-506.88a42.666667 42.666667 0 1 0-60.330666 60.330667L494.336 384z m135.594667-136.021333a42.666667 42.666667 0 0 0 60.245333 60.416l235.946667-235.52a42.666667 42.666667 0 0 0-60.245334-60.416l-235.946666 235.52z" horiz-adv-x="1024" />
<glyph glyph-name="share-" unicode="&#59584;" d="M768 512a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667zM256 213.33333300000004a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM768-85.33333300000004a170.666667 170.666667 0 1 0 0 341.333333 170.666667 170.666667 0 0 0 0-341.333333z m0 85.333333a85.333333 85.333333 0 1 1 0 170.666667 85.333333 85.333333 0 0 1 0-170.666667zM345.045333 282.709333a42.666667 42.666667 0 1 0 42.922667 73.728l291.413333-169.813333a42.666667 42.666667 0 1 0-42.922666-73.728l-291.413334 169.813333z m290.944 372.394667a42.666667 42.666667 0 1 0 43.008-73.728l-290.986666-169.813333a42.666667 42.666667 0 1 0-43.008 73.728l290.986666 169.813333z" horiz-adv-x="1024" />
<glyph glyph-name="share" unicode="&#59585;" d="M128 384v-341.333333a128 128 0 0 1 128-128h512a128 128 0 0 1 128 128v341.333333a42.666667 42.666667 0 0 1-85.333333 0v-341.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H256a42.666667 42.666667 0 0 0-42.666667 42.666667v341.333333a42.666667 42.666667 0 0 1-85.333333 0zM652.501333 609.834667a42.666667 42.666667 0 0 1 60.330667 60.330666l-170.666667 170.666667a42.666667 42.666667 0 0 1-60.330666 0l-170.666667-170.666667a42.666667 42.666667 0 0 1 60.330667-60.330666L512 750.336l140.501333-140.501333zM469.333333 810.666667v-554.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="shield" unicode="&#59586;" d="M531.072-80.810667a42.666667 42.666667 0 0 0-38.144 0 738.56 738.56 0 0 0-56.874667 32.64 958.506667 958.506667 0 0 0-122.837333 90.709334C198.229333 143.232 128 257.322667 128 384V725.333333a42.666667 42.666667 0 0 0 32.298667 41.386667l341.333333 85.333333a42.666667 42.666667 0 0 0 20.736 0l341.333333-85.333333A42.666667 42.666667 0 0 0 896 725.333333v-341.333333c0-126.72-70.229333-240.810667-185.216-341.461333a958.506667 958.506667 0 0 0-122.837333-90.709334 738.56 738.56 0 0 0-56.874667-32.64z m11.648 104.96a874.24 874.24 0 0 1 111.829333 82.645334C752.896 192.810667 810.666667 286.677333 810.666667 384V692.053333l-298.666667 74.666667-298.666667-74.666667V384c0-97.28 57.770667-191.189333 156.117334-277.205333A874.24 874.24 0 0 1 512 5.845333c9.429333 5.376 19.754667 11.477333 30.72 18.346667z" horiz-adv-x="1024" />
<glyph glyph-name="settings" unicode="&#59587;" d="M512 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM272.768 680.234667l-2.56 2.56a42.666667 42.666667 0 1 1-60.416-60.416l2.901333-2.901334c32.298667-33.024 41.258667-82.432 23.637334-122.197333A113.365333 113.365333 0 0 0 131.84 423.253333H128a42.666667 42.666667 0 0 1 0-85.333333h7.424a112.896 112.896 0 0 0 103.253333-68.096 113.237333 113.237333 0 0 0-22.912-125.056l-2.56-2.56a42.666667 42.666667 0 1 1 60.416-60.416l2.901334 2.901333c33.024 32.298667 82.432 41.258667 122.197333 23.637334a113.365333 113.365333 0 0 0 74.026667-104.490667V0a42.666667 42.666667 0 0 1 85.333333 0v7.424a112.896 112.896 0 0 0 68.096 103.253333 113.237333 113.237333 0 0 0 125.056-22.912l2.56-2.56a42.666667 42.666667 0 1 1 60.416 60.416l-2.901333 2.901334a113.066667 113.066667 0 0 0-22.613334 124.714666A112.981333 112.981333 0 0 0 892.16 341.333333H896a42.666667 42.666667 0 0 1 0 85.333334h-7.424a113.066667 113.066667 0 0 0-103.466667 68.522666l-3.456 8.064v4.266667a113.28 113.28 0 0 0 26.581334 115.712l2.56 2.56a42.666667 42.666667 0 1 1-60.416 60.416l-2.901334-2.901333a112.896 112.896 0 0 0-124.288-22.784A113.109333 113.109333 0 0 0 554.666667 764.16V768a42.666667 42.666667 0 0 1-85.333334 0v-7.424a113.066667 113.066667 0 0 0-68.522666-103.466667l-8.064-3.456h-4.266667a113.28 113.28 0 0 0-115.712 26.581334zM888.746667 512H896a128 128 0 0 0 0-256h-3.669333a27.733333 27.733333 0 0 1-25.386667-16.810667 27.733333 27.733333 0 0 1 5.034667-30.677333l2.56-2.56a128 128 0 1 0-181.077334-181.077333l-2.218666 2.218666a27.904 27.904 0 0 1-31.018667 5.376 27.690667 27.690667 0 0 1-16.810667-25.216V0a128 128 0 0 0-256 0 29.781333 29.781333 0 0 1-20.650666 29.226667 27.605333 27.605333 0 0 1-30.250667-5.205334l-2.56-2.56a128 128 0 1 0-181.077333 181.077334l2.218666 2.218666a27.904 27.904 0 0 1 5.376 31.018667 27.690667 27.690667 0 0 1-25.216 16.810667H128a128 128 0 0 0 0 256 29.781333 29.781333 0 0 1 29.226667 20.650666 27.605333 27.605333 0 0 1-5.205334 30.250667l-2.56 2.56a128 128 0 1 0 181.077334 181.077333l2.218666-2.218666a27.733333 27.733333 0 0 1 30.592-5.546667l8.234667 3.626667A25.258667 25.258667 0 0 1 384 760.746667V768a128 128 0 0 0 256 0v-3.669333c0.042667-11.093333 6.656-21.034667 17.237333-25.6a27.605333 27.605333 0 0 1 30.250667 5.248l2.56 2.56a128 128 0 1 0 181.077333-181.077334l-2.218666-2.218666a27.733333 27.733333 0 0 1-5.546667-30.592l3.626667-8.234667c5.12-8.277333 13.184-12.373333 21.76-12.416z" horiz-adv-x="1024" />
<glyph glyph-name="skip-back" unicode="&#59588;" d="M768 636.586667L452.266667 384l315.733333-252.586667V636.586667z m16-627.2l-426.666667 341.333333a42.666667 42.666667 0 0 0 0 66.56l426.666667 341.333333A42.666667 42.666667 0 0 0 853.333333 725.333333v-682.666666a42.666667 42.666667 0 0 0-69.333333-33.28zM256 85.333333V682.666667a42.666667 42.666667 0 1 1-85.333333 0v-597.333334a42.666667 42.666667 0 0 1 85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="shuffle" unicode="&#59589;" d="M853.333333 554.666667a42.666667 42.666667 0 0 1 85.333334 0V768a42.666667 42.666667 0 0 1-42.666667 42.666667h-213.333333a42.666667 42.666667 0 0 1 0-85.333334h170.666666v-170.666666zM200.832 12.501333l725.333333 725.333334a42.666667 42.666667 0 1 1-60.330666 60.330666l-725.333334-725.333333a42.666667 42.666667 0 0 1 60.330667-60.330667zM682.666667 42.666667a42.666667 42.666667 0 0 1 0-85.333334h213.333333a42.666667 42.666667 0 0 1 42.666667 42.666667v213.333333a42.666667 42.666667 0 0 1-85.333334 0v-170.666666h-170.666666zM609.834667 225.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666zM140.501333 695.168l213.333334-213.333333a42.666667 42.666667 0 1 1 60.330666 60.330666l-213.333333 213.333334a42.666667 42.666667 0 0 1-60.330667-60.330667z" horiz-adv-x="1024" />
<glyph glyph-name="sidebar" unicode="&#59590;" d="M85.333333 682.88A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.66666699999996H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM341.333333 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333H341.333333V725.333333z m85.333334 0v-682.666666h384.213333c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H426.666667z" horiz-adv-x="1024" />
<glyph glyph-name="skip-forward" unicode="&#59591;" d="M256 131.413333L571.733333 384 256 636.586667v-505.173334z m-16 627.2l426.666667-341.333333a42.666667 42.666667 0 0 0 0-66.56l-426.666667-341.333333A42.666667 42.666667 0 0 0 170.666667 42.666667V725.333333a42.666667 42.666667 0 0 0 69.333333 33.28zM768 682.666667v-597.333334a42.666667 42.666667 0 0 1 85.333333 0V682.666667a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="slack" unicode="&#59592;" d="M983.271856 524.026176c103.487213-343.691869 14.332936-507.582171-330.937263-611.495959C308.514752-190.956996 144.539135-101.845377 40.540031 243.339506-62.947182 587.074033 26.207095 750.964335 371.477293 854.920781 716.320916 958.706596 879.614012 870.405471 983.271856 524.026176z m-81.817179-24.52809C811.361935 800.788351 695.632005 863.324318 396.090699 773.14626 95.781557 682.754914 32.477754 566.342464 122.357209 267.952912c90.434003-300.223827 206.889111-363.527629 505.363979-273.690832 300.309142 90.434003 363.612944 206.803796 273.733489 505.236006zM495.866705 626.61758l152.714024-443.638505a42.657549 42.657549 0 0 1 80.708082 27.727406l-152.714024 443.638506a42.657549 42.657549 0 0 1-80.708082-27.727407zM294.523076 557.512352l152.714024-443.638506a42.657549 42.657549 0 0 1 80.708082 27.727407l-152.714024 443.638505a42.657549 42.657549 0 0 1-80.708082-27.727406zM685.308879 601.492284l-443.638506-152.714024a42.657549 42.657549 0 0 1 27.727407-80.708082l443.638505 152.714024a42.657549 42.657549 0 0 1-27.727406 80.708082zM754.414107 400.148655l-443.638505-152.714024a42.657549 42.657549 0 0 1 27.727406-80.708082l443.638506 152.714024a42.657549 42.657549 0 0 1-27.727407 80.708082z" horiz-adv-x="1024" />
<glyph glyph-name="slash" unicode="&#59593;" d="M512-85.33333300000004C252.8-85.33333300000004 42.666667 124.79999999999995 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m239.701333 169.301333L211.968 623.701333a384 384 0 0 1 539.733333-539.733333zM272.298667 684.032l539.733333-539.733333a384 384 0 0 1-539.733333 539.733333z" horiz-adv-x="1024" />
<glyph glyph-name="smartphone" unicode="&#59594;" d="M256 725.76v-683.52c0-23.04 19.285333-42.24 42.922667-42.24h426.154666A42.581333 42.581333 0 0 1 768 42.24V725.76c0 23.04-19.285333 42.24-42.922667 42.24H298.922667A42.581333 42.581333 0 0 1 256 725.76z m-85.333333 0A127.914667 127.914667 0 0 0 298.922667 853.333333h426.154666A128.128 128.128 0 0 0 853.333333 725.76v-683.52A127.914667 127.914667 0 0 0 725.077333-85.333333H298.922667A128.128 128.128 0 0 0 170.666667 42.24V725.76zM512 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
<glyph glyph-name="square" unicode="&#59595;" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88z" horiz-adv-x="1024" />
<glyph glyph-name="speaker" unicode="&#59596;" d="M213.333333 725.76v-683.52c0-23.125333 19.114667-42.24 42.410667-42.24h512.512a42.410667 42.410667 0 0 1 42.410667 42.24V725.76a42.538667 42.538667 0 0 1-42.410667 42.24H255.744A42.410667 42.410667 0 0 1 213.333333 725.76z m-85.333333 0A127.744 127.744 0 0 0 255.744 853.333333h512.512A127.872 127.872 0 0 0 896 725.76v-683.52A127.744 127.744 0 0 0 768.256-85.333333H255.744A127.872 127.872 0 0 0 128 42.24V725.76zM512 640m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0ZM512 85.333333a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333334a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
<glyph glyph-name="star" unicode="&#59597;" d="M418.432 525.056a42.666667 42.666667 0 0 0-32.085333-23.338667l-209.365334-30.549333 151.466667-147.370667c10.069333-9.770667 14.634667-23.893333 12.288-37.717333l-35.754667-208.085333 187.178667 98.304a42.666667 42.666667 0 0 0 39.68 0l187.178667-98.304-35.754667 208.085333a42.581333 42.581333 0 0 0 12.288 37.717333l151.466667 147.370667-209.365334 30.549333a42.666667 42.666667 0 0 0-32.085333 23.338667L512 714.410667 418.432 525.056z m55.296 304.512a42.666667 42.666667 0 0 0 76.544 0l121.898667-246.741333 272.64-39.808a42.624 42.624 0 0 0 23.637333-72.704l-197.248-191.914667 46.506667-271.146667a42.666667 42.666667 0 0 0-61.866667-44.928L512 90.410667l-243.84-128.085334a42.666667 42.666667 0 0 0-61.866667 44.928l46.506667 271.146667-197.248 191.914667a42.624 42.624 0 0 0 23.594667 72.704l272.64 39.808 121.941333 246.741333z" horiz-adv-x="1024" />
<glyph glyph-name="stop-circle" unicode="&#59598;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM426.666667 469.333333v-170.666666h170.666666v170.666666h-170.666666zM384 554.666667h256a42.666667 42.666667 0 0 0 42.666667-42.666667v-256a42.666667 42.666667 0 0 0-42.666667-42.666667H384a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="sun" unicode="&#59599;" d="M512 128a256 256 0 1 0 0 512 256 256 0 0 0 0-512z m0 85.333333a170.666667 170.666667 0 1 1 0 341.333334 170.666667 170.666667 0 0 1 0-341.333334zM469.333333 853.333333v-85.333333a42.666667 42.666667 0 0 1 85.333334 0V853.333333a42.666667 42.666667 0 0 1-85.333334 0zM469.333333 0v-85.333333a42.666667 42.666667 0 0 1 85.333334 0v85.333333a42.666667 42.666667 0 0 1-85.333334 0zM149.888 685.781333l60.586667-60.586666a42.666667 42.666667 0 0 1 60.330666 60.330666l-60.586666 60.586667a42.666667 42.666667 0 0 1-60.330667-60.330667zM753.194667 82.474667l60.586666-60.586667a42.666667 42.666667 0 0 1 60.330667 60.330667l-60.586667 60.586666a42.666667 42.666667 0 0 1-60.330666-60.330666zM42.666667 341.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334H42.666667a42.666667 42.666667 0 0 1 0-85.333334zM896 341.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM210.218667 21.888l60.586666 60.586667a42.666667 42.666667 0 0 1-60.330666 60.330666l-60.586667-60.586666a42.666667 42.666667 0 0 1 60.330667-60.330667zM813.525333 625.194667l60.586667 60.586666a42.666667 42.666667 0 1 1-60.330667 60.330667l-60.586666-60.586667a42.666667 42.666667 0 1 1 60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="sunrise" unicode="&#59600;" d="M768 128a256 256 0 1 1-512 0 42.666667 42.666667 0 0 1 85.333333 0 170.666667 170.666667 0 1 0 341.333334 0 42.666667 42.666667 0 0 1 85.333333 0zM469.333333 810.666667v-298.666667a42.666667 42.666667 0 0 1 85.333334 0V810.666667a42.666667 42.666667 0 0 1-85.333334 0zM149.888 429.781333l60.586667-60.586666a42.666667 42.666667 0 1 1 60.330666 60.330666l-60.586666 60.586667a42.666667 42.666667 0 1 1-60.330667-60.330667zM42.666667 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334H42.666667a42.666667 42.666667 0 0 1 0-85.333334zM896 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM813.525333 369.194667l60.586667 60.586666a42.666667 42.666667 0 1 1-60.330667 60.330667l-60.586666-60.586667a42.666667 42.666667 0 0 1 60.330666-60.330666zM981.333333 0H42.666667a42.666667 42.666667 0 0 1 0-85.333333h938.666666a42.666667 42.666667 0 0 1 0 85.333333zM652.501333 609.834667a42.666667 42.666667 0 0 1 60.330667 60.330666l-170.666667 170.666667a42.666667 42.666667 0 0 1-60.330666 0l-170.666667-170.666667a42.666667 42.666667 0 0 1 60.330667-60.330666L512 750.336l140.501333-140.501333z" horiz-adv-x="1024" />
<glyph glyph-name="tablet" unicode="&#59601;" d="M810.666667 42.24V725.76a42.538667 42.538667 0 0 1-42.410667 42.24H255.744A42.410667 42.410667 0 0 1 213.333333 725.76v-683.52c0-23.125333 19.114667-42.24 42.410667-42.24h512.512a42.410667 42.410667 0 0 1 42.410667 42.24z m85.333333 0A127.744 127.744 0 0 0 768.256-85.333333H255.744A127.872 127.872 0 0 0 128 42.24V725.76A127.744 127.744 0 0 0 255.744 853.333333h512.512A127.872 127.872 0 0 0 896 725.76v-683.52zM512 128m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
<glyph glyph-name="tag" unicode="&#59602;" d="M841.813333 417.536l-351.146666 351.146667H127.317333V405.333333l351.146667-350.72a42.325333 42.325333 0 0 1 59.904 0l303.36 303.36a42.282667 42.282667 0 0 1 0.085333 59.562667z m59.946667-119.253333l-303.530667-303.488a126.976 126.976 0 0 0-179.626666-0.042667l-363.52 363.093333A42.325333 42.325333 0 0 0 42.666667 387.84V811.093333C42.666667 834.346667 61.610667 853.333333 84.992 853.333333h423.210667c11.221333 0 21.973333-4.48 29.909333-12.373333l363.648-363.648a126.976 126.976 0 0 0 0-179.029333zM298.666667 597.333333m-42.666667 0a42.666667 42.666667 0 1 1 85.333333 0 42.666667 42.666667 0 1 1-85.333333 0Z" horiz-adv-x="1024" />
<glyph glyph-name="sunset" unicode="&#59603;" d="M768 128a256 256 0 1 1-512 0 42.666667 42.666667 0 0 1 85.333333 0 170.666667 170.666667 0 1 0 341.333334 0 42.666667 42.666667 0 0 1 85.333333 0zM554.666667 512V810.666667a42.666667 42.666667 0 0 1-85.333334 0v-298.666667a42.666667 42.666667 0 0 1 85.333334 0zM149.888 429.781333l60.586667-60.586666a42.666667 42.666667 0 1 1 60.330666 60.330666l-60.586666 60.586667a42.666667 42.666667 0 1 1-60.330667-60.330667zM42.666667 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334H42.666667a42.666667 42.666667 0 0 1 0-85.333334zM896 85.333333h85.333333a42.666667 42.666667 0 0 1 0 85.333334h-85.333333a42.666667 42.666667 0 0 1 0-85.333334zM813.525333 369.194667l60.586667 60.586666a42.666667 42.666667 0 1 1-60.330667 60.330667l-60.586666-60.586667a42.666667 42.666667 0 0 1 60.330666-60.330666zM981.333333 0H42.666667a42.666667 42.666667 0 0 1 0-85.333333h938.666666a42.666667 42.666667 0 0 1 0 85.333333zM371.498667 712.832a42.666667 42.666667 0 0 1-60.330667-60.330667l170.666667-170.666666a42.666667 42.666667 0 0 1 60.330666 0l170.666667 170.666666a42.666667 42.666667 0 1 1-60.330667 60.330667L512 572.330667 371.498667 712.832z" horiz-adv-x="1024" />
<glyph glyph-name="target" unicode="&#59604;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM512 85.333333a298.666667 298.666667 0 1 0 0 597.333334 298.666667 298.666667 0 0 0 0-597.333334z m0 85.333334a213.333333 213.333333 0 1 1 0 426.666666 213.333333 213.333333 0 0 1 0-426.666666zM512 256a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="thermometer" unicode="&#59605;" d="M715.216338 38.506413A234.660898 234.660898 0 1 0 341.337529 287.673621V746.670338a149.329662 149.329662 0 0 0 298.659324 0v-459.039382a234.660898 234.660898 0 0 0 75.219485-249.167208zM554.665618 266.255481V746.670338a63.998427 63.998427 0 0 1-127.996854 0v-480.414857a42.665618 42.665618 0 0 0-18.943534-35.455128 149.329662 149.329662 0 1 1 165.883922 0A42.665618 42.665618 0 0 0 554.665618 266.255481z" horiz-adv-x="1024" />
<glyph glyph-name="thumbs-up" unicode="&#59606;" d="M850.005333 554.666667a130.730667 130.730667 0 0 0 99.456-43.989334c25.002667-28.373333 36.138667-66.090667 30.378667-103.253333l-59.733333-383.957333c-9.685333-63.146667-65.109333-109.525333-129.365334-108.8H302.421333c-23.893333 0-43.306667 19.114667-43.306666 42.666666V426.666667c0 5.973333 1.28 11.861333 3.754666 17.322666l173.141334 384c6.954667 15.402667 22.442667 25.344 39.552 25.344 95.658667 0 173.184-76.373333 173.184-170.666666v-128h201.258666z m-58.794666-554.666667a43.093333 43.093333 0 0 1 43.306666 36.352l59.733334 383.914667a42.24 42.24 0 0 1-10.112 34.389333 43.861333 43.861333 0 0 1-33.664 14.677333H605.44c-23.893333 0-43.264 19.114667-43.264 42.666667V682.666667c0 38.101333-25.344 70.357333-60.288 81.322666l-156.16-346.368V0h445.482667z m-532.053334 384h-86.613333c-23.893333 0-43.306667-19.114667-43.306667-42.666667v-298.666666c0-23.552 19.413333-42.666667 43.306667-42.666667h86.613333v384z m43.264-469.333333H172.544C100.821333-85.333333 42.666667-28.032 42.666667 42.666667v298.666666c0 70.698667 58.154667 128 129.877333 128h129.877333c23.893333 0 43.264-19.114667 43.264-42.666666v-469.333334c0-23.552-19.370667-42.666667-43.264-42.666666z" horiz-adv-x="1024" />
<glyph glyph-name="thumbs-down" unicode="&#59607;" d="M173.482667 213.333333a130.005333 130.005333 0 0 0-98.858667 43.733334 127.104 127.104 0 0 0-30.464 103.637333l59.818667 383.914667A128.853333 128.853333 0 0 0 232.832 853.333333H721.92a42.666667 42.666667 0 0 0 42.666667-42.666666v-469.333334a42.666667 42.666667 0 0 0-3.754667-17.578666l-173.44-384a42.666667 42.666667 0 0 0-38.869333-25.088c-95.274667 0-172.757333 76.245333-172.757334 170.666666v128h-202.24z m58.88 554.666667a43.648 43.648 0 0 1-44.074667-36.437333l-59.818667-383.957334a41.728 41.728 0 0 1 10.112-34.048c8.448-9.557333 20.906667-15.061333 34.432-14.933333h245.376a42.666667 42.666667 0 0 0 42.666667-42.666667v-170.666666c0-38.229333 25.856-70.741333 61.568-81.493334l156.586667 346.709334V768H232.362667z m532.181333-384h73.813333A57.088 57.088 0 0 1 896 429.952V721.92c-4.906667 26.794667-29.141333 46.506667-58.325333 46.037333H764.586667v-384z m-42.666667 469.333333h115.029334C909.184 854.528 971.178667 802.133333 980.906667 731.093333L981.333333 725.333333v-298.666666l-0.426666-5.845334A142.122667 142.122667 0 0 0 837.674667 298.666667H721.92a42.666667 42.666667 0 0 0-42.666667 42.666666V810.666667a42.666667 42.666667 0 0 0 42.666667 42.666666z" horiz-adv-x="1024" />
<glyph glyph-name="toggle-left" unicode="&#59608;" d="M85.333333 384c0-141.184 114.602667-256 255.616-256h342.101334A255.786667 255.786667 0 0 1 938.666667 384c0 141.184-114.602667 256-255.616 256H340.906667A255.786667 255.786667 0 0 1 85.333333 384z m-85.333333 0c0 188.501333 152.618667 341.333333 340.949333 341.333333h342.101334C871.253333 725.333333 1024 572.288 1024 384c0-188.501333-152.618667-341.333333-340.949333-341.333333H340.906667C152.746667 42.666667 0 195.712 0 384zM341.333333 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="toggle-right" unicode="&#59609;" d="M85.333333 384c0-141.184 114.602667-256 255.616-256h342.101334A255.786667 255.786667 0 0 1 938.666667 384c0 141.184-114.602667 256-255.616 256H340.906667A255.786667 255.786667 0 0 1 85.333333 384z m-85.333333 0c0 188.501333 152.618667 341.333333 340.949333 341.333333h342.101334C871.253333 725.333333 1024 572.288 1024 384c0-188.501333-152.618667-341.333333-340.949333-341.333333H340.906667C152.746667 42.666667 0 195.712 0 384zM682.666667 213.333333a170.666667 170.666667 0 1 0 0 341.333334 170.666667 170.666667 0 0 0 0-341.333334z m0 85.333334a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="trash-" unicode="&#59610;" d="M128 597.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 1 1 0-85.333334zM768 640v-597.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V640a42.666667 42.666667 0 1 1-85.333333 0v-597.333333a128 128 0 0 1 128-128h426.666666a128 128 0 0 1 128 128V640a42.666667 42.666667 0 0 1-85.333333 0zM384 640V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-85.333333a42.666667 42.666667 0 0 1 85.333333 0V725.333333a128 128 0 0 1-128 128h-170.666666a128 128 0 0 1-128-128v-85.333333a42.666667 42.666667 0 1 1 85.333333 0zM384 426.666667v-256a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-85.333333 0zM554.666667 426.666667v-256a42.666667 42.666667 0 0 1 85.333333 0v256a42.666667 42.666667 0 0 1-85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="trash" unicode="&#59611;" d="M128 597.333333h768a42.666667 42.666667 0 0 1 0 85.333334H128a42.666667 42.666667 0 1 1 0-85.333334zM768 640v-597.333333a42.666667 42.666667 0 0 0-42.666667-42.666667H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V640a42.666667 42.666667 0 1 1-85.333333 0v-597.333333a128 128 0 0 1 128-128h426.666666a128 128 0 0 1 128 128V640a42.666667 42.666667 0 0 1-85.333333 0zM384 640V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h170.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-85.333333a42.666667 42.666667 0 0 1 85.333333 0V725.333333a128 128 0 0 1-128 128h-170.666666a128 128 0 0 1-128-128v-85.333333a42.666667 42.666667 0 1 1 85.333333 0z" horiz-adv-x="1024" />
<glyph glyph-name="trending-up" unicode="&#59612;" d="M392.832 478.165333a42.666667 42.666667 0 0 1-60.330667 0l-320-320a42.666667 42.666667 0 0 1 60.330667-60.330666L362.666667 387.669333l183.168-183.168a42.666667 42.666667 0 0 1 60.330666 0l405.333334 405.333334a42.666667 42.666667 0 1 1-60.330667 60.330666L576 294.997333 392.832 478.165333zM938.666667 384a42.666667 42.666667 0 0 1 85.333333 0V640a42.666667 42.666667 0 0 1-42.666667 42.666667h-256a42.666667 42.666667 0 0 1 0-85.333334h213.333334v-213.333333z" horiz-adv-x="1024" />
<glyph glyph-name="trending-down" unicode="&#59613;" d="M72.832 670.165333A42.666667 42.666667 0 0 1 12.501333 609.834667l320-320a42.666667 42.666667 0 0 1 60.330667 0L576 473.002667l375.168-375.168a42.666667 42.666667 0 0 1 60.330667 60.330666l-405.333334 405.333334a42.666667 42.666667 0 0 1-60.330666 0L362.666667 380.330667 72.832 670.165333zM725.333333 170.666667a42.666667 42.666667 0 0 1 0-85.333334h256a42.666667 42.666667 0 0 1 42.666667 42.666667v256a42.666667 42.666667 0 0 1-85.333333 0v-213.333333h-213.333334z" horiz-adv-x="1024" />
<glyph glyph-name="triangle" unicode="&#59614;" d="M402.517333 753.237333a128.128 128.128 0 0 0 219.136 0L983.466667 149.333333a128 128 0 0 0-109.909334-192H150.144a128 128 0 0 0-109.098667 192.597334l361.472 603.306666zM114.602667 106.666667A42.666667 42.666667 0 0 1 150.613333 42.666667h722.474667a42.666667 42.666667 0 0 1 36.821333 63.402666L548.565333 709.162667a42.666667 42.666667 0 0 1-72.96 0.085333L114.645333 106.666667z" horiz-adv-x="1024" />
<glyph glyph-name="type" unicode="&#59615;" d="M213.333333 682.666667h597.333334v-85.333334a42.666667 42.666667 0 0 1 85.333333 0V725.333333a42.666667 42.666667 0 0 1-42.666667 42.666667H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666667v-128a42.666667 42.666667 0 1 1 85.333333 0V682.666667zM384 0h256a42.666667 42.666667 0 0 1 0 85.333333H384a42.666667 42.666667 0 0 1 0-85.333333zM469.333333 725.333333v-682.666666a42.666667 42.666667 0 0 1 85.333334 0V725.333333a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="twitter" unicode="&#59616;" d="M956.843947 759.765333c32.213333 22.741333 75.349333-6.698667 66.048-45.056a372.736 372.736 0 0 0-85.12-161.28c0.64-6.869333 0.938667-13.866667 0.981333-20.864C938.75328 25.856 450.390613-234.410667 22.01728 3.925333c-39.253333 21.802667-22.485333 81.792 22.442667 80a453.461333 453.461333 0 0 1 207.957333 41.344c-94.037333 58.026667-154.24 134.869333-183.808 225.792-30.506667 93.866667-26.026667 192.512-0.597333 286.208 7.68 28.330667 15.530667 49.664 21.077333 62.208a42.666667 42.666667 0 0 0 73.898667 7.168A412.032 412.032 0 0 1 469.419947 532.309333a234.112 234.112 0 0 0 150.4 220.288 233.6 233.6 0 0 0 239.274666-44.202666 422.186667 422.186667 0 0 1 97.706667 51.370666z m-97.109334-141.226666a42.666667 42.666667 0 0 0-44.501333 12.885333 148.352 148.352 0 0 1-164.949333 41.344A148.906667 148.906667 0 0 1 554.75328 531.285333v-42.709333a42.666667 42.666667 0 0 0-41.557333-42.709333c-139.093333-3.626667-272.042667 51.2-367.872 148.906666-16.853333-72.832-18.090667-147.925333 4.437333-217.258666 28.885333-88.917333 95.018667-161.066667 208.981333-211.797334 30.592-13.610667 34.346667-55.552 6.656-74.368a538.922667 538.922667 0 0 0-154.88-72.490666C538.198613-67.456 853.419947 150.357333 853.419947 532.437333a149.76 149.76 0 0 1-2.645334 27.562667 42.752 42.752 0 0 0 11.946667 38.442667c9.514667 9.386667 18.304 19.413333 26.368 29.952-9.685333-3.584-19.456-6.826667-29.354667-9.813334z" horiz-adv-x="1024" />
<glyph glyph-name="upload" unicode="&#59617;" d="M554.666667 665.002667V256a42.666667 42.666667 0 0 0-85.333334 0V665.002667L328.832 524.5013329999999a42.666667 42.666667 0 0 0-60.330667 60.330667l213.333334 213.333333a42.666667 42.666667 0 0 0 60.330666 0l213.333334-213.333333a42.666667 42.666667 0 1 0-60.330667-60.330667L554.666667 665.002667zM853.333333 256a42.666667 42.666667 0 0 0 85.333334 0v-170.666667a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128v170.666667a42.666667 42.666667 0 0 0 85.333334 0v-170.666667a42.666667 42.666667 0 0 1 42.666666-42.666666h597.333334a42.666667 42.666667 0 0 1 42.666666 42.666666v170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="umbrella" unicode="&#59618;" d="M554.666667 341.33333300000004v-256a85.333333 85.333333 0 1 1 170.666666 0 42.666667 42.666667 0 0 0 85.333334 0 170.666667 170.666667 0 1 0-341.333334 0v256H42.666667a42.666667 42.666667 0 0 0-42.453334 46.72 514.133333 514.133333 0 0 0 1023.573334 0A42.666667 42.666667 0 0 0 981.333333 341.33333300000004H554.666667zM512 768c-205.098667 0-379.008-144.64-419.84-341.333333h839.68c-40.832 196.693333-214.741333 341.333333-419.84 341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="upload-cloud" unicode="&#59619;" d="M652.517547 183.168a42.666667 42.666667 0 0 1 60.330666 60.330667l-170.666666 170.666666a42.666667 42.666667 0 0 1-60.330667 0l-170.666667-170.666666a42.666667 42.666667 0 0 1 60.330667-60.330667L512.016213 323.669333l140.501334-140.501333zM469.349547 384v-384a42.666667 42.666667 0 0 1 85.333333 0v384a42.666667 42.666667 0 0 1-85.333333 0zM427.57888 808.106667a384 384 0 0 1-331.306667-635.818667 42.666667 42.666667 0 1 1 63.957334 56.490667A298.666667 298.666667 0 1 0 673.168213 501.333333a42.666667 42.666667 0 0 1 41.301334-32h53.76a170.666667 170.666667 0 0 0 81.578666-320.512 42.666667 42.666667 0 1 1 40.832-74.922666A256 256 0 0 1 768.272213 554.666667h-22.229333a384 384 0 0 1-318.464 253.44zM652.517547 183.168a42.666667 42.666667 0 0 1 60.330666 60.330667l-170.666666 170.666666a42.666667 42.666667 0 0 1-60.330667 0l-170.666667-170.666666a42.666667 42.666667 0 0 1 60.330667-60.330667L512.016213 323.669333l140.501334-140.501333z" horiz-adv-x="1024" />
<glyph glyph-name="unlock" unicode="&#59620;" d="M256 469.333333V597.205333c-0.128 131.413333 100.266667 241.621333 232.192 254.805334 131.968 13.226667 252.586667-74.837333 278.954667-203.648a42.666667 42.666667 0 0 0-33.621334-50.261334 43.008 43.008 0 0 0-50.730666 33.28c-17.578667 85.888-97.962667 144.597333-185.941334 135.765334-87.978667-8.789333-154.88-82.218667-154.794666-169.898667V469.333333h468.821333A127.957333 127.957333 0 0 0 938.666667 341.674667v-299.349334A127.701333 127.701333 0 0 0 810.88-85.33333300000004H213.12A127.957333 127.957333 0 0 0 85.333333 42.325333v299.349334A127.701333 127.701333 0 0 0 213.12 469.333333H256z m-85.333333-127.658666v-299.349334c0-23.168 19.157333-42.325333 42.453333-42.325333h597.76c23.466667 0 42.453333 18.944 42.453333 42.325333v299.349334a42.624 42.624 0 0 1-42.453333 42.325333H213.12a42.368 42.368 0 0 1-42.453333-42.325333z" horiz-adv-x="1024" />
<glyph glyph-name="user-check" unicode="&#59621;" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM755.498667 456.832a42.666667 42.666667 0 0 1-60.330667-60.330667l85.333333-85.333333a42.666667 42.666667 0 0 1 60.330667 0l170.666667 170.666667a42.666667 42.666667 0 1 1-60.330667 60.330666L810.666667 401.664l-55.168 55.168z" horiz-adv-x="1024" />
<glyph glyph-name="user-minus" unicode="&#59622;" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM981.333333 469.333333h-256a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="user-plus" unicode="&#59623;" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM810.666667 554.666667v-256a42.666667 42.666667 0 0 1 85.333333 0V554.666667a42.666667 42.666667 0 0 1-85.333333 0zM981.333333 469.333333h-256a42.666667 42.666667 0 0 1 0-85.333333h256a42.666667 42.666667 0 0 1 0 85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="user-x" unicode="&#59624;" d="M725.333333 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h298.666667a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM362.666667 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM737.834667 524.501333l213.333333-213.333333a42.666667 42.666667 0 0 1 60.330667 60.330667l-213.333334 213.333333a42.666667 42.666667 0 0 1-60.330666-60.330667zM951.168 584.832l-213.333333-213.333333a42.666667 42.666667 0 0 1 60.330666-60.330667l213.333334 213.333333a42.666667 42.666667 0 1 1-60.330667 60.330667z" horiz-adv-x="1024" />
<glyph glyph-name="user" unicode="&#59625;" d="M896 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H341.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h341.333334a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM512 384a213.333333 213.333333 0 1 0 0 426.666667 213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
<glyph glyph-name="users" unicode="&#59626;" d="M768 0v85.333333a213.333333 213.333333 0 0 1-213.333333 213.333334H213.333333a213.333333 213.333333 0 0 1-213.333333-213.333334v-85.333333a42.666667 42.666667 0 0 1 85.333333 0v85.333333a128 128 0 0 0 128 128h341.333334a128 128 0 0 0 128-128v-85.333333a42.666667 42.666667 0 0 1 85.333333 0zM384 384A213.333333 213.333333 0 1 0 384 810.666667a213.333333 213.333333 0 0 0 0-426.666667z m0 85.333333a128 128 0 1 1 0 256 128 128 0 0 1 0-256zM1024 0v85.333333a213.333333 213.333333 0 0 1-160 206.421334 42.666667 42.666667 0 1 1-21.333333-82.602667A128 128 0 0 0 938.666667 85.290667V0a42.666667 42.666667 0 0 1 85.333333 0zM672.085333 721.109333a128 128 0 0 0 0-247.978666 42.666667 42.666667 0 0 1 21.162667-82.688 213.333333 213.333333 0 0 1 0 413.354666 42.666667 42.666667 0 0 1-21.162667-82.688z" horiz-adv-x="1024" />
<glyph glyph-name="video-off" unicode="&#59627;" d="M640.197128 213.158348v-42.644794a42.644793 42.644793 0 0 0-42.644793-42.644793H128.459607a42.644793 42.644793 0 0 0-42.644793 42.644793V596.961489a42.644793 42.644793 0 0 0 42.644793 42.644793h85.289587a42.644793 42.644793 0 1 1 0 85.289587H128.459607a127.93438 127.93438 0 0 1-127.93438-127.93438v-426.447935a127.93438 127.93438 0 0 1 127.93438-127.93438h469.092728a127.93438 127.93438 0 0 1 127.93438 127.93438v42.644794a42.644793 42.644793 0 0 1-85.289587 0z m316.168499 418.345423l-255.868761-185.078403 55.139718-4.392414-42.644793 42.644793 12.494924-30.149869V596.961489a127.93438 127.93438 0 0 1-127.93438 127.93438h-142.43361a42.644793 42.644793 0 0 1 0-85.289587H597.552335a42.644793 42.644793 0 0 0 42.644793-42.644793v-142.433611a42.644793 42.644793 0 0 1 12.494925-30.149869l42.644793-42.644793a42.644793 42.644793 0 0 1 55.139718-4.392414L938.710682 513.462983V170.513554a42.644793 42.644793 0 0 1 85.289587 0V596.961489a42.644793 42.644793 0 0 1-67.634642 34.542282zM13.020151 822.68038l938.185456-938.185456a42.644793 42.644793 0 0 1 60.299738 60.299738l-938.185456 938.185456A42.644793 42.644793 0 1 1 13.020151 822.68038z" horiz-adv-x="1024" />
<glyph glyph-name="video" unicode="&#59628;" d="M956.544427 632.064A42.666667 42.666667 0 0 0 1024.000427 597.333333v-426.666666a42.666667 42.666667 0 0 0-67.456-34.730667l-298.666667 213.333333a42.666667 42.666667 0 0 0 0 69.461334l298.666667 213.333333zM756.05376 384L938.667093 253.568V514.432L756.05376 384zM85.33376 597.077333v-426.154666A42.581333 42.581333 0 0 1 127.659093 128h470.016A42.666667 42.666667 0 0 1 640.000427 170.922667V597.077333A42.581333 42.581333 0 0 1 597.675093 640H127.659093A42.666667 42.666667 0 0 1 85.33376 597.077333z m-85.333333 0A128 128 0 0 0 127.659093 725.333333h470.016A127.914667 127.914667 0 0 0 725.33376 597.077333v-426.154666A128 128 0 0 0 597.675093 42.666667H127.659093A127.914667 127.914667 0 0 0 0.000427 170.922667V597.077333z" horiz-adv-x="1024" />
<glyph glyph-name="voicemail" unicode="&#59629;" d="M608.306773 256a234.666667 234.666667 0 1 0 181.034667-85.333333h-554.666667a234.666667 234.666667 0 1 0 181.034667 85.333333h192.597333zM234.674773 256a149.333333 149.333333 0 1 1 0 298.666667 149.333333 149.333333 0 0 1 0-298.666667z m554.666667 0a149.333333 149.333333 0 1 1 0 298.666667 149.333333 149.333333 0 0 1 0-298.666667z" horiz-adv-x="1024" />
<glyph glyph-name="volume-x" unicode="&#59630;" d="M442.666667 715.946667A42.666667 42.666667 0 0 0 512 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L241.066667 213.333333H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V512a42.666667 42.666667 0 0 0 42.666666 42.666667h155.733334l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 256 469.333333H128v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L426.666667 174.08V593.92l-144-115.2zM951.168 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330667-60.330666l256 256a42.666667 42.666667 0 1 1-60.330667 60.330666zM695.168 481.834667l256-256a42.666667 42.666667 0 0 1 60.330667 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330667-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="volume-" unicode="&#59631;" d="M528 715.946667A42.666667 42.666667 0 0 0 597.333333 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L326.4 213.333333H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667h155.733333l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 341.333333 469.333333H213.333333v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L512 174.08V593.92l-144-115.2zM718.208 504.874667a170.666667 170.666667 0 0 0 0-241.322667 42.666667 42.666667 0 1 1 60.330667-60.330667 256 256 0 0 1 0 361.984 42.666667 42.666667 0 1 1-60.330667-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="volume-1" unicode="&#59632;" d="M442.666667 715.946667A42.666667 42.666667 0 0 0 512 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L241.066667 213.333333H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V512a42.666667 42.666667 0 0 0 42.666666 42.666667h155.733334l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 256 469.333333H128v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L426.666667 174.08V593.92l-144-115.2zM783.488 655.488a384 384 0 0 0 0-542.976 42.666667 42.666667 0 1 1 60.330667-60.330667c183.210667 183.253333 183.210667 480.384 0 663.637334a42.666667 42.666667 0 1 1-60.330667-60.330667z m-150.613333-150.613333a170.666667 170.666667 0 0 0 0-241.322667 42.666667 42.666667 0 1 1 60.330666-60.330667 256 256 0 0 1 0 361.984 42.666667 42.666667 0 1 1-60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="volume" unicode="&#59633;" d="M656 715.946667A42.666667 42.666667 0 0 0 725.333333 682.666667v-597.333334a42.666667 42.666667 0 0 0-69.333333-33.28L454.4 213.333333H298.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V512a42.666667 42.666667 0 0 0 42.666667 42.666667h155.733333l201.6 161.28z m-160-237.226667A42.666667 42.666667 0 0 0 469.333333 469.333333H341.333333v-170.666666h128a42.666667 42.666667 0 0 0 26.666667-9.386667L640 174.08V593.92l-144-115.2z" horiz-adv-x="1024" />
<glyph glyph-name="watch" unicode="&#59634;" d="M512 42.66716399999996a341.332622 341.332622 0 1 0 0 682.665245 341.332622 341.332622 0 0 0 0-682.665245z m0 85.333156a255.999467 255.999467 0 1 1 0 511.998933 255.999467 255.999467 0 0 1 0-511.998933zM554.666578 511.99952v-110.33577l51.498559-51.49856a42.666578 42.666578 0 0 0-60.330541-60.33054l-63.999866 63.999866A42.666578 42.666578 0 0 0 469.333422 383.99978699999997V511.99952a42.666578 42.666578 0 0 0 85.333156 0z m107.263776-352.383266a42.666578 42.666578 0 0 0 84.991823-7.765317l-14.933302-163.370326A127.957067 127.957067 0 0 0 604.159808-127.999147H419.584193a127.999733 127.999733 0 0 0-127.999734 116.437091l-14.933302 163.412993a42.666578 42.666578 0 0 0 84.991823 7.765317l14.933302-163.455659c2.005329-22.058621 20.522624-38.911919 42.837244-38.826586h184.916948a42.666578 42.666578 0 0 1 42.666578 38.869252l14.933302 163.412993zM362.069646 608.383319a42.666578 42.666578 0 1 0-84.991823 7.765317l14.933302 163.370327A127.999733 127.999733 0 0 0 419.413526 895.99872h185.428947a127.999733 127.999733 0 0 0 127.999734-116.437091l14.933302-163.412993a42.666578 42.666578 0 0 0-84.991823-7.765317l-14.933302 163.45566A42.709244 42.709244 0 0 1 605.01314 810.665564H419.413526a42.666578 42.666578 0 0 1-42.410578-38.869252l-14.933302-163.412993z" horiz-adv-x="1024" />
<glyph glyph-name="wifi" unicode="&#59635;" d="M240.64 327.765333a426.666667 426.666667 0 0 0 546.133333 0 42.666667 42.666667 0 0 1 54.613334 65.536 512 512 0 0 1-655.36 0 42.666667 42.666667 0 1 1 54.613333-65.536zM88.405333 480a640 640 0 0 0 846.762667 0 42.666667 42.666667 0 0 1 56.490667 64C717.44 785.877333 306.133333 785.877333 31.914667 544a42.666667 42.666667 0 1 1 56.490666-64z m299.818667-306.133333a213.333333 213.333333 0 0 0 247.125333 0 42.666667 42.666667 0 0 1 49.408 69.546666 298.666667 298.666667 0 0 1-345.941333 0 42.666667 42.666667 0 0 1 49.408-69.546666zM512 42.666667m-42.666667 0a42.666667 42.666667 0 1 1 85.333334 0 42.666667 42.666667 0 1 1-85.333334 0Z" horiz-adv-x="1024" />
<glyph glyph-name="x-square" unicode="&#59636;" d="M170.666667 682.88v-597.76c0-23.466667 18.986667-42.453333 42.453333-42.453333h597.76c23.466667 0 42.453333 18.986667 42.453333 42.453333V682.88A42.453333 42.453333 0 0 1 810.88 725.333333H213.12A42.453333 42.453333 0 0 1 170.666667 682.88z m-85.333334 0A127.786667 127.786667 0 0 0 213.12 810.666667h597.76A127.786667 127.786667 0 0 0 938.666667 682.88v-597.76A127.786667 127.786667 0 0 0 810.88-42.666667H213.12A127.786667 127.786667 0 0 0 85.333333 85.12V682.88zM353.834667 481.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666zM609.834667 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="wind" unicode="&#59637;" d="M439.466667 670.08A42.666667 42.666667 0 1 0 469.461333 597.333333H85.333333a42.666667 42.666667 0 1 1 0-85.333333h384a127.957333 127.957333 0 0 1 64.298667 238.890667 128 128 0 0 1-154.709333-20.650667 42.666667 42.666667 0 0 1 60.501333-60.16z m67.413333-632.32A128 128 0 1 1 597.205333 256H85.333333a42.666667 42.666667 0 0 1 0-85.333333h512a42.709333 42.709333 0 0 0 21.674667-79.616 42.666667 42.666667 0 0 0-51.584 6.869333 42.666667 42.666667 0 1 1-60.501333-60.16z m279.722667 498.218667A64 64 0 1 0 831.914667 426.666667H85.333333a42.666667 42.666667 0 0 1 0-85.333334h746.666667a149.333333 149.333333 0 1 1-105.642667 255.061334 42.666667 42.666667 0 1 1 60.245334-60.416z" horiz-adv-x="1024" />
<glyph glyph-name="x" unicode="&#59638;" d="M737.834667 670.165333l-512-512a42.666667 42.666667 0 0 1 60.330666-60.330666l512 512a42.666667 42.666667 0 1 1-60.330666 60.330666zM225.834667 609.834667l512-512a42.666667 42.666667 0 0 1 60.330666 60.330666l-512 512a42.666667 42.666667 0 0 1-60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="x-circle" unicode="&#59639;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768zM609.834667 542.165333l-256-256a42.666667 42.666667 0 0 1 60.330666-60.330666l256 256a42.666667 42.666667 0 1 1-60.330666 60.330666zM353.834667 481.834667l256-256a42.666667 42.666667 0 0 1 60.330666 60.330666l-256 256a42.666667 42.666667 0 0 1-60.330666-60.330666z" horiz-adv-x="1024" />
<glyph glyph-name="zap" unicode="&#59640;" d="M128 256a42.666667 42.666667 0 0 0-32.768 69.973333l426.666667 512c27.264 32.725333 80.384 9.685333 75.093333-32.597333L560.298667 512H896a42.666667 42.666667 0 0 0 32.768-69.973333l-426.666667-512c-27.264-32.725333-80.384-9.685333-75.093333 32.597333l36.693333 293.376H128z m91.093333 85.333333H512a42.666667 42.666667 0 0 0 42.325333-47.957333l-24.618666-196.949333 275.2 330.24H512a42.666667 42.666667 0 0 0-42.325333 47.957333l24.618666 196.949333L219.093333 341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="zoom-in" unicode="&#59641;" d="M469.333333 42.666667a384 384 0 1 0 300.032 144.298666l156.8-156.8a42.666667 42.666667 0 0 0-60.330666-60.330666l-156.8 156.8A382.378667 382.378667 0 0 0 469.333333 42.666667z m0 85.333333a298.666667 298.666667 0 1 1 0 597.333333 298.666667 298.666667 0 0 1 0-597.333333zM426.666667 554.666667v-256a42.666667 42.666667 0 0 1 85.333333 0V554.666667a42.666667 42.666667 0 0 1-85.333333 0zM341.333333 384h256a42.666667 42.666667 0 0 1 0 85.333333H341.333333a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="zoom-out" unicode="&#59642;" d="M709.034667 126.634667a384 384 0 1 0 60.330666 60.330666l156.8-156.8a42.666667 42.666667 0 0 0-60.330666-60.330666l-156.8 156.8zM469.333333 128a298.666667 298.666667 0 1 1 0 597.333333 298.666667 298.666667 0 0 1 0-597.333333zM341.333333 384h256a42.666667 42.666667 0 0 1 0 85.333333H341.333333a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="command" unicode="&#59643;" d="M597.333333 213.33333300000004h-170.666666v-85.333333a170.666667 170.666667 0 1 0-170.666667 170.666667h85.333333v170.666666H256a170.666667 170.666667 0 1 0 170.666667 170.666667v-85.333333h170.666666V640a170.666667 170.666667 0 1 0 170.666667-170.666667h-85.333333v-170.666666h85.333333a170.666667 170.666667 0 1 0-170.666667-170.666667v85.333333z m-170.666666 256v-170.666666h170.666666v170.666666h-170.666666zM341.333333 554.666667V640a85.333333 85.333333 0 1 1-85.333333-85.333333h85.333333z m0-341.333334H256a85.333333 85.333333 0 1 1 85.333333-85.333333v85.333333z m341.333334-85.333333a85.333333 85.333333 0 1 1 85.333333 85.333333h-85.333333v-85.333333z m85.333333 426.666667a85.333333 85.333333 0 1 1-85.333333 85.333333v-85.333333h85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="cloud" unicode="&#59644;" d="M768.190293 512a255.914667 255.914667 0 1 0 0-511.829333H384.318293A383.914667 383.914667 0 1 0 745.918293 512h22.186667z m0-85.290667h-53.76a42.666667 42.666667 0 0 0-41.301333 32 298.581333 298.581333 0 1 1-288.853333-373.248h383.914666a170.624 170.624 0 1 1 0 341.248z" horiz-adv-x="1044" />
<glyph glyph-name="hash" unicode="&#59645;" d="M170.666667 469.333333h682.666666a42.666667 42.666667 0 0 1 0 85.333334H170.666667a42.666667 42.666667 0 1 1 0-85.333334zM170.666667 213.33333300000004h682.666666a42.666667 42.666667 0 0 1 0 85.333334H170.666667a42.666667 42.666667 0 0 1 0-85.333334zM384.256 772.6933329999999l-85.333333-768a42.666667 42.666667 0 1 1 84.821333-9.386666l85.333333 768a42.666667 42.666667 0 1 1-84.821333 9.386666zM640.256 772.6933329999999l-85.333333-768a42.666667 42.666667 0 1 1 84.821333-9.386666l85.333333 768a42.666667 42.666667 0 1 1-84.821333 9.386666z" horiz-adv-x="1024" />
<glyph glyph-name="headphones" unicode="&#59646;" d="M85.333333 213.33333300000004v170.666667C85.333333 619.648 276.352 810.666667 512 810.666667s426.666667-191.018667 426.666667-426.666667v-298.666667a128 128 0 0 0-128-128h-42.666667a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h85.333333v42.666667a341.333333 341.333333 0 0 1-682.666666 0v-42.666667h85.333333a128 128 0 0 0 128-128v-128a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128v128z m768 42.666667h-85.333333a42.666667 42.666667 0 0 1-42.666667-42.666667v-128a42.666667 42.666667 0 0 1 42.666667-42.666666h42.666667a42.666667 42.666667 0 0 1 42.666666 42.666666v170.666667zM170.666667 256v-170.666667a42.666667 42.666667 0 0 1 42.666666-42.666666h42.666667a42.666667 42.666667 0 0 1 42.666667 42.666666v128a42.666667 42.666667 0 0 1-42.666667 42.666667H170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="underline" unicode="&#59647;" d="M213.333333 768a42.666667 42.666667 0 1 0 85.333334 0v-298.666667a213.333333 213.333333 0 0 1 426.666666 0V768a42.666667 42.666667 0 0 0 85.333334 0v-298.666667a298.666667 298.666667 0 0 0-597.333334 0V768zM170.666667-42.666667a42.666667 42.666667 0 0 0 0 85.333334h682.666666a42.666667 42.666667 0 0 0 0-85.333334H170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="italic" unicode="&#59648;" d="M669.568 682.666667H810.666667a42.666667 42.666667 0 0 1 0 85.333333h-384a42.666667 42.666667 0 1 1 0-85.333333h151.765333l-224-597.333334H213.333333a42.666667 42.666667 0 0 1 0-85.333333h384a42.666667 42.666667 0 0 1 0 85.333333h-151.765333l224 597.333334z" horiz-adv-x="1024" />
<glyph glyph-name="bold" unicode="&#59649;" d="M743.936 399.701333A213.333333 213.333333 0 0 0 640 0H256a42.666667 42.666667 0 0 0-42.666667 42.666667V725.333333a42.666667 42.666667 0 0 0 42.666667 42.666667h341.333333a213.333333 213.333333 0 0 0 146.602667-368.298667zM298.666667 682.666667v-256h298.666666a128 128 0 0 1 0 256H298.666667z m0-597.333334h341.333333a128 128 0 0 1 0 256H298.666667v-256z" horiz-adv-x="1024" />
<glyph glyph-name="crop" unicode="&#59650;" d="M302.764169 679.379651L682.710044 682.664978a127.999733 127.999733 0 0 0 127.999734-127.999734v-383.9992h170.666311a42.666578 42.666578 0 0 0 0-85.333155h-170.666311v-170.666311a42.666578 42.666578 0 0 0-85.333156 0v170.666311H341.377422c-70.698519 0-127.999733 57.301214-127.999733 128.383732l3.285326 379.561876-173.567638-1.49333a42.666578 42.666578 0 0 0-0.767998 85.333156l175.060968 1.535996L218.924344 853.715288a42.666578 42.666578 0 0 0 85.333156-0.767998l-1.493331-173.567639z m-0.767998-85.333155L298.710844 213.332622a42.666578 42.666578 0 0 1 42.666578-42.666578h383.9992V554.665244c0 23.551951-19.114627 42.666578-42.282578 42.666578l-381.097873-3.285326z" horiz-adv-x="1024" />
<glyph glyph-name="help-circle" unicode="&#59651;" d="M512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z m0 128a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 0 0-85.333333z m-83.925333 369.834667a42.666667 42.666667 0 1 0-80.469334 28.330666A170.666667 170.666667 0 0 0 679.253333 469.333333c0-54.613333-32.341333-97.706667-82.986666-131.498666a323.2 323.2 0 0 0-74.197334-36.992 42.666667 42.666667 0 1 0-26.965333 80.981333 255.488 255.488 0 0 1 53.845333 27.008c29.312 19.584 44.970667 40.448 44.970667 60.586667a85.333333 85.333333 0 0 1-165.845333 28.416z" horiz-adv-x="1024" />
<glyph glyph-name="paperclip" unicode="&#59652;" d="M884.522667 428.586667l-392.106667-392.106667a213.461333 213.461333 0 0 0-301.909333 301.909333l392.106666 392.106667a128.085333 128.085333 0 1 0 181.162667-181.162667l-392.533333-392.106666a42.709333 42.709333 0 1 0-60.416 60.416l362.24 361.813333a42.666667 42.666667 0 0 1-60.288 60.330667l-362.24-361.813334a128.042667 128.042667 0 1 1 181.034666-181.077333l392.533334 392.106667a213.418667 213.418667 0 1 1-301.824 301.824l-392.106667-392.106667a298.794667 298.794667 0 1 1 422.570667-422.570667l392.106666 392.106667a42.666667 42.666667 0 0 1-60.330666 60.330667z" horiz-adv-x="1024" />
<glyph glyph-name="shopping-cart" unicode="&#59653;" d="M341.333333-128a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334z m512-85.333333a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333334 42.666667 42.666667 0 0 1 0-85.333334zM278.912 682.666667H981.333333a42.666667 42.666667 0 0 0 41.813334-51.029334l-71.68-357.930666A127.786667 127.786667 0 0 0 824.32 170.666667H373.674667a128 128 0 0 0-128 111.36L180.864 773.546667A42.666667 42.666667 0 0 1 138.666667 810.666667H42.666667a42.666667 42.666667 0 1 0 0 85.333333h96.085333a128 128 0 0 0 126.72-111.36L278.869333 682.666667z m51.413333-389.546667c2.773333-21.376 21.077333-37.290667 43.008-37.12h451.84a42.666667 42.666667 0 0 1 42.666667 34.389333L929.28 597.333333H290.133333l40.192-304.213333z" horiz-adv-x="1024" />
<glyph glyph-name="tv" unicode="&#59654;" d="M409.002667 640L268.501333 780.501333a42.666667 42.666667 0 0 0 60.330667 60.330667L512 657.664l183.168 183.168a42.666667 42.666667 0 0 0 60.330667-60.330667L614.997333 640H853.333333a128 128 0 0 0 128-128v-469.333333a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V512a128 128 0 0 0 128 128h238.336zM170.666667 554.666667a42.666667 42.666667 0 0 1-42.666667-42.666667v-469.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667V512a42.666667 42.666667 0 0 1-42.666667 42.666667H170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="wifi-off" unicode="&#59655;" d="M669.172142 166.544518a42.497957 42.497957 0 0 0-33.035022 7.033262 213.129173 213.129173 0 0 1-246.888835 0 42.625835 42.625835 0 1 0-49.360716 69.480111 298.167714 298.167714 0 0 0 198.721641 54.006932l-118.542446 118.585072a423.700797 423.700797 0 0 1-178.602247-88.278103 42.625835 42.625835 0 1 0-54.688946 65.38803A508.952466 508.952466 0 0 0 350.92766 484.703748L251.950472 583.766187a635.551195 635.551195 0 0 1-162.233927-104.305417A42.625835 42.625835 0 1 0 33.27994 543.31427 720.802864 720.802864 0 0 0 187.926468 647.790191L13.458927 822.300358A42.625835 42.625835 0 1 0 73.731857 882.530663l217.604886-217.562261 1.321401-1.364026 168.158918-168.158918c2.685428-2.131292 5.1151-4.518338 7.246392-7.203766l543.479392-543.479392a42.625835 42.625835 0 0 0-60.315556-60.27293l-282.055148 282.012522zM512.479573-0.122496a42.625835 42.625835 0 1 0 0 85.251669 42.625835 42.625835 0 0 0 0-85.251669z m182.481199 385.380171a42.625835 42.625835 0 0 0 37.425482 76.641251c38.107496-18.62749 73.742694-41.901195 106.053077-69.352233a42.625835 42.625835 0 1 0-55.15783-64.961772 423.700797 423.700797 0 0 1-88.320729 57.672754z m-234.015833 252.003935a42.625835 42.625835 0 0 0-6.862759 84.995914A724.639189 724.639189 0 0 0 991.679207 543.356896a42.625835 42.625835 0 0 0-56.436605-63.938752A639.38752 639.38752 0 0 1 460.902313 637.26161z" horiz-adv-x="1024" />
<glyph glyph-name="minimize" unicode="&#59533;" d="M298.666667 768v-128a42.666667 42.666667 0 0 0-42.666667-42.666667H128a42.666667 42.666667 0 1 1 0-85.333333h128a128 128 0 0 1 128 128V768a42.666667 42.666667 0 1 1-85.333333 0z m597.333333-170.666667h-128a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 1-85.333333 0v-128a128 128 0 0 1 128-128h128a42.666667 42.666667 0 0 1 0 85.333333z m-170.666667-597.333333v128a42.666667 42.666667 0 0 0 42.666667 42.666667h128a42.666667 42.666667 0 0 1 0 85.333333h-128a128 128 0 0 1-128-128v-128a42.666667 42.666667 0 0 1 85.333333 0zM128 170.666667h128a42.666667 42.666667 0 0 0 42.666667-42.666667v-128a42.666667 42.666667 0 0 1 85.333333 0v128a128 128 0 0 1-128 128H128a42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="maximize" unicode="&#59656;" d="M341.333333 810.666667H213.333333a128 128 0 0 1-128-128v-128a42.666667 42.666667 0 1 1 85.333334 0V682.666667a42.666667 42.666667 0 0 0 42.666666 42.666666h128a42.666667 42.666667 0 1 1 0 85.333334z m597.333334-256V682.666667a128 128 0 0 1-128 128h-128a42.666667 42.666667 0 0 1 0-85.333334h128a42.666667 42.666667 0 0 0 42.666666-42.666666v-128a42.666667 42.666667 0 0 1 85.333334 0z m-256-597.333334h128a128 128 0 0 1 128 128v128a42.666667 42.666667 0 0 1-85.333334 0v-128a42.666667 42.666667 0 0 0-42.666666-42.666666h-128a42.666667 42.666667 0 0 1 0-85.333334zM85.333333 213.333333v-128a128 128 0 0 1 128-128h128a42.666667 42.666667 0 0 1 0 85.333334H213.333333a42.666667 42.666667 0 0 0-42.666666 42.666666v128a42.666667 42.666667 0 0 1-85.333334 0z" horiz-adv-x="1024" />
<glyph glyph-name="gitlab" unicode="&#59657;" d="M537.088-82.730667a42.666667 42.666667 0 0 0-50.176 0L32.341333 247.637333a78.421333 78.421333 0 0 0-28.16 87.594667l52.053334 161.365333 104.96 322.645334c3.413333 8.832 8.832 16.725333 15.701333 22.912a61.269333 61.269333 0 0 0 83.157333-0.810667 59.733333 59.733333 0 0 0 15.616-25.173333L370.176 526.08h283.648l95.274667 293.12c3.413333 8.874667 8.874667 16.768 15.744 22.954667a61.269333 61.269333 0 0 0 83.157333-0.810667 59.733333 59.733333 0 0 0 15.616-25.173333l103.936-319.957334 54.741333-162.133333a78.506667 78.506667 0 0 0-31.573333-87.125333l-453.632-329.685334zM86.869333 313.514667L512 4.522667l426.794667 310.186666-52.224 154.666667-80.725334 248.490667L725.333333 470.229333a42.666667 42.666667 0 0 0-40.576-29.482666h-345.6A42.666667 42.666667 0 0 0 298.666667 470.186667L217.898667 717.952 137.472 470.314667l-50.602667-156.8z" horiz-adv-x="1025" />
<glyph glyph-name="sliders" unicode="&#59658;" d="M810.666667 170.666667v-170.666667a42.666667 42.666667 0 0 1 85.333333 0v170.666667h85.333333a42.666667 42.666667 0 0 1 0 85.333333h-256a42.666667 42.666667 0 0 1 0-85.333333h85.333334zM469.333333 597.333333V768a42.666667 42.666667 0 0 0 85.333334 0v-170.666667h85.333333a42.666667 42.666667 0 0 0 0-85.333333H384a42.666667 42.666667 0 1 0 0 85.333333h85.333333z m-341.333333-341.333333v-256a42.666667 42.666667 0 0 1 85.333333 0v256h85.333334a42.666667 42.666667 0 0 1 0 85.333333H42.666667a42.666667 42.666667 0 0 1 0-85.333333h85.333333z m85.333333 213.333333a42.666667 42.666667 0 0 0-85.333333 0V768a42.666667 42.666667 0 1 0 85.333333 0v-298.666667z m341.333334-469.333333a42.666667 42.666667 0 0 0-85.333334 0v384a42.666667 42.666667 0 0 0 85.333334 0v-384z m341.333333 384a42.666667 42.666667 0 0 0-85.333333 0V768a42.666667 42.666667 0 0 0 85.333333 0v-384z" horiz-adv-x="1024" />
<glyph glyph-name="star-on" unicode="&#59659;" d="M473.728 829.568a42.666667 42.666667 0 0 0 76.544 0l121.898667-246.741333 272.64-39.808a42.624 42.624 0 0 0 23.637333-72.704l-197.248-191.914667 46.506667-271.146667a42.666667 42.666667 0 0 0-61.866667-44.928L512 90.410667l-243.84-128.085334a42.666667 42.666667 0 0 0-61.866667 44.928l46.506667 271.146667-197.248 191.914667a42.624 42.624 0 0 0 23.594667 72.704l272.64 39.808 121.941333 246.741333z" horiz-adv-x="1024" />
<glyph glyph-name="heart-on" unicode="&#59660;" d="M527.061333 729.472A277.333333 277.333333 0 0 0 1000.618667 533.333333a277.333333 277.333333 0 0 0-81.28-196.138666l-377.173334-377.173334a42.666667 42.666667 0 0 0-60.330666 0l-377.173334 377.173334a277.376 277.376 0 0 0 392.277334 392.277333l15.061333-15.061333 15.061333 15.061333z" horiz-adv-x="1024" />
<glyph glyph-name="archive" unicode="&#59661;" d="M853.333333 512H170.666667v-469.333333h682.666666V512z m85.333334 0v-512a42.666667 42.666667 0 0 0-42.666667-42.666667H128a42.666667 42.666667 0 0 0-42.666667 42.666667V512H42.666667a42.666667 42.666667 0 0 0-42.666667 42.666667V768a42.666667 42.666667 0 0 0 42.666667 42.666667h938.666666a42.666667 42.666667 0 0 0 42.666667-42.666667v-213.333333a42.666667 42.666667 0 0 0-42.666667-42.666667h-42.666666zM85.333333 725.333333v-128h853.333334V725.333333H85.333333z m341.333334-384a42.666667 42.666667 0 0 0 0 85.333334h170.666666a42.666667 42.666667 0 0 0 0-85.333334h-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-down-circle" unicode="&#59662;" d="M469.333333 316.330667V554.666667a42.666667 42.666667 0 0 0 85.333334 0v-238.336l97.834666 97.834666a42.666667 42.666667 0 0 0 60.330667-60.330666l-170.666667-170.666667a42.666667 42.666667 0 0 0-60.330666 0l-170.666667 170.666667a42.666667 42.666667 0 0 0 60.330667 60.330666L469.333333 316.330667zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-up-circle" unicode="&#59663;" d="M554.666667 451.669333V213.333333a42.666667 42.666667 0 0 0-85.333334 0v238.336l-97.834666-97.834666a42.666667 42.666667 0 1 0-60.330667 60.330666l170.666667 170.666667a42.666667 42.666667 0 0 0 60.330666 0l170.666667-170.666667a42.666667 42.666667 0 0 0-60.330667-60.330666L554.666667 451.669333zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-left-circle" unicode="&#59664;" d="M444.330667 426.666667H682.666667a42.666667 42.666667 0 0 0 0-85.333334h-238.336l97.834666-97.834666a42.666667 42.666667 0 0 0-60.330666-60.330667l-170.666667 170.666667a42.666667 42.666667 0 0 0 0 60.330666l170.666667 170.666667a42.666667 42.666667 0 0 0 60.330666-60.330667L444.330667 426.666667zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
<glyph glyph-name="arrow-right-circle" unicode="&#59665;" d="M579.669333 341.333333H341.333333a42.666667 42.666667 0 0 0 0 85.333334h238.336l-97.834666 97.834666a42.666667 42.666667 0 1 0 60.330666 60.330667l170.666667-170.666667a42.666667 42.666667 0 0 0 0-60.330666l-170.666667-170.666667a42.666667 42.666667 0 0 0-60.330666 60.330667L579.669333 341.333333zM512-85.333333C252.8-85.333333 42.666667 124.8 42.666667 384S252.8 853.333333 512 853.333333s469.333333-210.133333 469.333333-469.333333-210.133333-469.333333-469.333333-469.333333z m0 85.333333a384 384 0 1 1 0 768 384 384 0 0 1 0-768z" horiz-adv-x="1024" />
<glyph glyph-name="bar-chart-line-" unicode="&#59666;" d="M810.666667 42.666667a42.666667 42.666667 0 0 0-85.333334 0V469.333333a42.666667 42.666667 0 0 0 85.333334 0v-426.666666z m-256 0a42.666667 42.666667 0 0 0-85.333334 0V725.333333a42.666667 42.666667 0 0 0 85.333334 0v-682.666666z m-256 0a42.666667 42.666667 0 0 0-85.333334 0v256a42.666667 42.666667 0 0 0 85.333334 0v-256z" horiz-adv-x="1024" />
<glyph glyph-name="bar-chart-line" unicode="&#59667;" d="M554.666667 42.666667a42.666667 42.666667 0 0 0-85.333334 0V469.333333a42.666667 42.666667 0 0 0 85.333334 0v-426.666666z m256 0a42.666667 42.666667 0 0 0-85.333334 0V725.333333a42.666667 42.666667 0 0 0 85.333334 0v-682.666666zM298.666667 42.666667a42.666667 42.666667 0 0 0-85.333334 0v170.666666a42.666667 42.666667 0 0 0 85.333334 0v-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="book-open" unicode="&#59668;" d="M128 725.333333v-554.666666h256c31.104 0 60.245333-8.32 85.333333-22.826667V597.333333a128 128 0 0 1-128 128H128z m384-768c-21.333333 0-42.666667 14.208-42.666667 42.666667a85.333333 85.333333 0 0 1-85.333333 85.333333H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V768a42.666667 42.666667 0 0 0 42.666666 42.666667h256c69.802667 0 131.754667-33.493333 170.666667-85.333334a212.992 212.992 0 0 0 170.666667 85.333334h256a42.666667 42.666667 0 0 0 42.666666-42.666667v-640a42.666667 42.666667 0 0 0-42.666666-42.666667h-298.666667a85.333333 85.333333 0 0 1-85.333333-85.333333c0-28.458667-21.333333-42.666667-42.666667-42.666667s-42.666667 14.208-42.666667 42.666667c0 63.146667 34.304 118.314667 85.333334 147.84V0c0-28.458667-21.333333-42.666667-42.666667-42.666667z m384 768h-213.333333a128 128 0 0 1-128-128v-449.493333A169.898667 169.898667 0 0 0 640 170.666667h256V725.333333z" horiz-adv-x="1024" />
<glyph glyph-name="code" unicode="&#59669;" d="M652.501333 609.834667a42.666667 42.666667 0 1 0 60.330667 60.330666l256-256a42.666667 42.666667 0 0 0 0-60.330666l-256-256a42.666667 42.666667 0 0 0-60.330667 60.330666L878.336 384l-225.834667 225.834667zM145.664 384l225.834667-225.834667a42.666667 42.666667 0 0 0-60.330667-60.330666l-256 256a42.666667 42.666667 0 0 0 0 60.330666l256 256a42.666667 42.666667 0 0 0 60.330667-60.330666L145.664 384z" horiz-adv-x="1024" />
<glyph glyph-name="database" unicode="&#59670;" d="M170.666667 574.805333V384c0-34.688 151.722667-85.333333 341.333333-85.333333s341.333333 50.645333 341.333333 85.333333V574.805333C775.466667 534.357333 651.52 512 512 512c-139.52 0-263.466667 22.357333-341.333333 62.805333zM85.333333 682.666667c0 106.965333 191.146667 170.666667 426.666667 170.666666s426.666667-63.701333 426.666667-170.666666v-597.333334c0-107.178667-190.208-170.666667-426.666667-170.666666S85.333333-21.845333 85.333333 85.333333V682.666667z m768-406.741334C775.637333 235.52 651.946667 213.333333 512 213.333333c-139.946667 0-263.637333 22.229333-341.333333 62.592V85.333333c0-34.688 151.722667-85.333333 341.333333-85.333333s341.333333 50.645333 341.333333 85.333333v190.592zM512 597.333333c188.586667 0 341.333333 50.901333 341.333333 85.333334 0 34.432-152.746667 85.333333-341.333333 85.333333S170.666667 717.098667 170.666667 682.666667c0-34.432 152.746667-85.333333 341.333333-85.333334z" horiz-adv-x="1024" />
<glyph glyph-name="dollar-sign" unicode="&#59671;" d="M554.666667 725.333333h170.666666a42.666667 42.666667 0 0 0 0-85.333333h-170.666666v-213.333333h64a192 192 0 0 0 0-384H554.666667v-128a42.666667 42.666667 0 0 0-85.333334 0v128H256a42.666667 42.666667 0 0 0 0 85.333333h213.333333v213.333333H405.333333a192 192 0 1 0 0 384H469.333333V853.333333a42.666667 42.666667 0 0 0 85.333334 0v-128z m0-384v-213.333333h64a106.666667 106.666667 0 0 1 0 213.333333H554.666667z m-85.333334 85.333334V640H405.333333a106.666667 106.666667 0 1 1 0-213.333333H469.333333z" horiz-adv-x="1024" />
<glyph glyph-name="folder-plus" unicode="&#59672;" d="M554.666667 341.333333h85.333333a42.666667 42.666667 0 0 0 0-85.333333h-85.333333v-85.333333a42.666667 42.666667 0 0 0-85.333334 0v85.333333H384a42.666667 42.666667 0 0 0 0 85.333333h85.333333v85.333334a42.666667 42.666667 0 0 0 85.333334 0v-85.333334z m-62.506667 341.333334H853.333333a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h213.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L492.16 682.666667z m-130.986667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-384a42.666667 42.666667 0 0 0-35.498666 18.986667L361.173333 725.333333z" horiz-adv-x="1024" />
<glyph glyph-name="gift" unicode="&#59673;" d="M838.954667 640H938.666667a42.666667 42.666667 0 0 0 42.666666-42.666667v-213.333333a42.666667 42.666667 0 0 0-42.666666-42.666667h-42.666667v-384a42.666667 42.666667 0 0 0-42.666667-42.666666H170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666v384H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666667V597.333333a42.666667 42.666667 0 0 0 42.666666 42.666667h99.712A149.333333 149.333333 0 0 0 320 853.333333c83.626667 0 145.962667-49.834667 189.397333-128.768l2.602667-4.821333 2.602667 4.821333C558.08 803.498667 620.373333 853.333333 704 853.333333a149.333333 149.333333 0 0 0 134.954667-213.333333zM554.666667 554.666667v-128h341.333333V554.666667h-341.333333z m-85.333334 0H128v-128h341.333333V554.666667z m85.333334-554.666667h256v341.333333h-256v-341.333333z m-85.333334 0v341.333333H213.333333v-341.333333h256z m-34.730666 683.434667C404.693333 737.834667 367.018667 768 320 768a64 64 0 0 1 0-128h134.570667a347.904 347.904 0 0 1-19.968 43.434667zM704 640a64 64 0 0 1 0 128c-47.018667 0-84.693333-30.165333-114.602667-84.565333A347.861333 347.861333 0 0 1 569.429333 640H704z" horiz-adv-x="1024" />
<glyph glyph-name="folder-minus" unicode="&#59674;" d="M492.16 682.666667H853.333333a128 128 0 0 0 128-128v-469.333334a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128V682.666667a128 128 0 0 0 128 128h213.333333a42.666667 42.666667 0 0 0 35.498667-18.986667L492.16 682.666667z m-130.986667 42.666666H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666666v-597.333334a42.666667 42.666667 0 0 1 42.666667-42.666666h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666666V554.666667a42.666667 42.666667 0 0 1-42.666667 42.666666h-384a42.666667 42.666667 0 0 0-35.498666 18.986667L361.173333 725.333333zM384 256a42.666667 42.666667 0 0 0 0 85.333333h256a42.666667 42.666667 0 0 0 0-85.333333H384z" horiz-adv-x="1024" />
<glyph glyph-name="git-commit" unicode="&#59675;" d="M721.109333 341.589333a213.418667 213.418667 0 0 0-418.218666-0.042666A43.178667 43.178667 0 0 0 298.666667 341.333333H44.8a42.666667 42.666667 0 0 0 0 85.333334H298.666667c1.408 0 2.816-0.085333 4.224-0.213334a213.418667 213.418667 0 0 0 418.218666 0c1.536 0.128 3.072 0.213333 4.650667 0.213334h253.866667a42.666667 42.666667 0 0 0 0-85.333334h-253.866667c-1.578667 0-3.114667 0.085333-4.650667 0.256zM512 256a128 128 0 1 1 0 256 128 128 0 0 1 0-256z" horiz-adv-x="1024" />
<glyph glyph-name="git-branch" unicode="&#59676;" d="M421.717333 86.997333A170.752 170.752 0 0 0 85.333333 128a170.752 170.752 0 0 0 128 165.290667V768a42.666667 42.666667 0 1 0 85.333334 0v-474.709333a170.965333 170.965333 0 0 0 122.112-120.661334 341.461333 341.461333 0 0 1 302.592 302.592A170.752 170.752 0 0 0 768 810.666667a170.666667 170.666667 0 0 0 41.002667-336.384 426.794667 426.794667 0 0 0-387.285334-387.285334zM768 554.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM256 42.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="git-pull-request" unicode="&#59677;" d="M213.333333 474.709333A170.752 170.752 0 0 0 256 810.666667a170.666667 170.666667 0 0 0 42.666667-335.957334V0a42.666667 42.666667 0 0 0-85.333334 0V474.709333z m512-181.418666V554.666667a42.666667 42.666667 0 0 1-42.666666 42.666666h-128a42.666667 42.666667 0 0 0 0 85.333334h128a128 128 0 0 0 128-128v-261.376A170.752 170.752 0 0 0 768-42.666667a170.666667 170.666667 0 0 0-42.666667 335.957334zM768 42.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM256 554.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="git-merge" unicode="&#59678;" d="M602.282667 86.997333A426.154667 426.154667 0 0 0 298.666667 255.957333V0a42.666667 42.666667 0 0 0-85.333334 0V474.709333A170.752 170.752 0 0 0 256 810.666667a170.666667 170.666667 0 0 0 44.629333-335.445334 341.461333 341.461333 0 0 1 302.592-302.592A170.752 170.752 0 0 0 938.666667 128a170.666667 170.666667 0 0 0-336.384-41.002667zM768 42.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666zM256 554.666667a85.333333 85.333333 0 1 1 0 170.666666 85.333333 85.333333 0 0 1 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="linkedin" unicode="&#59679;" d="M682.666667 554.666667a298.666667 298.666667 0 0 0 298.666666-298.666667v-298.666667a42.666667 42.666667 0 0 0-42.666666-42.666666h-170.666667a42.666667 42.666667 0 0 0-42.666667 42.666666v298.666667a42.666667 42.666667 0 0 1-85.333333 0v-298.666667a42.666667 42.666667 0 0 0-42.666667-42.666666h-170.666666a42.666667 42.666667 0 0 0-42.666667 42.666666v298.666667a298.666667 298.666667 0 0 0 298.666667 298.666667z m213.333333-554.666667v256a213.333333 213.333333 0 0 1-426.666667 0v-256h85.333334v256a128 128 0 0 0 256 0v-256h85.333333zM85.333333 512h170.666667a42.666667 42.666667 0 0 0 42.666667-42.666667v-512a42.666667 42.666667 0 0 0-42.666667-42.666666H85.333333a42.666667 42.666667 0 0 0-42.666666 42.666666V469.333333a42.666667 42.666667 0 0 0 42.666666 42.666667z m42.666667-85.333333v-426.666667h85.333333V426.666667H128z m42.666667 128a128 128 0 1 0 0 256 128 128 0 0 0 0-256z m0 85.333333a42.666667 42.666667 0 1 1 0 85.333333 42.666667 42.666667 0 0 1 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="hard-drive" unicode="&#59680;" d="M976.426667 403.882667A42.368 42.368 0 0 0 981.333333 384v-256a128 128 0 0 0-128-128H170.666667a128 128 0 0 0-128 128v256a42.666667 42.666667 0 0 0 4.906666 19.882667l146.773334 293.12A128 128 0 0 0 308.906667 768h406.186666c48.597333 0 92.970667-27.562667 114.517334-70.912l146.816-293.205333zM869.589333 426.666667l-116.352 232.32A42.666667 42.666667 0 0 1 715.093333 682.666667H308.906667a42.666667 42.666667 0 0 1-38.144-23.68L154.410667 426.666667h715.178666zM896 341.333333H128v-213.333333a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667v213.333333zM256 170.666667a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 0 0-85.333333z m170.666667 0a42.666667 42.666667 0 1 0 0 85.333333 42.666667 42.666667 0 0 0 0-85.333333z" horiz-adv-x="1024" />
<glyph glyph-name="more-vertical-" unicode="&#59681;" d="M512 298.666667a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z m0 298.666666a85.333333 85.333333 0 1 0 0 170.666667 85.333333 85.333333 0 0 0 0-170.666667z m0-597.333333a85.333333 85.333333 0 1 0 0 170.666667 85.333333 85.333333 0 0 0 0-170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="more-horizontal-" unicode="&#59682;" d="M512 298.666667a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z m298.666667 0a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666zM213.333333 298.666667a85.333333 85.333333 0 1 0 0 170.666666 85.333333 85.333333 0 0 0 0-170.666666z" horiz-adv-x="1024" />
<glyph glyph-name="rss" unicode="&#59683;" d="M170.666667 384a42.666667 42.666667 0 0 0 0 85.333333c235.648 0 426.666667-191.018667 426.666666-426.666666a42.666667 42.666667 0 0 0-85.333333 0 341.333333 341.333333 0 0 1-341.333333 341.333333z m0 298.666667a42.666667 42.666667 0 1 0 0 85.333333c400.597333 0 725.333333-324.736 725.333333-725.333333a42.666667 42.666667 0 0 0-85.333333 0c0 353.450667-286.549333 640-640 640z m42.666666-682.666667a85.333333 85.333333 0 1 0 0 170.666667 85.333333 85.333333 0 0 0 0-170.666667z" horiz-adv-x="1024" />
<glyph glyph-name="send" unicode="&#59684;" d="M923.690667 850.645333a42.666667 42.666667 0 0 0 54.954666-54.954666l-298.368-852.48c-12.8-36.437333-63.573333-38.528-79.274666-3.2l-164.010667 368.981333-368.981333 164.010667c-35.328 15.701333-33.28 66.517333 3.242666 79.274666l852.437334 298.368z m-147.413334-141.994666L201.002667 507.264l258.901333-115.029333 316.373333 316.416z m60.373334-60.373334l-316.416-316.373333 115.029333-258.901333 201.386667 575.274666z" horiz-adv-x="1024" />
<glyph glyph-name="shield-off" unicode="&#59685;" d="M781.789867 174.592l0.426666-0.426667 229.290667-229.333333a42.666667 42.666667 0 0 0-60.330667-60.330667l-198.528 198.528a908.373333 908.373333 0 0 0-220.714666-163.413333 42.666667 42.666667 0 0 0-38.997334-0.426667 738.56 738.56 0 0 0-56.874666 32.64 958.506667 958.506667 0 0 0-122.837334 90.709334C198.237867 143.232 128.008533 257.322667 128.008533 384V682.666667c0 7.125333 1.792 13.994667 4.992 20.010666L12.509867 823.168A42.666667 42.666667 0 1 0 72.840533 883.498667l158.506667-158.506667 1.322667-1.28 549.12-549.12zM213.341867 622.336V384c0-97.28 57.770667-191.189333 156.117333-277.205333a874.24 874.24 0 0 1 142.506667-100.906667 823.04 823.04 0 0 1 180.352 137.472L213.341867 622.336z m298.666666 142.762667L392.1152 720.341333a42.666667 42.666667 0 0 0-29.866667 79.957334l134.826667 50.346666a42.666667 42.666667 0 0 0 29.909333 0l341.333334-128A42.666667 42.666667 0 0 0 896.008533 682.666667v-298.965334a337.066667 337.066667 0 0 0-15.146666-97.706666 42.666667 42.666667 0 0 0-81.493334 25.301333A251.306667 251.306667 0 0 1 810.6752 384V653.098667l-298.666667 112z" horiz-adv-x="1024" />
<glyph glyph-name="shopping-bag" unicode="&#59686;" d="M929.877333 665.941333A42.794667 42.794667 0 0 0 938.666667 640v-597.333333a128 128 0 0 0-128-128H213.333333a128 128 0 0 0-128 128V640a42.666667 42.666667 0 0 0 8.789334 25.941333L221.866667 836.266667A42.666667 42.666667 0 0 0 256 853.333333h512a42.666667 42.666667 0 0 0 34.133333-17.066666l127.744-170.325334zM810.666667 682.666667l-64 85.333333h-469.333334L213.333333 682.666667h597.333334z m42.666666-85.333334H170.666667v-554.666666a42.666667 42.666667 0 0 1 42.666666-42.666667h597.333334a42.666667 42.666667 0 0 1 42.666666 42.666667V597.333333z m-213.333333-128a42.666667 42.666667 0 0 0 85.333333 0 213.333333 213.333333 0 0 0-426.666666 0 42.666667 42.666667 0 1 0 85.333333 0 128 128 0 0 1 256 0z" horiz-adv-x="1024" />
<glyph glyph-name="terminal" unicode="&#59687;" d="M140.501333 652.501333a42.666667 42.666667 0 0 0 60.330667 60.330667l256-256a42.666667 42.666667 0 0 0 0-60.330667l-256-256a42.666667 42.666667 0 1 0-60.330667 60.330667L366.336 426.666667 140.501333 652.501333zM512 42.666667a42.666667 42.666667 0 0 0 0 85.333333h341.333333a42.666667 42.666667 0 0 0 0-85.333333h-341.333333z" horiz-adv-x="1024" />
<glyph glyph-name="truck" unicode="&#59688;" d="M924.288 170.666667a149.333333 149.333333 0 1 0-269.909333 0H369.621333a149.333333 149.333333 0 1 0-269.909333 0H42.666667a42.666667 42.666667 0 0 0-42.666667 42.666666V768a42.666667 42.666667 0 0 0 42.666667 42.666667h640a42.666667 42.666667 0 0 0 42.666666-42.666667v-170.666667h128a42.666667 42.666667 0 0 0 30.165334-12.501333l128-128A42.666667 42.666667 0 0 0 1024 426.666667v-213.333334a42.666667 42.666667 0 0 0-42.666667-42.666666h-57.045333zM640 554.666667V725.333333H85.333333v-469.333333h554.666667V554.666667z m85.333333-42.666667v-256h213.333334v153.002667L835.669333 512H725.333333zM234.666667 42.666667a64 64 0 1 1 0 128 64 64 0 0 1 0-128z m554.666666 0a64 64 0 1 1 0 128 64 64 0 0 1 0-128z" horiz-adv-x="1024" />
<glyph glyph-name="zap-off" unicode="&#59689;" d="M283.613867 552.064L12.509867 823.168A42.666667 42.666667 0 1 0 72.840533 883.498667L371.208533 585.130667l0.682667-0.682667 340.650667-340.650667 0.682666-0.682666 298.282667-298.24a42.666667 42.666667 0 0 0-60.330667-60.373334l-265.642666 265.642667-183.424-220.16c-27.264-32.682667-80.384-9.642667-75.093334 32.64l36.693334 293.376H128.008533a42.666667 42.666667 0 0 0-32.768 69.973333L283.613867 552.106667z m60.586666-60.586667L219.101867 341.333333h275.2L344.2432 491.477333z m208.810667-208.810666l-23.296-186.24 95.232 114.304-71.936 71.936zM483.805867 658.773333A42.666667 42.666667 0 1 0 418.141867 713.386667l103.68 124.586666c27.264 32.725333 80.384 9.728 75.136-32.554666l-25.173334-202.666667a42.666667 42.666667 0 1 0-84.650666 10.496l7.253333 58.282667-10.666667-12.757334zM668.168533 426.666667a42.666667 42.666667 0 0 0 0 85.333333H896.008533a42.666667 42.666667 0 0 0 32.768-70.016l-103.68-124.16a42.666667 42.666667 0 0 0-65.536 54.698667L804.7872 426.666667H668.168533z" horiz-adv-x="1024" />
<glyph glyph-name="youtube" unicode="&#59690;" d="M1003.093333 632.448l0.64-2.773333A1278.72 1278.72 0 0 0 1024 394.837333a1279.573333 1279.573333 0 0 0-20.906667-234.538666 161.536 161.536 0 0 0-113.152-116.181334c-32.426667-8.661333-95.658667-13.994667-184.618666-17.365333a5295.061333 5295.061333 0 0 0-253.781334-3.242667c-45.269333 0.554667-90.538667 1.621333-132.906666 3.242667-88.917333 3.413333-152.192 8.704-184.832 17.408-54.442667 14.933333-97.109333 57.173333-113.493334 115.498667A1278.464 1278.464 0 0 0 0 394.453333C-0.426667 472.746667 6.4 550.912 20.906667 630.741333a161.536 161.536 0 0 0 113.109333 116.181334c32.426667 8.661333 95.701333 13.994667 184.618667 17.365333a5295.061333 5295.061333 0 0 0 253.738666 3.285333c45.226667-0.512 90.496-1.450667 132.821334-2.944 88.661333-3.072 151.765333-7.936 185.344-16.170666a161.28 161.28 0 0 0 112.554666-116.053334z m-83.072-19.498667a75.392 75.392 0 0 1-51.2 53.034667c-24.064 5.845333-84.48 10.496-166.570666 13.354667a5711.914667 5711.914667 0 0 1-249.6 2.858666c-44.586667-0.554667-89.173333-1.578667-130.688-3.157333-81.792-3.114667-142.08-8.192-165.248-14.378667-26.197333-7.424-46.421333-28.245333-52.394667-51.84A1196.202667 1196.202667 0 0 1 85.333333 394.368c-0.469333-73.6 5.845333-147.072 17.962667-215.466667 7.253333-25.514667 27.392-45.397333 52.778667-52.352 23.765333-6.357333 84.053333-11.434667 165.845333-14.506666a5212.416 5212.416 0 0 1 249.429333-3.2c44.586667 0.554667 89.173333 1.578667 130.688 3.157333 81.792 3.114667 142.08 8.192 165.248 14.378667 26.197333 7.424 46.421333 28.245333 52.394667 51.84 12.885333 71.381333 19.2 143.786667 18.986667 216.746666a1194.666667 1194.666667 0 0 1-18.688 218.026667z m-482.901333-394.88a42.666667 42.666667 0 0 0-63.744 37.077334V534.186667a42.666667 42.666667 0 0 0 63.744 37.12l245.333333-139.52a42.666667 42.666667 0 0 0 0-74.24l-245.333333-139.52z m137.941333 176.597334L458.666667 460.8v-132.266667l116.352 66.133334z" horiz-adv-x="1024" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 210 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,357 @@
// ** React Imports
import { useState } from 'react'
// ** Third Party Components
import Select from 'react-select'
import classnames from 'classnames'
import { Settings, X } from 'react-feather'
import { FormGroup, Input } from 'reactstrap'
import PerfectScrollbar from 'react-perfect-scrollbar'
import { selectThemeColors } from '../../../utility/Utils';
// ** Styles
import "../../scss/react/libs/react-select/_react-select.scss";
const Customizer = props => {
// ** Props
const {
skin,
setSkin,
isRtl,
setIsRtl,
layout,
setLayout,
navbarType,
setNavbarType,
footerType,
setFooterType,
navbarColor,
setNavbarColor,
isHidden,
setIsHidden,
contentWidth,
setContentWidth,
menuCollapsed,
setMenuCollapsed,
transition,
setTransition
} = props
// ** State
const [openCustomizer, setOpenCustomizer] = useState(false)
// ** Toggles Customizer
const handleToggle = e => {
e.preventDefault()
setOpenCustomizer(!openCustomizer)
}
// ** Render Layout Skin Options
const renderSkinsRadio = () => {
const skinsArr = [
{
name: 'light',
label: 'Light',
checked: skin === 'light'
},
{
name: 'bordered',
label: 'Bordered',
checked: skin === 'bordered'
},
{
name: 'dark',
label: 'Dark',
checked: skin === 'dark'
},
{
name: 'semi-dark',
label: 'Semi Dark',
checked: skin === 'semi-dark'
}
]
return skinsArr.map((radio, index) => {
const marginCondition = index !== skinsArr.length - 1
if (layout === 'HorizontalLayout' && radio.name === 'semi-dark') {
return null
}
return (
<Input
key={index}
type='radio'
id={radio.name}
label={radio.label}
checked={radio.checked}
onChange={() => setSkin(radio.name)}
className={classnames({ 'mr-1': marginCondition })}
/>
)
})
}
// ** Render Navbar Colors Options
const renderNavbarColors = () => {
const colorsArr = ['white', 'primary', 'secondary', 'success', 'danger', 'info', 'warning', 'dark']
return colorsArr.map(color => (
<li
key={color}
className={classnames(`color-box bg-${color}`, {
selected: navbarColor === color,
border: color === 'white'
})}
onClick={() => setNavbarColor(color)}
></li>
))
}
// ** Render Navbar Type Options
const renderNavbarTypeRadio = () => {
const navbarTypeArr = [
{
name: 'floating',
label: 'Floating',
checked: navbarType === 'floating'
},
{
name: 'sticky',
label: 'Sticky',
checked: navbarType === 'sticky'
},
{
name: 'static',
label: 'Static',
checked: navbarType === 'static'
},
{
name: 'hidden',
label: 'Hidden',
checked: navbarType === 'hidden'
}
]
return navbarTypeArr.map((radio, index) => {
const marginCondition = index !== navbarTypeArr.length - 1
if (layout === 'HorizontalLayout' && radio.name === 'hidden') {
return null
}
return (
<Input
key={index}
type='radio'
id={radio.name}
label={radio.label}
checked={radio.checked}
onChange={() => setNavbarType(radio.name)}
className={classnames({ 'mr-1': marginCondition })}
/>
)
})
}
// ** Render Footer Type Options
const renderFooterTypeRadio = () => {
const footerTypeArr = [
{
name: 'sticky',
label: 'Sticky',
checked: footerType === 'sticky'
},
{
name: 'static',
label: 'Static',
checked: footerType === 'static'
},
{
name: 'hidden',
label: 'Hidden',
checked: footerType === 'hidden'
}
]
return footerTypeArr.map((radio, index) => {
const marginCondition = index !== footerTypeArr.length - 1
return (
<Input
key={index}
type='radio'
id={`footer-${radio.name}`}
label={radio.label}
checked={radio.checked}
onChange={() => setFooterType(radio.name)}
className={classnames({ 'mr-1': marginCondition })}
/>
)
})
}
// ** Router Transition Options
const transitionOptions = [
{ value: 'fadeIn', label: 'Fade' },
{ value: 'fadeInLeft', label: 'Fade In Left' },
{ value: 'zoomIn', label: 'Zoom In' },
{ value: 'none', label: 'None' }
]
// ** Get Current Transition
const transitionValue = transitionOptions.find(i => i.value === transition)
return (
<div
className={classnames('customizer d-none d-md-block', {
open: openCustomizer
})}
>
<a href='/' className='customizer-toggle d-flex align-items-center justify-content-center' onClick={handleToggle}>
<Settings size={14} className='spinner' />
</a>
<PerfectScrollbar className='customizer-content'>
<div className='customizer-header px-2 pt-1 pb-0 position-relative'>
<h4 className='mb-0'>Theme Customizer</h4>
<p className='m-0'>Customize & Preview in Real Time</p>
<a href='/' className='customizer-close' onClick={handleToggle}>
<X />
</a>
</div>
<hr />
<div className='px-2'>
<FormGroup className='mb-2'>
<p className='font-weight-bold'>Skin</p>
<div className='d-flex'>{renderSkinsRadio()}</div>
</FormGroup>
<FormGroup className='mb-2'>
<p className='font-weight-bold'>Content Width</p>
<div className='d-flex'>
<Input
type='radio'
id='full-width'
className='mr-1'
label='Full Width'
checked={contentWidth === 'full'}
onChange={() => setContentWidth('full')}
/>
<Input
type='radio'
id='boxes'
label='Boxed'
checked={contentWidth === 'boxed'}
onChange={() => setContentWidth('boxed')}
/>
</div>
</FormGroup>
<FormGroup className='mb-2'>
<div className='d-flex'>
<p className='font-weight-bold mr-auto mb-0'>RTL</p>
<Input type='switch' id='rtl' name='RTL' checked={isRtl} onChange={() => setIsRtl(!isRtl)} />
</div>
</FormGroup>
<FormGroup className='mb-2'>
<div className='d-flex justify-content-between align-items-center'>
<p className='font-weight-bold mb-0'>Router Transition</p>
<Select
theme={selectThemeColors}
className='react-select'
classNamePrefix='select'
defaultValue={transitionOptions[0]}
value={transitionValue}
options={transitionOptions}
isClearable={false}
onChange={({ value }) => setTransition(value)}
/>
</div>
</FormGroup>
</div>
<hr />
<div className='px-2'>
<p className='font-weight-bold'>Menu Layout</p>
<FormGroup className='mb-2'>
<div className='d-flex align-items-center'>
<Input
type='radio'
id='vertical-layout'
label='Vertical'
checked={layout === 'VerticalLayout'}
onChange={() => setLayout('vertical')}
className='mr-1'
/>
<Input
type='radio'
id='horizontal-layout'
label='Horizontal'
checked={layout === 'HorizontalLayout'}
onChange={() => setLayout('horizontal')}
/>
</div>
</FormGroup>
{layout !== 'HorizontalLayout' ? (
<FormGroup className='mb-2'>
<div className='d-flex align-items-center'>
<p className='font-weight-bold mr-auto mb-0'>Menu Collapsed</p>
<Input
type='switch'
id='menu-collapsed'
name='menu-collapsed'
checked={menuCollapsed}
onChange={() => setMenuCollapsed(!menuCollapsed)}
/>
</div>
</FormGroup>
) : null}
<FormGroup className='mb-2'>
<div className='d-flex align-items-center'>
<p className='font-weight-bold mr-auto mb-0'>Menu Hidden</p>
<Input
type='switch'
id='menu-hidden'
name='menu-hidden'
checked={isHidden}
onChange={() => setIsHidden(!isHidden)}
/>
</div>
</FormGroup>
</div>
<hr />
<div className='px-2'>
{layout !== 'HorizontalLayout' ? (
<FormGroup className='mb-2'>
<p className='font-weight-bold'>Navbar Color</p>
<ul className='list-inline unstyled-list'>{renderNavbarColors()}</ul>
</FormGroup>
) : null}
<FormGroup className='mb-2'>
<p className='font-weight-bold'>{layout === 'HorizontalLayout' ? 'Menu' : 'Navbar'} Type</p>
<div className='d-flex'>{renderNavbarTypeRadio()}</div>
</FormGroup>
</div>
<hr />
<div className='px-2'>
<FormGroup className='mb-2'>
<p className='font-weight-bold'>Footer Type</p>
<div className='d-flex'>{renderFooterTypeRadio()}</div>
</FormGroup>
</div>
</PerfectScrollbar>
</div>
)
}
export default Customizer

View File

@@ -0,0 +1,98 @@
// ** React Imports
import { Fragment, useState } from 'react'
// ** Third Party Components
import PropTypes from 'prop-types'
import classnames from 'classnames'
import { Eye, EyeOff } from 'react-feather'
import { InputGroup, Input, InputGroupText, Label, inputClassName } from 'reactstrap'
const InputPasswordToggle = props => {
// ** Props
const {
label,
hideIcon,
showIcon,
visible,
className,
htmlFor,
placeholder,
iconSize,
inputClassName,
...rest
} = props
// ** State
const [inputVisibility, setInputVisibility] = useState(visible)
// ** Renders Icon Based On Visibility
const renderIcon = () => {
const size = iconSize ? iconSize : 14
if (inputVisibility === false) {
return hideIcon ? hideIcon : <Eye size={size} />
} else {
return showIcon ? showIcon : <EyeOff size={size} />
}
}
return (
<Fragment>
{label ? <Label for={htmlFor}>{label}</Label> : null}
<InputGroup
className={classnames({
[className]: className
})}
>
<Input
type={inputVisibility === false ? 'password' : 'text'}
placeholder={placeholder ? placeholder : '············'}
className={classnames({
[inputClassName]: inputClassName
})}
/*eslint-disable */
{...(label && htmlFor
? {
id: htmlFor
}
: {})}
{...rest}
/*eslint-enable */
/>
<InputGroupText addonType='append' onClick={() => setInputVisibility(!inputVisibility)}>
<InputGroupText className='cursor-pointer'>{renderIcon()}</InputGroupText>
</InputGroupText>
</InputGroup>
</Fragment>
)
}
export default InputPasswordToggle
// ** PropTypes
InputPasswordToggle.propTypes = {
hideIcon: PropTypes.node,
showIcon: PropTypes.node,
visible: PropTypes.bool,
className: PropTypes.string,
placeholder: PropTypes.string,
iconSize: PropTypes.number,
inputClassName: PropTypes.string,
label(props, propName, componentName) {
// ** If label is defined and htmlFor is undefined throw error
if (props[propName] && props['htmlFor'] === 'undefined') {
throw new Error('htmlFor prop is required when label prop is present')
}
},
htmlFor(props, propName, componentName) {
// ** If htmlFor is defined and label is undefined throw error
if (props[propName] && props['label'] === 'undefined') {
throw new Error('label prop is required when htmlFor prop is present')
}
}
}
// ** Default Props
InputPasswordToggle.defaultProps = {
visible: false
}

View File

@@ -0,0 +1,75 @@
// ** React Imports
import { useState, useEffect } from 'react'
// ** Third Party Components
import { Button } from 'reactstrap'
import classnames from 'classnames'
// ** Styles
import './ripple-button.scss'
const RippleButton = ({ className, children, onClick, ...rest }) => {
// ** States
const [mounted, setMounted] = useState(false)
const [isRippling, setIsRippling] = useState(false)
const [coords, setCoords] = useState({ x: -1, y: -1 })
// ** Toggle mounted on mount & unmount
useEffect(() => {
setMounted(true)
return () => setMounted(false)
}, [])
// ** Check for coords and set ripple
useEffect(() => {
if (mounted) {
if (coords.x !== -1 && coords.y !== -1) {
setIsRippling(true)
setTimeout(() => setIsRippling(false), 500)
} else {
setIsRippling(false)
}
}
}, [coords])
// ** Reset Coords on ripple end
useEffect(() => {
if (mounted) {
if (!isRippling) setCoords({ x: -1, y: -1 })
}
}, [isRippling])
return (
<Button
className={classnames('waves-effect', {
[className]: className
})}
onClick={e => {
const rect = e.target.getBoundingClientRect()
setCoords({ x: e.clientX - rect.left, y: e.clientY - rect.top })
if (onClick) {
onClick(e)
}
}}
{...rest}
>
{children}
{isRippling ? (
<span
className='waves-ripple'
style={{
left: coords.x,
top: coords.y
}}
></span>
) : null}
</Button>
)
}
// ** PropTypes
RippleButton.propTypes = {
...Button.propTypes
}
Button.Ripple = RippleButton

View File

@@ -0,0 +1,36 @@
// Component: Ripple Button
// ========================================================================
@import '../../scss/base/bootstrap-extended/include';
@import '../../scss/base/components/include';
.waves-effect {
position: relative;
overflow: hidden;
.waves-ripple {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
opacity: 0;
width: 0;
height: 0;
border-radius: 50%;
background: rgba($color: $white, $alpha: 0.5);
animation: ripple-effect 0.4s ease;
}
}
@keyframes ripple-effect {
0% {
opacity: 0;
}
25% {
opacity: 1;
}
100% {
width: 200%;
padding-bottom: 200%;
opacity: 0;
}
}

View File

@@ -0,0 +1,13 @@
const SpinnerComponent = () => {
return (
<div className='fallback-spinner vh-100'>
<div className='loading'>
<div className='effect-1 effects'></div>
<div className='effect-2 effects'></div>
<div className='effect-3 effects'></div>
</div>
</div>
)
}
export default SpinnerComponent

View File

@@ -0,0 +1,13 @@
const ComponentSpinner = () => {
return (
<div className='fallback-spinner'>
<div className='loading component-loader'>
<div className='effect-1 effects'></div>
<div className='effect-2 effects'></div>
<div className='effect-3 effects'></div>
</div>
</div>
)
}
export default ComponentSpinner

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,35 @@
// ** React Imports
import { useEffect, useState } from 'react'
// ** Custom Hooks
import { useSkin } from '../../utility/hooks/useSkin';
const BlankLayout = ({ children, ...rest }) => {
// ** Hooks
const [skin, setSkin] = useSkin()
// ** States
const [isMounted, setIsMounted] = useState(false)
//** ComponentDidMount
useEffect(() => {
setIsMounted(true)
return () => setIsMounted(false)
}, [])
if (!isMounted) {
return null
}
return (
<div className='blank-page'>
<div className='app-content content'>
<div className='content-wrapper'>
<div className='content-body'>{children}</div>
</div>
</div>
</div>
)
}
export default BlankLayout

View File

@@ -0,0 +1,255 @@
// ** React Imports
import { useState, useEffect } from "react";
import { Link } from "react-router-dom";
// ** Store & Actions
import { useSelector, useDispatch } from "react-redux";
import { handleMenuHidden, handleContentWidth } from "../../redux/actions/layout/index";
// ** Third Party Components
import classnames from "classnames";
import { ArrowUp } from "react-feather";
import ScrollToTop from "react-scroll-up";
import { Navbar, NavItem, Button } from "reactstrap";
// ** Configs
import themeConfig from "../../configs/themeConfig";
// ** Custom Components
import Customizer from "../../@core/components/customizer/index";
import NavbarComponent from "./components/navbar";
import FooterComponent from "./components/footer";
import MenuComponent from "./components/menu/horizontal-menu";
// ** Custom Hooks
import { useRTL } from "../../utility/hooks/useRTL";
import { useSkin } from "../../utility/hooks/useSkin";
import { useNavbarType } from "../../utility/hooks/useNavbarType";
import { useFooterType } from "../../utility/hooks/useFooterType";
import { useNavbarColor } from "../../utility/hooks/useNavbarColor";
// ** Styles
import "../scss/base/core/menu/menu-types/horizontal-menu.scss";
const HorizontalLayout = (props) => {
// ** Props
const { children, navbar, footer, menu, currentActiveItem, routerProps } =
props;
// ** Hooks
const [skin, setSkin] = useSkin();
const [isRtl, setIsRtl] = useRTL();
const [navbarType, setNavbarType] = useNavbarType();
const [footerType, setFooterType] = useFooterType();
const [navbarColor, setNavbarColor] = useNavbarColor();
// ** States
const [isMounted, setIsMounted] = useState(false);
const [navbarScrolled, setNavbarScrolled] = useState(false);
// ** Store Vars
const dispatch = useDispatch();
const layoutStore = useSelector((state) => state.layout);
// ** Vars
const contentWidth = layoutStore.contentWidth;
const isHidden = layoutStore.menuHidden;
// ** Handles Content Width
const setContentWidth = (val) => dispatch(handleContentWidth(val));
// ** Handles Content Width
const setIsHidden = (val) => dispatch(handleMenuHidden(val));
// ** UseEffect Cleanup
const cleanup = () => {
setIsMounted(false);
setNavbarScrolled(false);
};
//** ComponentDidMount
useEffect(() => {
setIsMounted(true);
window.addEventListener("scroll", function () {
if (window.pageYOffset > 65 && navbarScrolled === false) {
setNavbarScrolled(true);
}
if (window.pageYOffset < 65) {
setNavbarScrolled(false);
}
});
return () => cleanup();
}, []);
// ** Vars
const footerClasses = {
static: "footer-static",
sticky: "footer-fixed",
hidden: "footer-hidden",
};
const navbarWrapperClasses = {
floating: "navbar-floating",
sticky: "navbar-sticky",
static: "navbar-static",
};
const navbarClasses = {
floating: "floating-nav",
sticky: "fixed-top",
};
const bgColorCondition =
navbarColor !== "" && navbarColor !== "light" && navbarColor !== "white";
if (!isMounted) {
return null;
}
return (
<div
className={classnames(
`wrapper horizontal-layout horizontal-menu ${
navbarWrapperClasses[navbarType] || "navbar-floating"
} ${footerClasses[footerType] || "footer-static"} menu-expanded`
)}
{...(isHidden ? { "data-col": "1-column" } : {})}
>
<Navbar
expand="lg"
className={classnames(
"header-navbar navbar-fixed align-items-center navbar-shadow navbar-brand-center",
{
"navbar-scrolled": navbarScrolled,
}
)}
>
<div className="navbar-container d-flex content">
{navbar ? (
navbar({ skin, setSkin })
) : (
<>
<ul className="nav navbar-nav align-items-center mr-auto">
<img
src="./enerji-istanbul-logo.png"
alt="istanbul enerji"
width="80px"
height="30px"
style={{ marginRight: "10px" }}
/>
</ul>
</>
)}
</div>
{!navbar && (
<div className="navbar-header d-xl-block d-none">
<ul className="nav navbar-nav">
<NavItem>
<Link to="/" className="navbar-brand">
<img
src="./Secapsoft.png"
alt="secapSoft"
width="40px"
height="40px"
style={{ marginRight: "-10px" }}
/>
<h2 className="brand-text mb-0">B'GREEN</h2>
</Link>
</NavItem>
</ul>
</div>
)}
<div className="navbar-container d-flex content">
{navbar ? (
navbar({ skin, setSkin })
) : (
<NavbarComponent skin={skin} setSkin={setSkin} />
)}
</div>
</Navbar>
{!isHidden ? (
<div className="horizontal-menu-wrapper">
<Navbar
tag="div"
expand="sm"
light={skin !== "dark"}
dark={skin === "dark" || bgColorCondition}
className={classnames(
`header-navbar navbar-horizontal navbar-shadow menu-border`,
{
[navbarClasses[navbarType]]: navbarType !== "static",
"floating-nav":
(!navbarClasses[navbarType] && navbarType !== "static") ||
navbarType === "floating",
}
)}
>
{menu ? (
menu({ routerProps, currentActiveItem })
) : (
<MenuComponent
routerProps={routerProps}
currentActiveItem={currentActiveItem}
/>
)}
</Navbar>
</div>
) : null}
{children}
{themeConfig.layout.customizer === true ? (
<Customizer
skin={skin}
setSkin={setSkin}
footerType={footerType}
setFooterType={setFooterType}
navbarType={navbarType}
setNavbarType={setNavbarType}
navbarColor={navbarColor}
setNavbarColor={setNavbarColor}
isRtl={isRtl}
setIsRtl={setIsRtl}
layout={props.layout}
setLayout={props.setLayout}
isHidden={isHidden}
setIsHidden={setIsHidden}
contentWidth={contentWidth}
setContentWidth={setContentWidth}
transition={props.transition}
setTransition={props.setTransition}
themeConfig={themeConfig}
/>
) : null}
<footer
className={classnames(
`footer footer-light ${footerClasses[footerType] || "footer-static"}`,
{
"d-none": footerType === "hidden",
}
)}
>
{footer ? (
footer({ footerType, footerClasses })
) : (
<FooterComponent
footerType={footerType}
footerClasses={footerClasses}
/>
)}
</footer>
{themeConfig.layout.scrollTop === true ? (
<div className="scroll-to-top">
<ScrollToTop showUnder={300} style={{ bottom: "5%" }}>
<Button className="btn-icon" color="primary">
<ArrowUp size={14} />
</Button>
</ScrollToTop>
</div>
) : null}
</div>
);
};
export default HorizontalLayout;

View File

@@ -0,0 +1,232 @@
// ** React Imports
import { useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
// ** Store & Actions
import { useSelector, useDispatch } from 'react-redux'
import { handleMenuHidden, handleContentWidth,handleMenuCollapsed } from "../../redux/actions/layout/index";
// ** Third Party Components
import classnames from 'classnames'
import { ArrowUp } from 'react-feather'
import ScrollToTop from 'react-scroll-up'
import { Navbar, Button } from 'reactstrap'
// ** Configs
import themeConfig from "../../configs/themeConfig";
// ** Custom Components
import Customizer from "../../@core/components/customizer/index";
import NavbarComponent from "./components/navbar";
import FooterComponent from "./components/footer";
import SidebarComponent from './components/menu/vertical-menu'
// ** Custom Hooks
import { useRTL } from "../../utility/hooks/useRTL";
import { useSkin } from "../../utility/hooks/useSkin";
import { useNavbarType } from "../../utility/hooks/useNavbarType";
import { useFooterType } from "../../utility/hooks/useFooterType";
import { useNavbarColor } from "../../utility/hooks/useNavbarColor";
// ** Styles
import '../scss/base/core/menu/menu-types/vertical-menu.scss'
import '../scss/base/core/menu/menu-types/vertical-overlay-menu.scss'
const VerticalLayout = props => {
// ** Props
const { children, navbar, footer, menu, routerProps, currentActiveItem } = props
// ** Hooks
const [skin, setSkin] = useSkin()
const [isRtl, setIsRtl] = useRTL()
const [navbarType, setNavbarType] = useNavbarType()
const [footerType, setFooterType] = useFooterType()
const [navbarColor, setNavbarColor] = useNavbarColor()
// ** States
const [isMounted, setIsMounted] = useState(false)
const [menuVisibility, setMenuVisibility] = useState(false)
const [windowWidth, setWindowWidth] = useState(window.innerWidth)
// ** Store Vars
const dispatch = useDispatch()
const layoutStore = useSelector(state => state.layout)
// ** Update Window Width
const handleWindowWidth = () => {
setWindowWidth(window.innerWidth)
}
// ** Vars
const location = useLocation()
const contentWidth = layoutStore.contentWidth
const menuCollapsed = layoutStore.menuCollapsed
const isHidden = layoutStore.menuHidden
// ** Toggles Menu Collapsed
const setMenuCollapsed = val => dispatch(handleMenuCollapsed(val))
// ** Handles Content Width
const setContentWidth = val => dispatch(handleContentWidth(val))
// ** Handles Content Width
const setIsHidden = val => dispatch(handleMenuHidden(val))
//** This function will detect the Route Change and will hide the menu on menu item click
useEffect(() => {
if (menuVisibility && windowWidth < 1200) {
setMenuVisibility(false)
}
}, [location])
//** Sets Window Size & Layout Props
useEffect(() => {
if (window !== undefined) {
window.addEventListener('resize', handleWindowWidth)
}
}, [windowWidth])
//** ComponentDidMount
useEffect(() => {
setIsMounted(true)
return () => setIsMounted(false)
}, [])
// ** Vars
const footerClasses = {
static: 'footer-static',
sticky: 'footer-fixed',
hidden: 'footer-hidden'
}
const navbarWrapperClasses = {
floating: 'navbar-floating',
sticky: 'navbar-sticky',
static: 'navbar-static',
hidden: 'navbar-hidden'
}
const navbarClasses = {
floating: 'floating-nav',
sticky: 'fixed-top',
static: 'navbar-static-top',
hidden: 'd-none'
}
const bgColorCondition = navbarColor !== '' && navbarColor !== 'light' && navbarColor !== 'white'
if (!isMounted) {
return null
}
return (
<div
className={classnames(
`wrapper vertical-layout ${navbarWrapperClasses[navbarType] || 'navbar-floating'} ${
footerClasses[footerType] || 'footer-static'
}`,
{
// Modern Menu
'vertical-menu-modern': windowWidth >= 1200,
'menu-collapsed': menuCollapsed && windowWidth >= 1200,
'menu-expanded': !menuCollapsed && windowWidth > 1200,
// Overlay Menu
'vertical-overlay-menu': windowWidth < 1200,
'menu-hide': !menuVisibility && windowWidth < 1200,
'menu-open': menuVisibility && windowWidth < 1200
}
)}
{...(isHidden ? { 'data-col': '1-column' } : {})}
>
{!isHidden ? (
<SidebarComponent
skin={skin}
menu={menu}
menuCollapsed={menuCollapsed}
menuVisibility={menuVisibility}
setMenuCollapsed={setMenuCollapsed}
setMenuVisibility={setMenuVisibility}
routerProps={routerProps}
currentActiveItem={currentActiveItem}
/>
) : null}
<Navbar
expand='lg'
light={skin !== 'dark'}
dark={skin === 'dark' || bgColorCondition}
color={bgColorCondition ? navbarColor : undefined}
className={classnames(
`header-navbar navbar align-items-center ${navbarClasses[navbarType] || 'floating-nav'} navbar-shadow`
)}
>
<div className='navbar-container d-flex content'>
{navbar ? (
navbar({ setMenuVisibility, skin, setSkin })
) : (
<NavbarComponent setMenuVisibility={setMenuVisibility} skin={skin} setSkin={setSkin} />
)}
</div>
</Navbar>
{children}
{/* Vertical Nav Menu Overlay */}
<div
className={classnames('sidenav-overlay', {
show: menuVisibility
})}
onClick={() => setMenuVisibility(false)}
></div>
{/* Vertical Nav Menu Overlay */}
{themeConfig.layout.customizer === true ? (
<Customizer
skin={skin}
setSkin={setSkin}
footerType={footerType}
setFooterType={setFooterType}
navbarType={navbarType}
setNavbarType={setNavbarType}
navbarColor={navbarColor}
setNavbarColor={setNavbarColor}
isRtl={isRtl}
setIsRtl={setIsRtl}
layout={props.layout}
setLayout={props.setLayout}
isHidden={isHidden}
setIsHidden={setIsHidden}
contentWidth={contentWidth}
setContentWidth={setContentWidth}
menuCollapsed={menuCollapsed}
setMenuCollapsed={setMenuCollapsed}
transition={props.transition}
setTransition={props.setTransition}
themeConfig={themeConfig}
/>
) : null}
<footer
className={classnames(`footer footer-light ${footerClasses[footerType] || 'footer-static'}`, {
'd-none': footerType === 'hidden'
})}
>
{footer ? (
footer({ footerType, footerClasses })
) : (
<FooterComponent footerType={footerType} footerClasses={footerClasses} />
)}
</footer>
{themeConfig.layout.scrollTop === true ? (
<div className='scroll-to-top'>
<ScrollToTop showUnder={300} style={{ bottom: '5%' }}>
<Button className='btn-icon' color='primary'>
<ArrowUp size={14} />
</Button>
</ScrollToTop>
</div>
) : null}
</div>
)
}
export default VerticalLayout

View File

@@ -0,0 +1,11 @@
const Footer = () => {
return (
<p className='clearfix mb-0'>
<span className='float-md-right d-none d-md-block'>
BLC İletişim ve Güvenlik Sistemleri © {new Date().getFullYear()}
</span>
</p>
)
}
export default Footer

View File

@@ -0,0 +1,93 @@
// ** React Imports
import { Fragment, useEffect } from "react";
// ** Third Party Components
import classnames from "classnames";
// ** Store & Actions
import { useSelector, useDispatch } from "react-redux";
import {
handleContentWidth,
handleMenuCollapsed,
handleMenuHidden,
} from "../../../../redux/actions/layout/index";
// ** Styles
import "animate.css/animate.css";
const LayoutWrapper = (props) => {
// ** Props
const { layout, children, appLayout, wrapperClass, transition, routeMeta } =
props;
// ** Store Vars
const dispatch = useDispatch();
const store = useSelector((state) => state);
const contentWidth = store.layout.contentWidth;
//** Vars
const Tag = layout === "HorizontalLayout" && !appLayout ? "div" : Fragment;
// ** Clean Up Function
const cleanUp = () => {
if (routeMeta) {
if (routeMeta.contentWidth) {
dispatch(handleContentWidth("full"));
}
if (routeMeta.menuCollapsed) {
dispatch(handleMenuCollapsed(!routeMeta.menuCollapsed));
}
if (routeMeta.menuHidden) {
dispatch(handleMenuHidden(!routeMeta.menuHidden));
}
}
};
// ** ComponentDidMount
useEffect(() => {
if (routeMeta) {
if (routeMeta.contentWidth) {
dispatch(handleContentWidth(routeMeta.contentWidth));
}
if (routeMeta.menuCollapsed) {
dispatch(handleMenuCollapsed(routeMeta.menuCollapsed));
}
if (routeMeta.menuHidden) {
dispatch(handleMenuHidden(routeMeta.menuHidden));
}
}
return () => cleanUp();
}, []);
return (
<div
className={classnames("app-content content overflow-hidden", {
[wrapperClass]: wrapperClass,
})}
>
<div className="content-overlay"></div>
<div className="header-navbar-shadow" />
<div
className={classnames({
"content-wrapper": !appLayout,
"content-area-wrapper": appLayout,
"container p-0": contentWidth === "boxed",
[`animate__animated animate__${transition}`]:
transition !== "none" && transition.length,
})}
>
<Tag
/*eslint-disable */
{...(layout === "HorizontalLayout" && !appLayout
? { className: classnames({ "content-body": !appLayout }) }
: {})}
/*eslint-enable */
>
{children}
</Tag>
</div>
</div>
);
};
export default LayoutWrapper;

View File

@@ -0,0 +1,122 @@
// ** React Imports
import { Link, useLocation } from "react-router-dom";
// ** Third Party Components
import classnames from "classnames";
import { Dropdown, DropdownMenu, DropdownToggle } from "reactstrap";
// ** Utils
import { isNavGroupActive } from "../../../utils";
// ** Horizontal Menu Items Component
import HorizontalNavMenuItems from "./HorizontalNavMenuItems";
import { useTranslation } from "react-i18next";
const HorizontalNavMenuGroup = (props) => {
// ** Props
const {
item,
submenu,
groupActive,
onMouseEnter,
onMouseLeave,
openDropdown,
setGroupActive,
activeItem,
setActiveItem,
routerProps,
setOpenDropdown,
currentActiveItem,
} = props;
const { t } = useTranslation();
// ** URL Var
const currentURL = useLocation().pathname;
// ** Dropdown menu modifiers
const menuModifiers = [{
setMaxHeight: {
enabled: true,
fn: (data) => {
const pageHeight = window.innerHeight,
ddTop = data.instance.reference.getBoundingClientRect().top,
ddHeight = data.popper.height;
let maxHeight, stylesObj;
// ** Calculate and set height
if (pageHeight - ddTop - ddHeight - 28 < 1) {
maxHeight = pageHeight - ddTop - 25;
stylesObj = {
maxHeight,
overflowY: "auto",
};
}
const ddRef = data.instance.popper.getBoundingClientRect();
// ** If there is not space left to open sub menu open it to the right
if (ddRef.left + ddRef.width - (window.innerWidth - 16) >= 0) {
data.instance.popper.closest(".dropdown").classList.add("openLeft");
}
return {
...data,
styles: {
...stylesObj,
},
};
},
},
}];
return (
<Dropdown
tag="li"
className={classnames({
"nav-item": submenu === false,
"dropdown-submenu": submenu === true,
"sidebar-group-active active":
isNavGroupActive(item.children, currentURL, routerProps) ||
groupActive.includes(item.id),
})}
isOpen={openDropdown.includes(item.id)}
toggle={() => onMouseEnter(item.id)}
onMouseEnter={() => onMouseEnter(item.id)}
onMouseLeave={() => onMouseLeave(item.id)}
>
<DropdownToggle
to="/"
tag={Link}
className={classnames("dropdown-toggle d-flex align-items-center", {
"dropdown-item": submenu === true,
"nav-link": submenu === false,
})}
onClick={(e) => e.preventDefault()}
>
{item.icon}
<span>{t(item.title)}</span>
</DropdownToggle>
<DropdownMenu tag="ul" modifiers={menuModifiers}>
<HorizontalNavMenuItems
submenu={true}
parentItem={item}
items={item.children}
activeItem={activeItem}
groupActive={groupActive}
routerProps={routerProps}
openDropdown={openDropdown}
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
setActiveItem={setActiveItem}
setGroupActive={setGroupActive}
isChild={true}
setOpenDropdown={setOpenDropdown}
currentActiveItem={currentActiveItem}
/>
</DropdownMenu>
</Dropdown>
);
};
export default HorizontalNavMenuGroup;

View File

@@ -0,0 +1,23 @@
// ** Menu Components Imports
import HorizontalNavMenuLink from './HorizontalNavMenuLink'
import HorizontalNavMenuGroup from './HorizontalNavMenuGroup'
import { resolveHorizontalNavMenuItemComponent as resolveNavItemComponent } from "../../../utils";
const HorizontalNavMenuItems = props => {
// ** Components Object
const Components = {
HorizontalNavMenuGroup,
HorizontalNavMenuLink
}
// ** Render Nav Items
const RenderNavItems = props.items.map((item, index) => {
const TagName = Components[resolveNavItemComponent(item)]
return <TagName item={item} index={index} key={item.id} {...props} />
})
return RenderNavItems
}
export default HorizontalNavMenuItems

View File

@@ -0,0 +1,102 @@
// ** React Imports
import { useEffect } from "react";
import { NavLink, useLocation } from "react-router-dom";
// ** Horizontal menu items array
import navigation from "../../../../../navigation/horizontal/index";
// ** Third Party Components
import classnames from "classnames";
// ** Utils
import { isNavLinkActive, search, getAllParents } from "../../../utils";
import { useTranslation } from "react-i18next";
const HorizontalNavMenuLink = ({
item,
setOpenDropdown,
setGroupActive,
activeItem,
setActiveItem,
routerProps,
currentActiveItem,
isChild,
}) => {
const { t } = useTranslation();
// ** Conditional Link Tag, if item has newTab or externalLink props use <a> tag else use NavLink
const LinkTag = item.externalLink ? "a" : NavLink;
// ** URL Vars
const location = useLocation();
const currentURL = location.pathname;
const navLinkActive = isNavLinkActive(item.navLink, currentURL, routerProps);
// ** Get parents of current items
const searchParents = (navigation, currentURL) => {
const parents = search(navigation, currentURL, routerProps); // Search for parent object
const allParents = getAllParents(parents, "id"); // Parents Object to Parents Array
allParents.pop();
return allParents;
};
// ** Remove all items from OpenDropdown array
const resetOpenDropdowns = () => setOpenDropdown([]);
// ** On mount update active group array
useEffect(() => {
if (currentActiveItem !== null) {
setActiveItem(currentActiveItem);
const arr = searchParents(navigation, currentURL);
setGroupActive([...arr]);
}
}, [location]);
return (
<li
className={classnames("nav-item", {
active: item.navLink === activeItem,
disabled: item.disabled,
})}
style={{ display: item.display }}
onClick={resetOpenDropdowns}
>
<LinkTag
className={classnames("d-flex align-items-center", {
"dropdown-item": isChild,
"nav-link": !isChild,
})}
tag={LinkTag}
target={item.newTab ? "_blank" : undefined}
/*eslint-disable */
{...(item.externalLink === true
? {
href: item.navLink || "/",
}
: {
to: item.navLink || "/",
isActive: (match, location) => {
if (!match) {
return false;
}
if (
match.url &&
match.url !== "" &&
match.url === item.navLink
) {
currentActiveItem = item.navLink;
}
},
})}
/*eslint-enable */
>
{item.icon}
<span>{t(item.title)}</span>
</LinkTag>
</li>
);
};
export default HorizontalNavMenuLink;

View File

@@ -0,0 +1,53 @@
// ** React Imports
import { useState } from 'react'
// ** Horizontal Menu Array
import navigation from "../../../../../navigation/horizontal/index";
// ** Horizontal Menu Components
import HorizontalNavMenuItems from './HorizontalNavMenuItems'
const HorizontalMenu = ({ currentActiveItem, routerProps }) => {
// ** States
const [activeItem, setActiveItem] = useState(null)
const [groupActive, setGroupActive] = useState([])
const [openDropdown, setOpenDropdown] = useState([])
// ** On mouse enter push the ID to openDropdown array
const onMouseEnter = id => {
const arr = openDropdown
arr.push(id)
setOpenDropdown([...arr])
}
// ** On mouse leave remove the ID to openDropdown array
const onMouseLeave = id => {
const arr = openDropdown
arr.splice(arr.indexOf(id), 1)
setOpenDropdown([...arr])
}
return (
<div className='navbar-container main-menu-content'>
<ul className='nav navbar-nav' id='main-menu-navigation'>
<HorizontalNavMenuItems
submenu={false}
items={navigation}
activeItem={activeItem}
groupActive={groupActive}
routerProps={routerProps}
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
openDropdown={openDropdown}
setActiveItem={setActiveItem}
setGroupActive={setGroupActive}
setOpenDropdown={setOpenDropdown}
currentActiveItem={currentActiveItem}
/>
</ul>
</div>
)
}
export default HorizontalMenu

View File

@@ -0,0 +1,69 @@
// ** React Imports
import { useEffect } from "react";
import { NavLink } from "react-router-dom";
// ** Third Party Components
import { Disc, X, Circle } from "react-feather";
const VerticalMenuHeader = (props) => {
// ** Props
const {
menuCollapsed,
setMenuCollapsed,
setMenuVisibility,
setGroupOpen,
menuHover,
} = props;
// ** Reset open group
useEffect(() => {
if (!menuHover && menuCollapsed) setGroupOpen([]);
}, [menuHover, menuCollapsed]);
// ** Menu toggler component
const Toggler = () => {
if (!menuCollapsed) {
return (
<Disc
size={20}
data-tour="toggle-icon"
className="text-primary toggle-icon d-none d-xl-block"
onClick={() => setMenuCollapsed(true)}
/>
);
} else {
return (
<Circle
size={20}
data-tour="toggle-icon"
className="text-primary toggle-icon d-none d-xl-block"
onClick={() => setMenuCollapsed(false)}
/>
);
}
};
return (
<div className="navbar-header">
<ul className="nav navbar-nav flex-row">
<li className="nav-item mr-auto">
<NavLink to="/" className="navbar-brand">
<h2 className="brand-text mb-0">Bgreen</h2>
</NavLink>
</li>
<li className="nav-item nav-toggle">
<div className="nav-link modern-nav-toggle cursor-pointer">
<Toggler />
<X
onClick={() => setMenuVisibility(false)}
className="toggle-icon icon-x d-block d-xl-none"
size={20}
/>
</div>
</li>
</ul>
</div>
);
};
export default VerticalMenuHeader;

View File

@@ -0,0 +1,166 @@
// ** React Imports
import { Link, useLocation } from "react-router-dom";
// ** Third Party Components
import classnames from "classnames";
import { Collapse, Badge } from "reactstrap";
// ** Vertical Menu Items Component
import VerticalNavMenuItems from "./VerticalNavMenuItems";
// ** Utils
import { isNavGroupActive, getAllParents } from "../../../utils";
import { useTranslation } from "react-i18next";
const VerticalNavMenuGroup = ({
item,
groupActive,
setGroupActive,
activeItem,
setActiveItem,
groupOpen,
setGroupOpen,
parentItem,
menuCollapsed,
menuHover,
routerProps,
currentActiveItem,
}) => {
const { t } = useTranslation();
// ** Current Val
const currentURL = useLocation().pathname;
// ** Toggles Open Group
const toggleOpenGroup = (item, parentItem) => {
let openArr = groupOpen;
let allParents;
if (parentItem) {
allParents = getAllParents(parentItem, "id");
allParents.pop();
}
// ** If user clicked on menu group inside already opened group i.g. when user click on blog group inside pages group
if (groupOpen && allParents && groupOpen[0] === allParents[0]) {
groupOpen.includes(item)
? openArr.splice(openArr.indexOf(item), 1)
: openArr.push(item);
} else {
openArr = [];
if (!groupOpen.includes(item)) {
openArr.push(item);
}
}
// ** Set Open Group
setGroupOpen([...openArr]);
};
// ** Toggle Active Group
const toggleActiveGroup = (item, parentItem) => {
let activeArr = groupActive;
let allParents;
if (parentItem) {
allParents = getAllParents(parentItem, "id");
activeArr = allParents;
} else {
activeArr.includes(item)
? activeArr.splice(activeArr.indexOf(item), 1)
: activeArr.push(item);
}
// ** Set open group removing any activegroup item present in opengroup state
const openArr = groupOpen.filter((val) => !activeArr.includes(val));
setGroupOpen([...openArr]);
// ** Set Active Group
setGroupActive([...activeArr]);
};
// ** On Group Item Click
const onCollapseClick = (e, item) => {
if (
(groupActive && groupActive.includes(item.id)) ||
isNavGroupActive(item.children, currentURL, routerProps)
) {
toggleActiveGroup(item.id);
} else {
toggleOpenGroup(item.id, parentItem);
}
e.preventDefault();
};
// ** Returns condition to add open class
const openClassCondition = (id) => {
if ((menuCollapsed && menuHover) || menuCollapsed === false) {
if (groupActive.includes(id) || groupOpen.includes(item.id)) {
return true;
}
} else if (
groupActive.includes(id) &&
menuCollapsed &&
menuHover === false
) {
return false;
} else {
return null;
}
};
return (
<li
className={classnames("nav-item has-sub", {
open: openClassCondition(item.id),
"menu-collapsed-open": groupActive.includes(item.id),
"sidebar-group-active":
groupActive.includes(item.id) || groupOpen.includes(item.id),
})}
>
<Link
className="d-flex align-items-center"
to="/"
onClick={(e) => onCollapseClick(e, item)}
>
{item.icon}
<span className="menu-title text-truncate">{t(item.title)}</span>
{item.badge && item.badgeText ? (
<Badge className="ml-auto mr-1" color={item.badge} pill>
{item.badgeText}
</Badge>
) : null}
</Link>
{/* Render Child Recursively Through VerticalNavMenuItems Component */}
<ul className="menu-content">
<Collapse
isOpen={
(groupActive && groupActive.includes(item.id)) ||
(groupOpen && groupOpen.includes(item.id))
}
>
<VerticalNavMenuItems
items={item.children}
groupActive={groupActive}
setGroupActive={setGroupActive}
groupOpen={groupOpen}
setGroupOpen={setGroupOpen}
toggleActiveGroup={toggleActiveGroup}
parentItem={item}
menuCollapsed={menuCollapsed}
menuHover={menuHover}
routerProps={routerProps}
currentActiveItem={currentActiveItem}
activeItem={activeItem}
setActiveItem={setActiveItem}
/>
</Collapse>
</ul>
</li>
);
};
export default VerticalNavMenuGroup;

View File

@@ -0,0 +1,27 @@
// ** Vertical Menu Components
import VerticalNavMenuLink from './VerticalNavMenuLink'
import VerticalNavMenuGroup from './VerticalNavMenuGroup'
import VerticalNavMenuSectionHeader from './VerticalNavMenuSectionHeader'
// ** Utils
import { resolveVerticalNavMenuItemComponent as resolveNavItemComponent } from '../../../utils'
const VerticalMenuNavItems = props => {
// ** Components Object
const Components = {
VerticalNavMenuSectionHeader,
VerticalNavMenuGroup,
VerticalNavMenuLink
}
// ** Render Nav Menu Items
const RenderNavItems = props.items.map((item, index) => {
const TagName = Components[resolveNavItemComponent(item)]
return <TagName key={item.id || item.header} item={item} {...props} />
})
return RenderNavItems
}
export default VerticalMenuNavItems

View File

@@ -0,0 +1,129 @@
// ** React Imports
import { useEffect } from "react";
import { NavLink, useLocation, matchPath } from "react-router-dom";
// ** Third Party Components
import { Badge } from "reactstrap";
import classnames from "classnames";
// ** Vertical Menu Array Of Items
import navigation from "../../../../../navigation/vertical/index";
// ** Utils
import { search, getAllParents } from "../../../utils";
import { useTranslation } from "react-i18next";
const VerticalNavMenuLink = ({
item,
groupActive,
setGroupActive,
activeItem,
setActiveItem,
groupOpen,
setGroupOpen,
toggleActiveGroup,
parentItem,
routerProps,
currentActiveItem,
}) => {
const { t } = useTranslation();
// ** Conditional Link Tag, if item has newTab or externalLink props use <a> tag else use NavLink
const LinkTag = item.externalLink ? "a" : NavLink;
// ** URL Vars
const location = useLocation();
const currentURL = location.pathname;
// ** To match path
const match = matchPath(currentURL, {
path: `${item.navLink}/:param`,
exact: true,
strict: false,
});
// ** Search for current item parents
const searchParents = (navigation, currentURL) => {
const parents = search(navigation, currentURL, routerProps); // Search for parent object
const allParents = getAllParents(parents, "id"); // Parents Object to Parents Array
return allParents;
};
// ** URL Vars
const resetActiveGroup = (navLink) => {
const parents = search(navigation, navLink, match);
toggleActiveGroup(item.id, parents);
};
// ** Reset Active & Open Group Arrays
const resetActiveAndOpenGroups = () => {
setGroupActive([]);
setGroupOpen([]);
};
// ** Checks url & updates active item
useEffect(() => {
if (currentActiveItem !== null) {
setActiveItem(currentActiveItem);
const arr = searchParents(navigation, currentURL);
setGroupActive([...arr]);
}
}, [location]);
return (
<li
className={classnames({
"nav-item": !item.children,
disabled: item.disabled,
active: item.navLink === activeItem,
})}
style={{ display: item.display }}
>
<LinkTag
className="d-flex align-items-center"
target={item.newTab ? "_blank" : undefined}
/*eslint-disable */
{...(item.externalLink === true
? {
href: item.navLink || "/",
}
: {
to: item.navLink || "/",
isActive: (match, location) => {
if (!match) {
return false;
}
if (
match.url &&
match.url !== "" &&
match.url === item.navLink
) {
currentActiveItem = item.navLink;
}
},
})}
/*eslint-enable */
onClick={(e) => {
if (!item.navLink.length) {
e.preventDefault();
}
parentItem
? resetActiveGroup(item.navLink)
: resetActiveAndOpenGroups();
}}
>
{item.icon}
<span className="menu-item text-truncate">{t(item.title)}</span>
{item.badge && item.badgeText ? (
<Badge className="ml-auto mr-1" color={item.badge} pill>
{item.badgeText}
</Badge>
) : null}
</LinkTag>
</li>
);
};
export default VerticalNavMenuLink;

View File

@@ -0,0 +1,13 @@
// ** Third Party Components
import { MoreHorizontal } from 'react-feather'
const VerticalNavMenuSectionHeader = ({ item, index }) => {
return (
<li className='navigation-header'>
<span>{item.header}</span>
<MoreHorizontal className='feather-more-horizontal' />
</li>
)
}
export default VerticalNavMenuSectionHeader

View File

@@ -0,0 +1,99 @@
// ** React Imports
import { Fragment, useState, useRef } from 'react'
// ** Vertical Menu Items Array
import navigation from "../../../../../navigation/horizontal/index";
// ** Third Party Components
import classnames from 'classnames'
import PerfectScrollbar from 'react-perfect-scrollbar'
// ** Vertical Menu Components
import VerticalMenuHeader from './VerticalMenuHeader'
import VerticalNavMenuItems from './VerticalNavMenuItems'
const Sidebar = props => {
// ** Props
const { menuCollapsed, routerProps, menu, currentActiveItem, skin } = props
// ** States
const [groupOpen, setGroupOpen] = useState([])
const [groupActive, setGroupActive] = useState([])
const [activeItem, setActiveItem] = useState(null)
// ** Menu Hover State
const [menuHover, setMenuHover] = useState(false)
// ** Ref
const shadowRef = useRef(null)
// ** Function to handle Mouse Enter
const onMouseEnter = () => {
if (menuCollapsed) {
setMenuHover(true)
}
}
// ** Scroll Menu
const scrollMenu = container => {
if (shadowRef && container.scrollTop > 0) {
if (!shadowRef.current.classList.contains('d-block')) {
shadowRef.current.classList.add('d-block')
}
} else {
if (shadowRef.current.classList.contains('d-block')) {
shadowRef.current.classList.remove('d-block')
}
}
}
return (
<Fragment>
<div
className={classnames('main-menu menu-fixed menu-accordion menu-shadow', {
expanded: menuHover || menuCollapsed === false,
'menu-light': skin !== 'semi-dark' && skin !== 'dark',
'menu-dark': skin === 'semi-dark' || skin === 'dark'
})}
onMouseEnter={onMouseEnter}
onMouseLeave={() => setMenuHover(false)}
>
{menu ? (
menu(props)
) : (
<Fragment>
{/* Vertical Menu Header */}
<VerticalMenuHeader setGroupOpen={setGroupOpen} menuHover={menuHover} {...props} />
{/* Vertical Menu Header Shadow */}
<div className='shadow-bottom' ref={shadowRef}></div>
{/* Perfect Scrollbar */}
<PerfectScrollbar
className='main-menu-content'
options={{ wheelPropagation: false }}
onScrollY={container => scrollMenu(container)}
>
<ul className='navigation navigation-main'>
<VerticalNavMenuItems
items={navigation}
groupActive={groupActive}
setGroupActive={setGroupActive}
activeItem={activeItem}
setActiveItem={setActiveItem}
groupOpen={groupOpen}
setGroupOpen={setGroupOpen}
routerProps={routerProps}
menuCollapsed={menuCollapsed}
menuHover={menuHover}
currentActiveItem={currentActiveItem}
/>
</ul>
</PerfectScrollbar>
</Fragment>
)}
</div>
</Fragment>
)
}
export default Sidebar

View File

@@ -0,0 +1,83 @@
// ** Dropdowns Imports
import { Fragment, useState } from "react";
import UserDropdown from "./UserDropdown";
import NotificationDropdown from "./NotificationDropdown";
import NavbarCollapse from "react-bootstrap/esm/NavbarCollapse";
import NavDropdown from 'react-bootstrap/NavDropdown';
import Container from "react-bootstrap/Container";
import "../../../../index.css";
// ** Third Party Components
import { Menu } from "react-feather";
import {
NavItem,
NavLink,
Dropdown,
DropdownToggle,
DropdownMenu,
DropdownItem,
} from "reactstrap";
import { useTranslation } from "react-i18next";
function LanguageOptions() {
const { i18n } = useTranslation();
const [dropdownOpen, setDropdownOpen] = useState(false);
const changeLanguage = (lng) => {
i18n.changeLanguage(lng);
};
return (
<NavbarCollapse className="navbarLanguageCollapse" style={{marginRight:"5px"}}>
<NavDropdown
title={<span style={{ color: "#6e6b7b", display: "flex" }}>
<svg style={{marginRight:"5px"}} xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" className="bi bi-globe" viewBox="0 0 16 16">
<path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m7.5-6.923c-.67.204-1.335.82-1.887 1.855A8 8 0 0 0 5.145 4H7.5zM4.09 4a9.3 9.3 0 0 1 .64-1.539 7 7 0 0 1 .597-.933A7.03 7.03 0 0 0 2.255 4zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a7 7 0 0 0-.656 2.5zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5zM8.5 5v2.5h2.99a12.5 12.5 0 0 0-.337-2.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5zM5.145 12q.208.58.468 1.068c.552 1.035 1.218 1.65 1.887 1.855V12zm.182 2.472a7 7 0 0 1-.597-.933A9.3 9.3 0 0 1 4.09 12H2.255a7 7 0 0 0 3.072 2.472M3.82 11a13.7 13.7 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5zm6.853 3.472A7 7 0 0 0 13.745 12H11.91a9.3 9.3 0 0 1-.64 1.539 7 7 0 0 1-.597.933M8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855q.26-.487.468-1.068zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.7 13.7 0 0 1-.312 2.5m2.802-3.5a7 7 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7 7 0 0 0-3.072-2.472c.218.284.418.598.597.933M10.855 4a8 8 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4z" />
</svg>
{i18n.language.toLocaleUpperCase()}
</span>} id="basic-nav-dropdown">
<NavDropdown.Item onClick={() => changeLanguage('tr')}>TR</NavDropdown.Item>
<NavDropdown.Item onClick={() => changeLanguage('en')}>EN</NavDropdown.Item>
</NavDropdown>
</NavbarCollapse>
);
}
const NavbarUser = (props) => {
// ** Props
const { setMenuVisibility } = props;
return (
<Fragment>
<ul className="navbar-nav d-xl-none d-flex align-items-center">
<NavItem className="mobile-menu mr-auto">
<NavLink
className="nav-menu-main menu-toggle hidden-xs is-active"
onClick={() => setMenuVisibility(true)}
>
<Menu className="ficon" />
</NavLink>
</NavItem>
</ul>
<ul className="nav navbar-nav align-items-center ml-auto">
<LanguageOptions />
<NotificationDropdown />
<UserDropdown />
</ul>
</Fragment>
);
};
export default NavbarUser;

View File

@@ -0,0 +1,184 @@
import React, { useEffect, useState } from "react";
import { useHistory } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import {
UncontrolledDropdown,
DropdownMenu,
DropdownToggle,
DropdownItem,
Modal,
ModalHeader,
ModalBody,
} from "reactstrap";
import { Bell } from "react-feather";
import { useTranslation } from "react-i18next";
import {
getQuickNotifications,
setNotificationRead,
} from "../../../../redux/actions/notifications";
const UserDropdown = () => {
const dispatch = useDispatch();
const history = useHistory();
const { t } = useTranslation();
const notificationsStore = useSelector((state) => state.notifications);
const [notifications, setNotifications] = useState();
const [notification, setNotification] = useState();
const [showNotificationModal, setShowNotificationModal] = useState(false);
//request in every 30seconds
useEffect(() => {
dispatch(getQuickNotifications());
const timer = setInterval(() => dispatch(getQuickNotifications()), 30000);
return () => clearInterval(timer);
}, []);
useEffect(() => {
if (notificationsStore) {
setNotifications(notificationsStore.getQuickNotifications);
}
}, [notificationsStore?.getQuickNotifications]);
const handleNotificationClick = (notification) => {
if (notification.read === false) {
dispatch(setNotificationRead(notification.id)).then(() =>
dispatch(getQuickNotifications())
);
}
setNotification(notification);
setShowNotificationModal(true);
};
const renderNotificationModal = () => {
return (
<Modal
isOpen={showNotificationModal}
toggle={() => setShowNotificationModal(!showNotificationModal)}
>
<ModalHeader
toggle={() => setShowNotificationModal(!showNotificationModal)}
className="text-uppercase"
>
{notification?.title} / {notification?.notificationType}
</ModalHeader>
<ModalBody>
<div className="mb-2">{notification?.message}</div>
<div className="d-flex justify-content-end mb-2">
{new Date(notification?.createdDateTime).toLocaleString("tr-TR", {
timeZone: "UTC",
})}
</div>
</ModalBody>
</Modal>
);
};
return (
<UncontrolledDropdown tag="li" className="dropdown-user nav-item">
<DropdownToggle
href="/"
tag="a"
className="nav-link dropdown-user-link"
onClick={(e) => e.preventDefault()}
>
<div className="d-flex position-relative">
<Bell width={20} height={20} />
<span
style={{
position: "absolute",
top: "-10px",
right: "-10px",
borderRadius: "50%",
backgroundColor: "#028a4a",
padding: "2px 4px",
color: "whitesmoke",
fontSize: "small",
minWidth: "18px",
textAlign: "center",
}}
>
{notificationsStore?.totalForQuick}
</span>
</div>
</DropdownToggle>
{notifications?.length > 0 ? (
<DropdownMenu
style={{
width: "900%",
maxHeight: "500px",
overflow: "auto",
}}
>
{notifications?.map((notification, index) => (
<DropdownItem
key={index}
style={{
backgroundColor:
notification?.read === false ? "#028a4a1a" : "transparent",
}}
className="w-100 border-bottom"
onClick={() => handleNotificationClick(notification, index)}
>
<div>
<div className="d-flex">
{notification?.read === false && (
<svg
xmlns="http://www.w3.org/2000/svg"
width="30"
height="30"
fill="rgba(0, 102, 54,1)"
className="bi bi-dot"
viewBox="0 0 16 16"
>
<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z" />
</svg>
)}
<div className="text-uppercase mb-1 font-weight-bold">
{notification?.title} / {notification?.notificationType}
</div>
</div>
<div style={{ whiteSpace: "normal" }}>
<span>{notification?.message.substring(0, 45)}..</span>
</div>
<div
className="d-flex justify-content-end mt-1"
style={{ fontSize: "11px" }}
>
{new Date(notification?.createdDateTime).toLocaleString(
"tr-TR",
{ timeZone: "UTC" }
)}
</div>
</div>
</DropdownItem>
))}
<DropdownItem
className="w-100"
onClick={() => {
history.replace("/bildirimler");
}}
>
<span className="align-middle">{t("Notifications.showAll")}</span>
</DropdownItem>
</DropdownMenu>
) : (
<DropdownMenu
style={{
width: "900%",
maxHeight: "500px",
overflow: "auto",
}}
>
<DropdownItem className="w-100">
<span className="align-middle">
{t("Notifications.notification")} {t("Warnings.notFound")}
</span>
</DropdownItem>
</DropdownMenu>
)}
{renderNotificationModal()}
</UncontrolledDropdown>
);
};
export default UserDropdown;

View File

@@ -0,0 +1,108 @@
// ** React Imports
import { useHistory } from "react-router-dom";
// ** Store & Actions
import { useDispatch } from "react-redux";
import { handleLogout } from "../../../../redux/actions/auth/index";
// ** Third Party Components
import {
UncontrolledDropdown,
DropdownMenu,
DropdownToggle,
DropdownItem,
} from "reactstrap";
import { LogOut, User, BarChart2, Activity } from "react-feather";
import { useSnackbar } from "notistack";
import { useTranslation } from "react-i18next";
const UserDropdown = () => {
const dispatch = useDispatch();
const { enqueueSnackbar } = useSnackbar();
const history = useHistory();
const { t } = useTranslation();
const name = localStorage.getItem("currentUser");
const permissions = JSON.parse(localStorage.getItem("permissions"));
const permissionsList = permissions?.map(({ tag }) => tag);
function permissionCheck(permission) {
return permissionsList?.includes(permission);
}
return (
<UncontrolledDropdown tag="li" className="dropdown-user nav-item">
<DropdownToggle
href="/"
tag="a"
className="nav-link dropdown-user-link"
onClick={(e) => e.preventDefault()}
>
<div className="user-nav d-sm-flex d-none flex-row">
<span
style={{ padding: "5px" }}
className="user-name font-weight-bold"
>
{name}
</span>
</div>
<div className=" d-sm-none d-flex">
<User size={20} />
</div>
</DropdownToggle>
<DropdownMenu
style={{
width: "150%",
maxHeight: "500px",
overflow: "auto",
}}
>
<DropdownItem
className="w-100"
onClick={() => {
history.replace("/profil");
}}
>
<User size={14} className="mr-75" />
<span className="align-middle">{t("UserProfile.myProfile")}</span>
</DropdownItem>
{permissionCheck("activities_get") && (
<DropdownItem
className="w-100"
onClick={() => {
history.replace("/kullanici-aktivite");
}}
>
<BarChart2 size={14} className="mr-75" />
<span className="align-middle">{t("UserActivities.title")}</span>
</DropdownItem>
)}
{permissionCheck("activities_get") && (
<DropdownItem
className="w-100"
onClick={() => {
history.replace("/sistem-aktivite");
}}
>
<Activity size={14} className="mr-75" />
<span className="align-middle">{t("SystemActivities.title")}</span>
</DropdownItem>
)}
<DropdownItem
className="w-100"
onClick={() => {
dispatch(handleLogout());
enqueueSnackbar(t("Auth.logoutMessage"), {
variant: "info",
preventDuplicate: true,
});
}}
>
<LogOut size={14} className="mr-75" />
<span className="align-middle">{t("Auth.logout")}</span>
</DropdownItem>
</DropdownMenu>
</UncontrolledDropdown>
);
};
export default UserDropdown;

View File

@@ -0,0 +1,18 @@
// ** React Imports
import { Fragment } from 'react'
// ** Custom Components
import NavbarUser from './NavbarUser'
const ThemeNavbar = props => {
// ** Props
const { skin, setSkin, setMenuVisibility } = props
return (
<Fragment>
<NavbarUser skin={skin} setSkin={setSkin} setMenuVisibility={setMenuVisibility} />
</Fragment>
)
}
export default ThemeNavbar

View File

@@ -0,0 +1,169 @@
// ** React Imports
import { useContext } from "react";
import { AbilityContext } from "../../utility/context/Can";
/**
* Return which component to render based on it's data/context
* @param {Object} item nav menu item
*/
export const resolveVerticalNavMenuItemComponent = (item) => {
if (item.header) return "VerticalNavMenuSectionHeader";
if (item.children) return "VerticalNavMenuGroup";
return "VerticalNavMenuLink";
};
/**
* Return which component to render based on it's data/context
* @param {Object} item nav menu item
*/
export const resolveHorizontalNavMenuItemComponent = (item) => {
if (item.children) return "HorizontalNavMenuGroup";
return "HorizontalNavMenuLink";
};
/**
* Check if nav-link is active
* @param {Object} link nav-link object
*/
// export const isNavLinkActive = (link, currentURL, match) => {
// // return currentURL === link || (URLParams && Object.keys(URLParams).length && currentURLFilter === item.navLink)
// const getFirstObjProp = obj => obj[Object.keys(obj)[0]]
// return (
// currentURL === link ||
// (match !== null && match !== undefined && match.url === `${link}/${getFirstObjProp(match.params)}`)
// )
// }
export const isNavLinkActive = (link, currentURL, routerProps) => {
return (
currentURL === link ||
(routerProps &&
routerProps.meta &&
routerProps.meta.navLink &&
routerProps.meta.navLink === link)
);
// return currentURL === link
};
/**
* Check if nav group is
* @param {Array} children Group children
*/
// export const isNavGroupActive = (children, currentURL, match) => {
// return children.some(child => {
// // If child have children => It's group => Go deeper(recursive)
// if (child.children) {
// return isNavGroupActive(child.children, currentURL, match)
// }
// // else it's link => Check for matched Route
// return isNavLinkActive(child.navLink, currentURL, match)
// })
// }
export const isNavGroupActive = (children, currentURL, routerProps) => {
return children.some((child) => {
// If child have children => It's group => Go deeper(recursive)
if (child.children) {
return isNavGroupActive(child.children, currentURL, routerProps);
}
// else it's link => Check for matched Route
return isNavLinkActive(child.navLink, currentURL, routerProps);
});
};
/**
* Search for parent object
* @param {Array} navigation Group children
* @param {string} currentURL current URL
*/
// export const search = (navigation, currentURL, match) => {
// let result
// navigation.some(child => {
// let children
// // If child have children => It's group => Go deeper(recursive)
// if (child.children && (children = search(child.children, currentURL, match))) {
// return (result = {
// id: child.id,
// children
// })
// }
// // else it's link => Check for matched Route
// if (isNavLinkActive(child.navLink, currentURL, match)) {
// return (result = {
// id: child.id
// })
// }
// })
// return result
// }
export const search = (navigation, currentURL, routerProps) => {
let result;
navigation.some((child) => {
let children;
// If child have children => It's group => Go deeper(recursive)
if (
child.children &&
(children = search(child.children, currentURL, routerProps))
) {
return (result = {
id: child.id,
children,
});
}
// else it's link => Check for matched Route
if (isNavLinkActive(child.navLink, currentURL, routerProps)) {
return (result = {
id: child.id,
});
}
});
return result;
};
/**
* Loop through nested object
* @param {object} obj nested object
*/
export const getAllParents = (obj, match) => {
const res = [];
const recurse = (obj, current) => {
for (const key in obj) {
const value = obj[key];
if (value !== undefined) {
if (value && typeof value === "object") {
recurse(value, key);
} else {
if (key === match) {
res.push(value);
}
}
}
}
};
recurse(obj);
return res;
};
export const CanViewMenuGroup = (item) => {
// eslint-disable-next-line react-hooks/rules-of-hooks
const ability = useContext(AbilityContext);
// ! This same logic is used in canViewHorizontalNavMenuGroup and canViewHorizontalNavMenuHeaderGroup. So make sure to update logic in them as well
const hasAnyVisibleChild =
item.children &&
item.children.some((i) => ability.can(i.action, i.resource));
// ** If resource and action is defined in item => Return based on children visibility (Hide group if no child is visible)
// ** Else check for ability using provided resource and action along with checking if has any visible child
if (!(item.action && item.resource)) {
return hasAnyVisibleChild;
}
return ability.can(item.action, item.resource) && hasAnyVisibleChild;
};
export const CanViewMenuItem = (item) => {
// eslint-disable-next-line react-hooks/rules-of-hooks
const ability = useContext(AbilityContext);
return ability.can(item.action, item.resource);
};

View File

@@ -0,0 +1,43 @@
// ================================================================================================
// File Name: bootstrap-extended.scss
// Description: List of modified Bootstrap files. This is an actual copy of bootstrap.scss
// excluding files that have not been modified.
// ----------------------------------------------------------------------------------------------
@import 'bootstrap-extended/include'; // Bootstrap includes
@import 'components/include'; // Components includes
// Custom template mixins
@import 'core/mixins/alert'; // Template custom mixins
// Core CSS
@import 'bootstrap-extended/reboot';
@import 'bootstrap-extended/helper';
@import 'bootstrap-extended/type';
@import 'bootstrap-extended/code';
@import 'bootstrap-extended/tables';
@import 'bootstrap-extended/forms';
@import 'bootstrap-extended/buttons';
@import 'bootstrap-extended/button-group';
// Components
@import 'bootstrap-extended/dropdown';
@import 'bootstrap-extended/navbar';
@import 'bootstrap-extended/card';
@import 'bootstrap-extended/breadcrumb';
@import 'bootstrap-extended/badge';
@import 'bootstrap-extended/nav';
@import 'bootstrap-extended/alert';
@import 'bootstrap-extended/media';
@import 'bootstrap-extended/progress';
@import 'bootstrap-extended/list-group';
@import 'bootstrap-extended/toast';
@import 'bootstrap-extended/collapse';
@import 'bootstrap-extended/pagination';
// Components w/ JavaScript
@import 'bootstrap-extended/modal';
@import 'bootstrap-extended/popover';
// Utility classes
@import 'bootstrap-extended/utilities';

View File

@@ -0,0 +1,56 @@
// Alerts
.alert {
font-weight: 500;
border: none;
padding: 0;
// close
&.alert-dismissible {
.close {
padding: 0.5rem $alert-padding-x 0.5rem $alert-padding-x;
background-color: transparent !important;
box-shadow: none !important;
}
.alert-body {
padding: $alert-padding-y ($alert-padding-x * 2) $alert-padding-y $alert-padding-x;
}
}
.close:focus {
outline: 0;
}
.alert-link:hover {
text-decoration: underline;
}
// For Alert Content
p {
font-weight: 500;
padding: 2px 0;
margin-bottom: 0;
vertical-align: middle;
}
// For alert heading
.alert-heading {
font-weight: 600;
font-size: $font-size-base;
padding: $alert-padding-y $alert-padding-x;
margin-bottom: 0;
}
.alert-body {
padding: $alert-padding-y $alert-padding-x;
i,
svg {
position: relative;
top: -2px;
}
}
// For dark alert
&.alert-dark {
.alert-heading {
@include alert-heading-bs($dark);
}
}
}

View File

@@ -0,0 +1,90 @@
// Badge
.badge {
color: $white;
&[class*='badge-'] {
[class*='icon-'] {
line-height: 1;
}
a {
color: $white;
}
// badge dropdown alignment
.dropdown-toggle,
&.dropdown-toggle {
span,
i,
svg {
vertical-align: text-top;
}
i,
svg {
padding-left: 0.2rem;
}
&::after {
position: relative;
top: 0;
left: 0;
font-size: 1rem;
}
}
.dropdown-menu {
a {
color: $dropdown-color;
}
}
}
i,
svg {
height: 12px;
width: 11px;
font-size: 12px;
stroke-width: 3;
vertical-align: top;
}
// square badge
&.badge-square {
border-radius: 0;
}
// badge-up
// to align badge over any element
&.badge-up {
position: absolute;
top: -11px;
right: -9px;
min-width: 1.429rem;
min-height: 1.429rem;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.786rem;
line-height: 0.786;
padding-left: 0.25rem;
padding-right: 0.25rem;
&.badge-sm {
top: -0.5rem;
right: -0.5rem;
}
}
}
// For fullscreen search
.badge-icon {
i,
svg {
font-size: 100%;
margin-right: 5px;
}
}
// badge dropup pointer
.dropup {
.badge {
cursor: pointer;
}
}

View File

@@ -0,0 +1,76 @@
.breadcrumb {
&:not([class*='breadcrumb-']) {
.breadcrumb-item + .breadcrumb-item {
&:before {
content: ' ';
background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
color: $body-color;
margin-right: $breadcrumb-item-padding;
background-size: 14px;
}
}
}
.breadcrumb-item + .breadcrumb-item {
&:before {
height: 20px;
}
}
}
/* Component Specific */
.breadcrumb-slash {
&.breadcrumb {
.breadcrumb-item + .breadcrumb-item:before {
content: '/';
}
}
}
.breadcrumb-dots {
&.breadcrumb {
.breadcrumb-item + .breadcrumb-item:before {
content: '.';
position: relative;
top: -4px;
}
}
}
.breadcrumb-dashes {
&.breadcrumb {
.breadcrumb-item + .breadcrumb-item:before {
content: '-';
}
}
}
.breadcrumb-pipes {
&.breadcrumb {
.breadcrumb-item + .breadcrumb-item:before {
content: '|';
}
}
}
.breadcrumb-chevron {
&.breadcrumb {
.breadcrumb-item + .breadcrumb-item:before {
content: ' ';
background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $body-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
color: $body-color;
margin-right: $breadcrumb-item-padding;
background-size: 14px;
}
}
}
@media (max-width: 648px) {
.content-header .breadcrumb {
display: none;
}
.breadcrumbs-top {
.content-header-title {
display: contents !important;
}
}
}

View File

@@ -0,0 +1,59 @@
//
// Split button dropdowns
//
.dropdown-toggle-split {
padding-right: $btn-padding-x / 1.9;
padding-left: $btn-padding-x / 1.9;
}
.btn-lg + .dropdown-toggle-split,
.btn-group-lg > .btn + .dropdown-toggle-split {
padding-right: $input-btn-padding-x-lg / 1.75;
padding-left: $input-btn-padding-x-lg / 1.75;
}
.btn-sm + .dropdown-toggle-split,
.btn-group-sm > .btn + .dropdown-toggle-split {
padding-right: $input-btn-padding-x-sm / 1.9;
padding-left: $input-btn-padding-x-sm / 1.9;
}
// button group border
.btn-group {
[class*='btn-']:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']) {
border-left-color: rgba($black, 0.08) !important;
border-right-color: rgba($black, 0.08) !important;
}
}
// remove first btn group border left
.btn-group
> .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):first-child,
.btn-group
> .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):first-of-type {
border-left-color: transparent !important;
}
// remove last btn group border right
.btn-group
> .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):last-child,
.btn-group
> .btn:not([class*='btn-outline-']):not([class*='btn-flat-']):not([class*='btn-gradient-']):not([class*='btn-relief-']):last-of-type {
border-right-color: transparent !important;
}
// toggle button
.btn-group-toggle {
[class*='btn-outline-'] {
&:not(:last-child) {
border-right-width: 0 !important;
}
}
:not([class*='btn-outline-']) {
&.active,
&:active {
box-shadow: inset $box-shadow;
}
}
}

View File

@@ -0,0 +1,67 @@
// var for box shadow of gradient buttons
// Buttons
.btn {
box-shadow: none;
font-weight: 500;
// gradient button on hover transition
&[class*='bg-gradient-'] {
transition: all 0.2s ease;
&:hover {
transform: translateY(-2px);
}
}
// Icon button padding
&.btn-icon {
padding: 0.715rem 0.736rem;
}
&.btn-sm {
&.btn-icon {
padding: 0.5rem;
line-height: 0.5;
}
}
&.btn-lg {
&.btn-icon {
padding: 1rem;
line-height: 0.75;
}
}
&:focus,
&.focus,
&:active,
&.active {
outline: none;
box-shadow: none;
}
&:not(:disabled):not(.disabled):active:focus,
&:not(:disabled):not(.disabled).active:focus {
box-shadow: none !important;
}
// feather icons inside btn
.feather {
vertical-align: bottom;
}
}
// For Waves Input Padding
.btn.waves-input-wrapper {
padding: 0;
}
@include media-breakpoint-down(sm) {
.btn-sm-block {
display: block;
width: 100%;
}
}
// Remove cursor-pointer from button if button is disabled
// * setting it to inherit will auto adept cursor
.waves-effect {
cursor: inherit;
}

View File

@@ -0,0 +1,463 @@
.card {
border: none;
margin-bottom: $content-padding;
box-shadow: $box-shadow;
transition: all 0.3s ease-in-out, background 0s, color 0s, border-color 0s;
.card {
box-shadow: none !important;
}
.card-title {
font-weight: 500;
font-size: 1.285rem;
margin-bottom: 1.53rem; // Considering sub-title minus margin
}
.card-bordered {
border: $card-border-width solid $card-border-color;
}
.card-img {
object-fit: cover;
}
.card-img-overlay {
border-radius: $card-border-radius;
}
//fullscreen card
&.card-fullscreen {
display: block;
z-index: 9999;
position: fixed;
width: 100% !important;
height: 100% !important;
top: 0;
right: 0;
left: 0;
bottom: 0;
overflow: auto;
}
.card-body[class*="border-bottom-"] {
border-bottom-width: 2px !important;
}
.card-img-overlay {
&.bg-overlay {
background: rgba($black, 0.45);
}
.text-muted {
color: $gray-800 !important;
}
}
&.card-minimal {
border: none;
box-shadow: none;
}
.card-header {
position: relative;
display: flex;
align-items: center;
flex-wrap: wrap;
justify-content: space-between;
border-bottom: none;
padding: 1.5rem;
background-color: transparent;
.card-title {
margin-bottom: 0;
}
.heading-elements {
position: relative;
top: -1px;
li:not(:first-child) a {
margin-left: 0.75rem;
}
a {
&.btn {
padding-top: 6px;
padding-bottom: 6px;
}
i,
svg {
height: 1rem;
width: 1rem;
font-size: 1rem;
}
&[data-action="collapse"] {
i,
svg {
transition: all 0.25s ease-out;
display: inline-block;
}
&.rotate {
i,
svg {
transform: rotate(-180deg);
}
}
}
}
}
& + .card-content > .card-body:first-of-type,
& + .card-body {
padding-top: 0px;
}
}
.card-footer {
border-top: 1px solid $gray-300;
background-color: transparent;
}
}
// Card Column
.card-columns {
.card {
margin-bottom: $spacer * 2.2;
}
}
.card-group,
.card-deck {
margin-bottom: 0.75rem;
}
.card-head-inverse {
.heading-elements {
i,
svg {
color: $white;
}
}
color: $white;
}
.card-transparent {
background-color: transparent;
}
.text-white {
.card-img-overlay {
.text-muted {
color: $white !important;
}
}
code {
background-color: rgba($white, 1);
}
.heading-elements {
i,
svg {
color: $white;
}
}
}
// overlay-img-card
.overlay-img-card {
.card-img-overlay,
img {
max-height: 34.64rem;
}
}
// IE Specific CSS
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
// img-fluid class
.card-body,
.card-content {
min-height: 1px;
}
}
//--------------- Advance Cards ---------------
//---------------------------------------------
// Congratulations Card
.card-congratulations {
background: linear-gradient(118deg, rgba($primary, 1), rgba($primary, 0.7));
color: $white;
// image on left
.congratulations-img-left {
width: 200px;
position: absolute;
top: 0;
left: 0;
@include media-breakpoint-down(xs) {
width: 140px;
}
}
// image on right
.congratulations-img-right {
width: 175px;
position: absolute;
top: 0;
right: 0;
@include media-breakpoint-down(xs) {
width: 140px;
}
}
}
// congratulation medal card
.congratulation-medal {
position: absolute;
top: 0;
right: 37px;
}
// Deposits Card
.card-deposits {
.deposits-divider {
margin-top: 1.8rem;
margin-bottom: 1.4rem;
}
}
// Employee Task Card
.card-employee-task {
.employee-task {
&:not(:last-child) {
margin-bottom: 1.5rem;
}
}
}
// Developer Meetup Card
.card-developer-meetup {
.meetup-img-wrapper {
background-color: rgba($primary, 0.1);
}
.meetup-header {
margin-bottom: 2rem;
.meetup-day {
text-align: center;
border-right: 1px solid $custom-control-border-color;
padding-right: 1.3rem;
margin-right: 1.3rem;
}
}
}
// Profile Card
.card-profile {
text-align: center;
.card-body {
position: relative;
padding: 5rem 2.3rem $card-spacer-y 2.3rem;
.profile-image-wrapper {
display: flex;
justify-content: center;
.profile-image {
position: absolute;
top: -4rem;
padding: 0.5rem;
border-radius: 50%;
background-color: $white;
box-shadow: 0 0 8px 0 rgba($black, 0.14);
margin-bottom: 1.15rem;
img {
width: 100px;
height: 100px;
}
}
}
.profile-badge {
margin-top: 0.8rem;
margin-bottom: 0.8rem;
}
}
}
// Apply Job Card
.card-apply-job {
.apply-job-package {
padding: 1.2rem;
margin-bottom: 1.15rem;
display: flex;
align-items: center;
justify-content: space-between;
sup {
top: -0.8rem;
}
}
}
// Transaction Card
.card-transaction {
.transaction-item {
display: flex;
align-items: center;
justify-content: space-between;
&:not(:last-child) {
margin-bottom: 1.2rem;
}
.transaction-title {
margin-bottom: 0.2rem;
margin-top: 0.2rem;
}
}
}
// User Timeline Card
.card-user-timeline {
.user-timeline-title-icon {
width: 1.714rem;
height: 1.714rem;
margin-right: 1.3rem;
}
.timeline {
.timeline-item {
&:last-child {
.timeline-event {
min-height: auto;
}
}
&:not(:last-child) {
padding-bottom: 2.3rem;
}
}
}
}
// Business Card
.business-card {
.business-items {
&:not(:last-child) {
margin-bottom: 1.3rem;
}
.business-item {
border: 1px solid $border-color;
border-radius: $border-radius;
padding: 1rem 1rem 1rem 1.3rem;
&:not(:last-child) {
margin-bottom: 0.85rem;
}
}
}
}
// States Card
.card-browser-states {
.browser-states {
margin-top: 2.14rem;
display: flex;
justify-content: space-between;
align-items: center;
}
}
// App Design Card
.card-app-design {
.design-group {
margin-bottom: 2rem;
}
.design-planning-wrapper {
display: flex;
align-items: center;
flex-wrap: wrap;
&:not(:last-child) {
margin-bottom: 1.3rem;
}
.design-planning {
padding: 0.5rem;
margin-bottom: 0.7rem;
text-align: center;
background-color: $body-bg;
border-radius: $border-radius;
min-width: 6.4rem;
&:not(:last-child) {
margin-right: 0.7rem;
}
}
}
}
//--------------- Statistics Card ---------------
//------------------------------------------------
.card-statistics {
.card-header {
padding-left: 2.4rem;
}
.statistics-body {
padding: 2rem 2.4rem 2.8rem !important;
}
}
//--------------- Analytics Card ---------------
//----------------------------------------------
// Chart-dropdown Button
.chart-dropdown {
.btn {
font-size: 1rem;
font-weight: $font-weight-normal;
&:after {
display: none;
}
}
}
// Revenue Report & Budget Card
.card-revenue-budget {
.revenue-report-wrapper {
padding: 1.286rem 1.5rem;
@include media-breakpoint-up(md) {
border-right: 1px solid $border-color;
}
#revenue-report-chart {
.apexcharts-series {
&[seriesName="Earning"] {
transform: scaleY(0.965);
}
&[seriesName="Expense"] {
transform: scaleY(1.035);
}
}
}
}
.budget-wrapper {
padding: 2rem 3rem;
text-align: center;
@include media-breakpoint-down(sm) {
padding-top: 0;
}
.budget-dropdown {
margin-bottom: 2rem;
}
#budget-chart {
margin-top: 2rem;
margin-bottom: 2rem;
}
}
}
// Earnings Card
.earnings-card {
.apexcharts-canvas .apexcharts-pie {
.apexcharts-datalabel-label {
font-size: 0.8rem;
fill: $body-color !important;
}
.apexcharts-datalabel-value {
fill: $headings-color;
font-size: 1.286rem;
font-weight: 500;
}
}
}

View File

@@ -0,0 +1,14 @@
// Inline code
code {
padding: 0.1rem 0.4rem;
font-size: 90%;
color: $code-color;
background-color: $kbd-bg;
@include border-radius($border-radius/2);
}
pre {
background-color: #f7f7f9;
code {
background-color: transparent !important;
}
}

View File

@@ -0,0 +1,140 @@
// For Collapse And Accordion
// For collapse-title
[class*='collapse-'] {
.collapse-title {
font-weight: 500;
font-size: 1.1rem;
}
.card {
margin-bottom: 0;
&:last-of-type {
margin-bottom: 0;
}
&:not(:last-of-type) {
border-bottom: 1px solid $border-color;
}
.card-header {
cursor: pointer;
padding: 1rem 2.8rem 1rem 1rem;
}
.card-body {
padding: 1rem;
line-height: 1.5;
padding-top: 0.42rem;
}
}
}
// For collapse title
.collapse-title {
color: inherit;
&:hover {
color: inherit;
}
}
// To add a border below collapse/accordion heading
.collapse-default {
.card:first-child {
border-top: 0;
}
.card:last-child {
border-bottom: 0;
}
.card {
border-radius: 0;
}
}
// For Collapse with border
.collapse-border {
.card {
border: 1px solid $border-color;
&:not(:last-of-type) {
border-bottom: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:first-of-type) {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}
}
// For Collapse with shadow
.collapse-shadow {
box-shadow: 0 0px 4px 0 rgba($black, 0.1);
padding: 0.15rem 0.75rem;
border-radius: $border-radius;
.card {
border-radius: 0;
transition: border 0.5s ease-in-out, all 0.3s ease-in-out;
&.open {
border-radius: 0.571rem;
margin: 10px 0;
border: 0;
box-shadow: 0px 0px 8px 0px rgba($black, 0.1) !important;
}
}
.card:first-child {
border-top-left-radius: 0.571rem;
border-top-right-radius: 0.571rem;
}
.card:last-child {
border-bottom-left-radius: 0.571rem;
border-bottom-right-radius: 0.571rem;
}
}
// For Collapse with margin
.collapse-margin {
.card {
margin-top: 0.71rem;
margin-bottom: 0.71rem;
box-shadow: 0 2px 15px 0 rgba($black, 0.05) !important;
border-radius: 0.358rem;
border-bottom: 0 solid transparent !important;
}
.card-header {
border-radius: 0.358rem;
}
}
// Collapse Icon & Animation
.collapse-icon {
.card-header {
position: relative;
}
[data-toggle='collapse'] {
&:after {
position: absolute;
top: 58%;
right: 1rem;
margin-top: -8px;
background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $body-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 14px;
width: 14px;
height: 11px;
content: '';
transition: all 300ms linear 0s;
}
&:disabled {
&:before {
background-image: url(str-replace(str-replace($chevron-up, 'currentColor', $body-color), '#', '%23'));
}
}
}
[aria-expanded='false'] {
&:after {
transform: rotate(-180deg);
}
}
}

View File

@@ -0,0 +1,255 @@
// The dropdown menu
.dropdown {
[class*='btn-outline-'].dropdown-toggle.dropdown-toggle-split {
border-left: 0 !important;
}
// If don't won't dropdown/up arrow
&.no-arrow {
.dropdown-toggle {
&:after {
display: none;
}
i,
svg {
margin-right: 0;
}
}
}
}
// dropdown menu
.dropdown-menu {
// border: 1px solid rgba($black, 0.05); // border opacity has been reduced to make it look same as vue's dropdown border [component page, list view page]
border-radius: $dropdown-border-radius;
transform: scale(1, 0);
box-shadow: $dropdown-box-shadow; // this according to vue version
.dropdown-item {
width: auto;
cursor: pointer;
}
// Dropdown Header
.dropdown-header {
font-weight: 500;
line-height: 1;
}
}
.show {
> .dropdown-menu {
transform: scale(1, 1);
opacity: 1;
display: block;
}
.dropdown-toggle {
&:focus {
box-shadow: none;
}
}
// For DD box shadow on show
.btn {
&.dropdown-toggle {
&:focus {
box-shadow: none;
}
}
}
}
.dropdown-toggle {
// changed icon caret
&::after {
border: none !important;
content: ' ';
background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $white), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
color: $body-color;
width: 14px;
height: 11px;
position: relative;
top: 1px;
right: 0px;
left: 0.714rem;
padding: 0;
margin: 0;
vertical-align: 0;
}
// arrow size according to toggle sizes
&.btn-lg {
&::after {
background-size: 18px;
}
}
&.btn-sm {
&::after {
background-size: 14px;
}
}
&.dropdown-toggle-split {
&:after {
left: 0;
}
}
// hide default arrow to show custom icon DD
&.nav-hide-arrow {
&::after {
display: none;
}
}
// Prevent the focus on the dropdown toggle when closing dropdowns
&:focus {
outline: 0;
}
}
// DropUp
.dropup {
position: relative;
.dropdown-toggle {
// changed icon dropup caret
&::after {
background-image: url(str-replace(str-replace($chevron-up, 'currentColor', $white), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
width: 14px;
height: 11px;
content: '';
vertical-align: 0.05rem;
}
}
.dropdown-menu {
min-width: 8rem;
}
}
// DropLeft
.dropleft {
.dropdown-toggle {
// changed icon dropup caret
&::before {
border: none !important;
background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
width: 14px;
height: 11px;
content: '';
position: relative;
left: 0;
}
}
.dropdown-menu {
min-width: 8rem;
}
}
// DropRight
.dropright {
.dropdown-toggle {
// changed icon dropup caret
&::after {
border: none !important;
background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $white), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
width: 14px;
height: 11px;
content: '';
}
}
.dropdown-menu {
min-width: 8rem;
}
}
// Dropdown ::before position
.dropdown-menu {
// Dropdown margin according to dropdown position
&[x-placement='bottom-start'],
&[x-placement='bottom-end'] {
margin-top: $dropdown_spacing;
}
&[x-placement='top-start'],
&[x-placement='top-end'] {
margin-bottom: $dropdown_spacing;
}
&[x-placement='right-start'] {
margin-left: $dropdown_spacing;
}
&[x-placement='left-start'] {
margin-right: $dropdown_spacing;
}
}
// Dropdown icon
.dropdown,
.dropup {
&.dropdown-icon-wrapper {
.dropdown-toggle {
&:after {
display: none;
}
}
.dropdown-menu {
min-width: auto;
.dropdown-item {
padding: 0.5rem 1.1rem;
cursor: pointer;
i,
svg {
height: 1.3rem;
width: 1.3rem;
font-size: 1.3rem;
}
}
}
}
}
// Dropdown menu animation for Horizontal menu
.horizontal-menu-wrapper .dropdown-menu,
.header-navbar .dropdown-menu {
animation-duration: 0.3s;
animation-fill-mode: both;
animation-name: slideIn;
}
// Hidden dropdown toggle arrow
.dropdown-toggle.hide-arrow,
.dropdown-toggle-hide-arrow > .dropdown-toggle {
&::before,
&::after {
display: none;
}
}
@keyframes slideIn {
0% {
transform: translateY(1rem);
opacity: 0;
}
100% {
transform: translateY(0rem);
opacity: 1;
}
0% {
transform: translateY(1rem);
opacity: 0;
}
}

View File

@@ -0,0 +1,592 @@
//
// Labels
//
label {
color: $headings-color;
font-size: $small-font-size;
}
// placeholder specific scss
.form-control {
&::placeholder {
transition: all 0.2s ease;
}
&:focus {
&::placeholder {
transform: translate(5px);
transition: all 0.2s ease;
}
&:valid,
&.is-valid {
box-shadow: $input-focus-box-shadow;
}
}
}
.form-control-plaintext {
&:focus {
outline: none;
}
}
.custom-file-label {
line-height: 1.75;
height: $custom-file-height !important;
&:after {
height: 2.56rem;
line-height: 1.75;
}
}
.valid-tooltip,
.invalid-tooltip {
top: 102%;
left: 5px;
}
/***************
* Form Group
***************/
// input group !important for overriding the dark style
.input-group {
&:not(.bootstrap-touchspin):focus-within {
box-shadow: $input-focus-box-shadow;
border-radius: $input-border-radius;
.form-control,
.input-group-text {
border-color: $primary;
box-shadow: none;
&.is-valid {
border-color: $success;
}
&.is-invalid {
border-color: $danger;
}
}
}
&.is-valid {
.input-group-text {
border-color: $success !important;
}
&:not(.bootstrap-touchspin):focus-within {
.input-group-text {
border-color: $success;
}
}
}
&.is-invalid {
.input-group-text {
border-color: $danger !important;
}
&:not(.bootstrap-touchspin):focus-within {
.input-group-text {
border-color: $danger;
}
}
}
&.disabled {
.input-group-text {
background-color: $input-disabled-bg;
}
}
&.round {
.form-control,
.input-group-text,
&:focus-within {
@include border-radius(1.5rem);
}
}
&.square {
.form-control,
.input-group-text,
&:focus-within {
@include border-radius(0);
}
}
&.round,
&.square {
.input-group-prepend {
.input-group-text {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
.input-group-append {
.input-group-text {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
.form-control {
&:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
&:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
}
&.square {
.form-control,
.input-group-text {
@include border-radius(0);
}
}
}
.input-group-text {
@include transition($input-transition);
}
.input-group-prepend {
.input-group-text {
border-right: 0;
}
}
.input-group-append {
.input-group-text {
border-left: 0;
}
&:not(:last-child) .input-group-text {
border-right: 0;
}
}
// input group merge
.input-group-merge {
.form-control {
&:not(:first-child) {
padding-left: 0;
border-left: 0;
}
&:not(:last-child) {
padding-right: 0;
border-right: 0;
}
&.is-valid {
~ .input-group-append {
.input-group-text {
border-color: $success;
}
}
}
}
.input-group-prepend {
~ .form-control.is-valid {
.input-group-text & {
border-color: $success;
}
}
}
}
// Text area line height
textarea {
&.form-control {
line-height: 1.6rem;
padding: 0.8rem 1rem !important;
}
&.form-control-sm {
padding: 0.4rem 0.857rem !important;
}
&.form-control-lg {
padding: 1rem 1.143rem !important;
}
}
// Used for Card - Check it and remove if not used
.form-actions {
border-top: 1px solid darken($body-bg, 10%);
padding: 20px 0;
margin-top: 20px;
&.filled {
background-color: $body-bg;
}
&.center {
text-align: center;
}
&.right {
text-align: right;
}
&.top {
border-top: 0;
border-bottom: 1px solid darken($body-bg, 10%);
margin-top: 0;
margin-bottom: 20px;
}
@include media-breakpoint-down(sm) {
.buttons-group {
float: left !important;
margin-bottom: 10px;
}
}
}
// Form-horizontal layout
.form-horizontal {
.form-group {
@include media-breakpoint-up(sm) {
.label-control {
text-align: right;
}
}
}
}
// Select Inputs Specific SCSS
select.form-control {
&:not([multiple='multiple']) {
background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $input-border-color), '#', '%23'));
background-position: calc(100% - 12px) 13px, calc(100% - 20px) 13px, 100% 0;
background-size: 18px 14px, 18px 14px;
background-repeat: no-repeat;
-webkit-appearance: none;
-moz-appearance: none;
padding-right: 1.5rem;
}
&.form-control-lg {
background-position: calc(100% - 12px) 16px, calc(100% - 20px) 16px, 100% 0;
}
&.form-control-sm {
background-position: calc(100% - 12px) 8px, calc(100% - 20px) 8px, 100% 0;
}
}
// For customs-select remove double arrow
.custom-select {
-moz-appearance: none; // For firefox
-webkit-appearance: none; // for chrome
}
// Custom Checkbox
.custom-checkbox {
.custom-control-label::before,
.custom-control-label::after {
top: 0.07rem;
}
.custom-control-label::after {
background-size: 57%;
}
}
// Custom Radio
.custom-radio {
.custom-control-label::before {
top: 0.1rem;
}
}
// Custom checkbox and radio in common
.custom-checkbox,
.custom-radio {
&.custom-control {
padding-left: 1.8rem;
.input-group & {
padding-left: 1.3rem;
}
}
.custom-control-input {
width: 1.285rem;
height: 1.285rem;
}
.custom-control-label {
font-size: $font-size-base;
position: static;
// vertical-align: middle;
&::before,
&::after {
width: 18px;
height: 18px;
left: 0;
}
}
.custom-control-input:checked ~ .custom-control-label::before {
box-shadow: 0 2px 4px 0 rgba($custom-control-indicator-checked-bg, 0.4) !important;
}
.custom-control-input:disabled ~ .custom-control-label::before {
border: none;
box-shadow: none !important;
}
.custom-control-input:focus ~ .custom-control-label::before {
border-color: none;
box-shadow: 0 2px 4px 0 rgba($custom-control-indicator-checked-bg, 0.4) !important;
}
}
// Custom-checkbox when not disabled and active
.custom-control-input:not(:disabled) {
&:active ~ .custom-control-label {
&::before {
background-color: $primary;
border-color: $primary;
}
}
}
/* Floating label Group */
.form-label-group {
position: relative;
margin-bottom: $form-group-margin-bottom;
// Form-Control-Large in Floating Label Group
.form-control-lg {
~ label {
font-size: $input-font-size;
padding: 1rem;
}
}
// Form-label
> label {
position: absolute;
top: 0;
left: 0;
display: block;
transition: all 0.25s ease-in-out;
padding: 0.6rem;
pointer-events: none;
cursor: text;
color: rgba($black, 0.4);
font-size: 0.7rem;
opacity: 0;
}
// form-input
> input,
textarea {
// from-input on focus change label color
&:focus,
&:not(:active) {
&:not(:placeholder-shown) ~ label {
color: rgba($primary, 1) !important;
transition: all 0.25s ease-in-out;
opacity: 1;
}
}
&:not(:focus) {
&:not(:placeholder-shown) ~ label {
color: rgba($black, 0.4) !important;
}
}
// form-label after entering text in input box
&:not(:placeholder-shown) ~ label {
padding: 0.25rem 0;
top: -20px;
left: 3px;
}
&.form-control-lg:not(:placeholder-shown) ~ label {
top: -23px;
}
&.form-control-sm:not(:placeholder-shown) ~ label {
top: -18px;
}
}
}
/* Switches */
.custom-switch {
padding-left: 0;
line-height: 1.7rem;
.custom-control-label {
padding-left: 3.5rem;
line-height: 1.7rem;
/* For bg color of switch*/
&::before {
border: none;
background-color: $switch-bg-color;
height: 1.7rem;
box-shadow: none !important;
transition: opacity 0.25s ease, background-color 0.1s ease;
cursor: pointer;
user-select: none;
top: 0;
left: 0;
}
/*For Switch handle*/
&:after {
position: absolute;
top: 4px;
left: 4px;
box-shadow: -1px 2px 3px 0 rgba($black, 0.2);
background-color: $switch-indicator-color;
transition: all 0.15s ease-out;
cursor: pointer;
user-select: none;
}
/*For Switch text*/
.switch-text-left,
.switch-text-right,
.switch-icon-left,
.switch-icon-right {
position: absolute;
cursor: pointer;
user-select: none;
line-height: 1.8;
i,
svg {
height: 13px;
width: 13px;
font-size: 13px;
}
}
.switch-text-left,
.switch-icon-left {
left: 6px;
color: $white;
opacity: 0;
transform: translateX(8px);
transition: opacity 0.1s ease, transform 0.15s ease;
}
.switch-text-right,
.switch-icon-right {
right: 13px;
opacity: 1;
transform: translateX(0px);
transition: opacity 0.08s ease, transform 0.15s ease;
}
&:focus {
outline: 0;
}
}
/*For Switch label*/
.switch-label {
padding-left: 1rem;
}
// after its checked
.custom-control-input:checked ~ .custom-control-label::before {
box-shadow: none;
}
/*For Switch Handle Animation*/
.custom-control-input:checked ~ .custom-control-label::after {
transform: translateX(1.4rem);
}
.custom-control-input:checked ~ .custom-control-label {
.switch-text-left,
.switch-icon-left {
transform: translateX(0);
opacity: 1;
}
.switch-text-right,
.switch-icon-right {
transform: translateX(-8px);
opacity: 0;
}
}
.custom-control-input:not(:checked) ~ .custom-control-label {
.switch-text-left {
opacity: 0;
}
.switch-text-right {
opacity: 1;
}
}
.custom-control-input:checked ~ .custom-control-label {
.switch-text-right {
opacity: 0;
}
.switch-text-left {
opacity: 1;
}
}
}
/* Textarea with Counter */
.textarea-counter-value {
background-color: $primary;
color: $white;
padding: 1px 6px;
font-size: 0.6rem;
border-radius: 0 0 5px 5px;
margin-right: 1rem;
}
// Number Input style
.btn.disabled-max-min,
.btn.disabled-max-min:focus,
.btn.disabled-max-min:active {
background-color: rgba($black, 0.5) !important;
cursor: default;
}
// disabled number input
.bootstrap-touchspin,
.bootstrap-touchspin {
&.disabled-touchspin {
.bootstrap-touchspin-down,
.bootstrap-touchspin-up {
border-color: transparent !important;
}
}
}
/* Number Type Input Box Scss for - Remove arrow on hover */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
-webkit-appearance: none;
}
// IE Specific CSS
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
// floating Label Group
.form-label-group {
label {
display: none;
}
}
// Bootstrap Select
select.form-control {
&:not([multiple='multiple']) {
background: none;
}
}
}
// Date & Time Picker - Form Control Bg color
.picker__input {
&.form-control {
background-color: $white;
}
}
// Autofill style
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px $white inset !important;
-webkit-text-fill-color: $body-color !important;
}

View File

@@ -0,0 +1,10 @@
@function str-replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace +
str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}

View File

@@ -0,0 +1,102 @@
// ================================================================================================
// File Name: helper.scss
// Description: Helper classes provides template related customization.
// ----------------------------------------------------------------------------------------------
// Content helpers
// -------------------------
// typography page icon with list
.list-style-icons {
padding-left: 10px;
margin-left: 0;
list-style: none;
> li svg,
> li i {
margin-right: 6px;
}
}
//Pull the element
.pull-up {
transition: all 0.25s ease;
&:hover {
transform: translateY(-4px) scale(1.02);
box-shadow: 0px 14px 24px rgba(62, 57, 107, 0.2);
z-index: 30;
}
}
// Spinner classes
.spinner {
display: inline-block;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.spinner-reverse {
display: inline-block;
animation: spin-reverse 1s linear infinite;
}
@keyframes spin-reverse {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(-360deg);
}
}
// Bullets used in application pages
.bullet {
width: 1rem;
height: 1rem;
border-radius: 50%;
display: inline-block;
&.bullet-xs {
width: 0.5rem;
height: 0.5rem;
}
&.bullet-sm {
width: 0.714rem;
height: 0.714rem;
}
&.bullet-lg {
width: 1.25rem;
height: 1.25rem;
}
}
// Section Label - used in pages and apps
.section-label {
font-size: 0.85rem;
color: $text-muted;
text-transform: uppercase;
letter-spacing: 0.6px;
}
// Used for table cell fit
.cell-fit {
width: 0.1%;
white-space: nowrap;
}
// Card match height
.match-height {
> [class*='col'] {
display: flex;
flex-flow: column;
> .card {
flex: 1 1 auto;
}
}
}

View File

@@ -0,0 +1,20 @@
// ================================================================================================
// File Name: include.scss
// Description: Common components file to include all theme specific custom components.
// ----------------------------------------------------------------------------------------------
// Variables
// ------------------------------
// Functions
@import 'bootstrap/scss/functions'; // Bootstrap core function
@import 'functions'; // Bootstrap extended function
// Variables
// @import 'scss/variables/variables'; // Bootstrap custom variable override (for user purpose)
@import 'variables'; // Bootstrap extended variable override
@import 'bootstrap/scss/variables'; // Bootstrap core variable
// Mixins
@import 'bootstrap/scss/mixins'; // Bootstrap core mixins
@import 'mixins'; // Bootstrap extended mixins

View File

@@ -0,0 +1,100 @@
/* ===============================================================================================
File Name: list-group.scss
Description: Contain list item, list group related extended SCSS.
================================================================================================*/
// Inline list style with pipeline separator
ul.list-inline {
li {
display: inline-block;
}
// used in search page
&.list-inline-pipe {
> li + li:before {
content: ' | ';
padding-right: 2px;
}
}
}
.list-group-item2 {
overflow: scroll;
}
// bootstrap list group
.list-group-item {
line-height: 1.5;
i,
svg {
position: relative;
}
// &:not(.active):focus:active {
// color: inherit;
// }
}
.list-group {
.list-group-item-action {
&.active,
&:active {
background-color: $primary;
color: $white;
h1,
h2,
h3,
h4,
h5,
h6 {
color: $white;
}
&:hover,
&:focus {
color: $white;
background-color: $primary;
}
small {
color: $text-muted !important;
}
}
&:hover {
background-color: $body-bg;
}
&:focus {
background-color: $body-bg;
outline: 0;
}
}
// List group with circle for pages like knowledge base
&.list-group-circle {
border: none;
.list-group-item {
border: none;
position: relative;
padding-left: 1.5rem;
&:after {
content: ' ';
background-image: url(str-replace(str-replace($circle, 'currentColor', $body-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
color: $body-color;
background-size: 10px;
position: absolute;
height: 10px;
width: 10px;
top: 1.15rem;
left: 0;
}
&:hover {
background-color: transparent;
}
}
}
}
// for drag and drop border radius on selected
.list-group-item.gu-mirror {
border-radius: 0;
}

View File

@@ -0,0 +1,22 @@
.media-list {
.media {
padding: 1.25rem;
width: 100%;
margin-top: 0;
.media-left {
margin-right: 1rem;
}
.media-right {
margin-left: 1rem;
}
}
a.media {
color: $gray-600 !important;
}
}
.media-bordered {
.media:not(:first-child) {
border-top: 1px solid $border-color;
}
}

View File

@@ -0,0 +1,9 @@
// ===============================================================================================
// File Name: mixins.scss
// Description: Extended mixins file with new mixins features.
// ================================================================================================
@import 'mixins/_type'; //(NEW)
// Components
@import 'mixins/_navs';

View File

@@ -0,0 +1,188 @@
// Modals
.modal {
// Modal Header
.modal-header {
background-color: $body-bg;
border-bottom: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
// close button
.close {
padding: 0.2rem 0.62rem;
box-shadow: 0 5px 20px 0 rgba($black, 0.1);
border-radius: $border-radius;
background: $white;
opacity: 1;
transition: all 0.23s ease 0.1s;
position: relative;
transform: translate(8px, -2px);
// For hover effect of close btn
&:hover,
&:focus,
&:active {
opacity: 1;
outline: none;
transform: translate(5px, 3px);
box-shadow: none;
}
}
}
// Modal Content
.modal-content {
border: none;
// overflow: unset; updated to "visible" as close icon is not visible in IE
overflow: visible;
box-shadow: 0 5px 20px 0 rgba($black, 0.1);
}
.modal-footer {
padding: $modal-inner-padding;
}
// modal sticky for apps
&.modal-sticky {
bottom: 0;
right: 0;
top: auto;
left: auto;
height: auto;
position: fixed;
.modal-header {
display: flex;
align-items: center;
justify-content: space-between;
}
.modal-dialog {
margin-right: #{$content-padding} !important;
box-shadow: 0px 0px 24px 0 rgba($black, 0.25);
border-radius: $border-radius;
}
.modal-actions {
background: transparent;
box-shadow: none;
line-height: 0;
}
}
}
// Modal XS
.modal-xs {
max-width: 300px;
}
// Modal XL
@media (min-width: 1200px) {
.modal-xl {
margin-left: 3%;
margin-right: 3%;
}
}
// Slide In Modal //
.modal-slide-in,
.modal-slide-in .modal {
padding: 0 !important;
overflow: hidden !important;
}
.modal-slide-in {
.modal-dialog {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: auto;
margin: 0;
max-width: none;
width: ($modal-slide-in-width-sm - 5);
.modal-content {
padding-bottom: ($modal-title-line-height * $close-font-size) +
$modal-header-padding-y;
padding-top: ($modal-title-line-height * $close-font-size) +
$modal-header-padding-y;
overflow: auto;
border-radius: 0;
height: 100%;
}
.modal-body {
padding-bottom: 0;
padding-top: 0;
margin: auto 0;
flex-grow: 0;
}
@media (min-width: (map-get($grid-breakpoints, sm))) {
width: $modal-slide-in-width;
}
&.sidebar-sm {
width: $modal-slide-in-width-sm;
}
&.sidebar-lg {
@media (min-width: (map-get($grid-breakpoints, sm))) {
width: $modal-slide-in-width-lg;
}
}
}
.close {
top: $modal-header-padding-y / 2;
z-index: 10;
transform: none;
position: absolute;
//top: 1.5rem;
right: $modal-header-padding-x;
margin: 0;
padding: 0 !important;
line-height: 0.5;
//transform: translate(0, -50%);
}
}
// Slide from Right
.modal-slide-in.fade .modal-dialog,
.modal-slide-in .modal.fade .modal-dialog {
transform: translateX(100%);
transition: transform 0.1s ease-out;
}
.modal-slide-in.show .modal-dialog,
.modal-slide-in .modal.show .modal-dialog {
transform: translateX(0) !important;
transition: transform 0.1s ease-out;
}
// To remove Max-width of XS Modal in Small Screen
@media (max-width: 576px) {
.modal {
padding-right: 1rem;
padding-left: 1rem;
.modal-xs,
.modal-sm {
max-width: unset;
}
&.modal-sticky .modal-dialog {
margin-right: 0.2rem !important;
margin-left: 0.2rem;
margin-bottom: 3rem;
}
}
}
// .btn-close {
// font-size: 1rem;
// color: #000;
// opacity: 0.5;
// }
// .btn-close::before {
// content: "X"; /* Kapama simgesi */
// font-weight: bold;
// }

View File

@@ -0,0 +1,272 @@
// Component nav and nav/pill tabs
.nav {
border-radius: 0.25rem;
// for component navs
// to wrap border around nav component
&.wrap-border {
border: 1px solid $nav-component-border-color;
li.nav-header {
margin: 0 0.5rem;
}
li.nav-item,
div {
padding: 2px 0.714rem;
}
}
&.nav-left {
.nav-item .nav-link {
justify-content: flex-start;
}
}
&.nav-right {
.nav-item .nav-link {
justify-content: flex-end;
}
}
// Square Border
&.square-border {
border-radius: 0;
.nav-item {
.nav-link.active {
border-radius: 0;
}
}
}
// for main menu toggle lock
.modern-nav-toggle {
padding: 0;
margin: 1.571rem 0;
}
// Dropdown without background need arrow color changes
.dropdown.show {
.dropdown-toggle {
&::after {
background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $white), '#', '%23'));
}
}
}
.dropdown-toggle {
&:not(.active) {
&::after {
background-image: url(str-replace(str-replace($chevron-down, 'currentColor', $body-color), '#', '%23'));
}
}
}
}
.nav-pills,
.nav-tabs {
// if icon added inside nav-link
.nav-link {
display: flex;
align-items: center;
justify-content: center;
i,
svg {
margin-right: 0.5rem;
}
}
}
// nav pills
.nav-pills {
margin-bottom: 1rem;
// nav item of nav pill
.nav-link {
padding: $btn-padding-y $btn-padding-x;
font-size: $btn-font-size;
line-height: $btn-font-size;
border: 1px solid transparent;
color: $headings-color;
&.active {
border-color: $nav-pills-link-active-bg;
box-shadow: 0 4px 18px -4px rgba($nav-pills-link-active-bg, 0.65);
}
&.disabled {
color: $nav-link-disabled-color;
}
&.dropdown-toggle::after {
top: 1px;
left: 1px;
}
}
&.dropdown {
&.show {
.nav-link {
color: $white;
}
.dropdown-item {
&.active {
&:hover {
color: $primary;
}
}
}
}
}
// Justified Pills
&.nav-justified {
@include nav-justified;
@include nav-tabs-justified;
.nav-link {
display: block;
&.active {
border: none;
&:hover,
&:focus {
border: none;
}
}
}
}
}
// Basic Nav Tabs
.nav-tabs {
margin-bottom: 1rem;
position: relative;
// Basic nav item
.nav-item {
position: relative;
}
.nav-link {
color: $body-color;
border: none;
min-width: auto;
font-weight: 450;
padding: 0.61rem 1.2rem;
border-radius: 0;
position: relative;
overflow: hidden;
&:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: linear-gradient(30deg, rgba($primary, 1), rgba($primary, 0.5)) !important;
transition: transform 0.3s;
transform: translate3d(0, 150%, 0);
}
&.active {
position: relative;
color: $primary;
&:after {
transform: translate3d(0, 0, 0);
// box-shadow: 0 0 8px 0 rgba($primary, 0.5) !important;
}
}
&.dropdown-toggle {
&::after {
top: 1px;
left: 1px;
}
}
}
// Justified Tabs
&.nav-justified {
@include nav-justified;
@include nav-tabs-justified;
.nav-item {
a.nav-link {
display: block;
border-radius: 0;
&.active {
border: none;
}
&:hover {
border-color: transparent;
}
}
}
}
}
// Nav Tabs Vertical
.nav-vertical {
overflow: hidden;
.nav.nav-tabs {
// nav item styles for vertical nav tabs
.nav-item {
.nav-link {
margin-bottom: 0;
&:after {
transform: rotate(90deg) translate3d(0, 150%, 0);
left: 70%;
}
&.active {
&:after {
left: auto;
right: -1.4rem;
transform: rotate(90deg) translate3d(0, 225%, 0);
top: 1.25rem;
width: 2.14rem;
}
}
}
}
// vertical nav left tabs
&.nav-left {
float: left;
display: table;
margin-right: 1rem;
~ .tab-content {
.tab-pane {
display: none;
overflow-y: auto;
padding-left: 1rem;
&.active {
display: block;
}
}
}
}
// vertical right nav tabs
&.nav-right {
float: right;
display: table;
margin-left: 1rem;
.nav-item {
.nav-link {
&.active {
&:after {
left: -0.9rem;
transform: rotate(90deg) translate3d(0, 10%, 0);
}
}
}
}
~ .tab-content {
.tab-pane {
display: none;
overflow-y: auto;
padding-right: 1rem;
&.active {
display: block;
}
}
}
}
}
}

View File

@@ -0,0 +1,680 @@
/* ===============================================================================================
File Name: navbar.scss
Description: Contain header navigation bar, vertical main navigation bar and
horiznotal main navigation bar related SCSS.
================================================================================================*/
@function set-navbar-text-color($color) {
@if (lightness($color) > 50) {
@return $white; // Lighter backgorund, return dark color
} @else {
@return $black; // Darker background, return light color
}
}
.header-navbar {
padding: 0px;
min-height: $navbar-height;
font-family: $font-family-monospace;
transition: 300ms ease all, background 0s;
z-index: 997;
&.fixed-top,
&.floating-nav {
left: $menu-expanded-width;
}
// Apply navbar color as per background
&[class*="bg-"] {
.navbar-nav {
.nav-item {
> a {
color: set-navbar-text-color($theme-dark-body-color) !important;
i,
svg,
span {
color: set-navbar-text-color($theme-dark-body-color) !important;
}
}
.dropdown-menu {
i,
svg {
color: inherit !important;
}
}
}
.search-input {
.input,
.search-list .auto-suggestion span {
color: $body-color !important;
}
}
}
}
//* Navbar modifiers
//*------------------------
// floating nav
&.floating-nav {
position: fixed;
top: 0;
right: 0;
margin-top: #{$floating-nav-margin};
width: calc(
100vw - (100vw - 100%) - calc(#{$content-padding} * 2) - #{$menu-expanded-width}
);
border-radius: $card-border-radius;
z-index: 12;
margin-left: auto;
margin-right: auto;
}
// static nav
&.navbar-static-top {
top: 0;
right: 0;
left: $menu-expanded-width;
width: calc(100vw - (100vw - 100%) - #{$sidebar-width});
background: transparent;
box-shadow: none !important; // remove this if removing "menu-shadow" class
}
// add border to navbar
&.navbar-border {
border-bottom: 1px solid $border-color;
}
// add shadow to navbar
&.navbar-shadow {
box-shadow: $box-shadow;
}
&.navbar-dark.navbar-border {
border-bottom: 1px solid $theme-dark-border-color;
}
// Hide navbar dropdown arrow
&:not(.navbar-horizontal) {
.nav-link {
&.dropdown-toggle::after {
display: none;
}
}
}
//* Navbar modifiers
//*------------------------
.navbar-container {
padding: 0.8rem 1rem;
// Added more horizontal padding above small screen
@include media-breakpoint-up(sm) {
padding: 0.8rem 1.4rem;
}
flex-basis: 100%;
transition: 300ms ease all;
margin-left: 0;
// Navbar bookmark primary color on hover
.bookmark-wrapper {
// for bookmark z-index
.bookmark-input {
z-index: 1;
}
}
// Language dd style
.dropdown-language {
.selected-language {
font-weight: 500;
}
.nav-link {
.flag-icon {
margin-right: 0.4rem;
}
}
.dropdown-menu .dropdown-item {
.flag-icon {
margin-right: 0.4rem;
}
}
}
ul.navbar-nav {
li {
line-height: 1.5;
&.dropdown {
.dropdown-menu {
.vertical-layout & {
top: 41px !important; // Apply navbar dd position on vertical layouts only (Not for horizontal layout due to hover out issue)
}
}
}
&.dropdown-language {
.dropdown-menu.dropdown-menu-right {
right: -2px;
}
}
// Cart & Notification badge
&.dropdown-cart,
&.dropdown-notification {
.badge {
&.badge-up {
right: -3px;
}
}
.dropdown-menu.dropdown-menu-right {
right: -2px;
padding: 0;
left: inherit;
&::before {
background: $primary;
border-color: $primary;
}
}
.dropdown-menu-header {
border-top-left-radius: $dropdown-border-radius;
border-top-right-radius: $dropdown-border-radius;
.dropdown-header {
padding: 1.22rem 1.28rem;
}
}
.notification-text {
margin-bottom: 0.5rem;
font-size: smaller;
color: $text-muted;
}
.dropdown-menu-footer {
padding: 1.28rem;
}
}
&.dropdown-notification {
.media-body {
.media-heading {
color: $body-color;
margin-bottom: 0;
line-height: 1.2;
}
}
}
// Cart dropdown
&.dropdown-cart {
.media {
position: relative;
img {
background: $body-bg;
}
&:hover {
.cart-item-remove {
visibility: visible;
}
}
}
.media-heading {
width: 8rem;
h6.cart-item-title {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.cart-item-by {
color: $text-muted;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
}
.media-body {
display: flex;
align-items: center;
justify-content: space-between;
}
.cart-item-price {
margin-bottom: 0;
width: 5rem;
text-align: right;
}
.cart-item-remove {
position: absolute;
top: 10px;
right: 17px;
width: 14px;
height: 14px;
cursor: pointer;
@include media-breakpoint-up(md) {
visibility: hidden;
}
}
}
> a.nav-link {
color: $body-color;
padding: 0 0.5rem;
position: relative;
}
&.dropdown-user {
line-height: 1 !important; // Set due to custom 2 line component in navbar
.dropdown-menu {
width: 12rem;
margin-top: 10px;
i,
svg {
height: 16px;
width: 16px;
font-size: 16px;
vertical-align: top;
}
}
}
// Logged in user dropdown styles
a.dropdown-user-link {
display: flex;
align-items: center;
.user-name {
display: inline-block;
margin-bottom: 0.435rem;
margin-left: 0.2rem;
}
.user-status {
font-size: smaller;
}
img {
box-shadow: 0 4px 8px 0 rgba($black, 0.12),
0 2px 4px 0 rgba($black, 0.08);
}
}
// navbar toggle menu size (display below lg)
a.menu-toggle {
i,
svg {
height: 1.6rem;
width: 1.6rem;
font-size: 1.6rem;
}
}
a.dropdown-user-link {
.user-nav {
display: flex;
flex-direction: column;
align-items: flex-end;
float: left;
margin-right: $spacer - 0.2;
}
}
div.input-group {
padding: 0.7rem 1rem;
}
i,
svg {
&.ficon {
height: 1.5rem;
width: 1.5rem;
font-size: 1.5rem;
color: $body-color;
&:hover {
color: $primary;
}
}
}
.media-list {
max-height: 25rem;
}
.scrollable-container {
position: relative;
}
}
}
//Navbar notification css
.dropdown-menu-media {
width: 30rem;
.dropdown-menu-header {
border-bottom: 1px solid $border-color;
}
.media-list {
.media {
padding: 0.9rem 1.28rem;
border: none;
border-bottom: 1px solid $border-color;
&:hover {
background: $body-bg;
}
.media-meta {
color: $body-color;
}
}
a:last-of-type {
.media {
border-bottom: none;
}
}
}
.dropdown-menu-footer {
border-top: 1px solid $border-color;
}
}
}
}
// Navbar shadow on scroll
.header-navbar-shadow {
display: none;
}
// Floating Navbar
.navbar-floating {
// Floating nav should have same padding across all screen
.navbar-container:not(.main-menu-content) {
padding: 0.8rem 1rem;
}
.header-navbar-shadow {
display: block;
background: linear-gradient(
180deg,
hsla(0, 0%, 97.3%, 0.95) 44%,
hsla(0, 0%, 97.3%, 0.46) 73%,
hsla(0, 0%, 100%, 0)
);
padding-top: 2.2rem;
background-repeat: repeat;
width: 100%;
height: 102px;
position: fixed;
top: 0;
left: 0;
z-index: 11;
}
}
// Navbar colors
.navbar-light {
background: $white;
&.navbar-horizontal {
background: $white;
}
.navbar-nav {
.active {
&.nav-link {
background-color: rgba($black, 0.03);
}
}
.disabled {
&.nav-link {
color: $nav-link-disabled-color;
}
}
}
}
.navbar-dark {
background: $gray-600;
.navbar-brand {
color: $white !important;
}
&.navbar-horizontal {
background: $gray-600;
}
.nav-search {
.form-control,
.btn-secondary {
color: $white;
background: $gray-600;
}
}
.navbar-nav {
li {
line-height: 1;
}
.active {
&.nav-link {
background-color: rgba($white, 0.05);
}
}
.disabled {
&.nav-link {
color: $gray-300;
}
}
}
}
// Media queries for device support
// =========================================
@include media-breakpoint-down(sm) {
.header-navbar {
// generic navbar dropdown specific
.navbar-nav {
.show {
position: static;
}
.open-navbar-container {
padding-top: 0.625rem;
}
}
.navbar-container {
.show {
.dropdown-menu {
right: 0;
left: 0 !important;
float: none;
width: auto !important;
margin-top: 0;
overflow: hidden;
}
}
.dropdown-user {
.dropdown-menu-right {
right: 0 !important;
}
}
ul.navbar-nav {
li {
.dropdown-toggle::after {
margin-right: 0;
margin-left: -2px;
}
}
}
}
}
// dark navbar
.navbar-dark {
.navbar-header {
.navbar-nav {
.nav-link {
color: $white;
}
}
}
.navbar-container {
.navbar-nav {
.nav-link {
color: $gray-600;
}
}
}
}
// light navbar
.navbar-light {
.navbar-header {
.navbar-nav {
.nav-link {
color: $gray-600;
}
}
}
.navbar-container {
.navbar-nav {
.nav-link {
color: $gray-600;
}
}
}
}
}
// For Medium and down: iPad support for navbr
// navbar static top
@include media-breakpoint-down(lg) {
.header-navbar {
// floating nav width
&.floating-nav {
width: calc(100vw - (100vw - 100%) - calc(#{$content-padding} * 2));
}
&.navbar-static-top {
left: 0;
width: 100%;
}
}
}
//For responsive sub nav
@mixin responsive_sub_nav {
.header-navbar {
.navbar-nav {
margin: 0;
flex-flow: row wrap;
.dropdown-menu {
position: absolute;
}
.nav-item {
float: left;
}
}
}
}
@include media-breakpoint-down(md) {
@include responsive_sub_nav;
}
@media (max-width: 767px) {
@include responsive_sub_nav;
}
@include media-breakpoint-down(xs) {
.header-navbar {
&.floating-nav {
width: calc(
100vw - (100vw - 100%) - calc(#{$content-padding} + 0.4rem)
) !important; // SM screen calc as per updated spacings
margin-left: 1rem;
margin-right: 1.2rem;
}
.navbar-container ul.navbar-nav li .selected-language {
display: none;
}
}
}
/* ----------- iPhone 5, 5S iPhone 6----------- */
// Set dropdown height as per the screen size
@mixin extend_mobile_specific($menu_height) {
.header-navbar {
.navbar-container {
.show {
.dropdown-menu {
max-height: $menu_height;
}
}
}
}
}
/* Landscape */
@media only screen and (min-device-width: 26.78em) and (max-device-width: 47.64em) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
@include extend_mobile_specific(180px);
}
/* ----------- iPhone 6+ ----------- */
/* Landscape */
@media only screen and (min-device-width: 29.57em) and (max-device-width: 52.57em) and (-webkit-min-device-pixel-ratio: 3) and (orientation: landscape) {
@include extend_mobile_specific(280px);
}
// for width of navbar in fixed-top
@media (max-width: 1201px) {
.header-navbar {
&.fixed-top,
&.floating-nav {
left: 0;
}
}
.horizontal-layout {
.header-navbar {
.navbar-container {
padding-left: 0.8rem;
padding-right: 0.8rem;
}
}
}
}
@media (max-width: 1199px) {
.header-navbar {
.navbar-container {
ul.navbar-nav li a.dropdown-user-link .user-name {
margin-bottom: 0;
}
}
}
}
ul.navbar-nav li a.dropdown-user-link .user-name:hover {
background-color: rgba(0, 102, 54, 0.2) !important;
padding: 5px;
border-radius: 5px;
}

View File

@@ -0,0 +1,307 @@
// Pagination
// default look for page item, first and last item
.page-item {
border-radius: 5rem;
&:not(.prev-item),
&:not(.next-item),
&:not(.first),
&:not(.last),
&:not(.active) {
.page-link {
line-height: 1.3;
}
}
.page-link {
display: flex;
align-items: center;
justify-content: center;
}
&.previous,
&.prev,
&.next,
&.first,
&.last {
.page-link {
width: auto;
}
}
&.prev-item,
&.next-item {
.page-link {
transition: all 0.2s ease-out;
}
}
// prev and next item separated styles
&.prev-item {
margin-right: 0.3571rem;
.page-link {
border-radius: 50%;
&:before {
background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $pagination-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 14px;
color: $body-color;
width: 8px;
height: 18px;
content: '';
}
&:hover {
background: $pagination-hover-bg;
color: $pagination-hover-color;
}
&:active,
&:hover {
background-color: $primary !important;
&:before {
background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $white), '#', '%23')) !important;
}
}
}
&.disabled {
.page-link {
&:before {
background-image: url(str-replace(
str-replace($chevron-left, 'currentColor', $pagination-disabled-color),
'#',
'%23'
));
}
}
}
& ~ .page-item:nth-child(2) {
border-top-left-radius: 5rem;
border-bottom-left-radius: 5rem;
.page-link {
border-top-left-radius: 5rem !important;
border-bottom-left-radius: 5rem !important;
}
}
& ~ .page-item:nth-last-child(2) {
border-top-right-radius: 5rem;
border-bottom-right-radius: 5rem;
.page-link {
border-top-right-radius: 5rem !important;
border-bottom-right-radius: 5rem !important;
}
}
}
&.next-item {
margin-left: 0.3571rem;
.page-link {
border-radius: 50%;
&:after {
background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $pagination-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 14px;
width: 8px;
height: 18px;
content: '';
}
&:hover {
background: $pagination-hover-bg;
color: $pagination-hover-color;
}
&:active,
&:hover {
background-color: $primary !important;
&:after {
background-image: url(str-replace(
str-replace($chevron-right, 'currentColor', $white),
'#',
'%23'
)) !important;
}
}
}
&.disabled {
.page-link {
&:after {
background-image: url(str-replace(
str-replace($chevron-right, 'currentColor', $pagination-disabled-color),
'#',
'%23'
));
}
}
}
}
// prev and next style
&.prev,
&.previous {
.page-link {
&:before {
background-image: url(str-replace(str-replace($chevron-left, 'currentColor', $pagination-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 14px;
color: $body-color;
width: 12px;
height: 18px;
content: '';
}
// &:active,
&:hover {
&:before {
background-image: url(str-replace(
str-replace($chevron-left, 'currentColor', $pagination-active-color),
'#',
'%23'
)) !important;
}
}
}
&.disabled {
.page-link {
&:before {
background-image: url(str-replace(
str-replace($chevron-left, 'currentColor', $pagination-disabled-color),
'#',
'%23'
));
}
}
}
}
&.next {
.page-link {
&:after {
background-image: url(str-replace(str-replace($chevron-right, 'currentColor', $pagination-color), '#', '%23'));
background-repeat: no-repeat;
background-position: center;
background-size: 14px;
color: $body-color;
width: 12px;
height: 18px;
content: '';
}
// &:active,
&:hover {
&:after {
background-image: url(str-replace(
str-replace($chevron-right, 'currentColor', $primary),
'#',
'%23'
)) !important;
}
}
}
&.disabled {
.page-link {
&:after {
background-image: url(str-replace(
str-replace($chevron-right, 'currentColor', $pagination-disabled-color),
'#',
'%23'
));
}
}
}
}
&.disabled {
.page-link {
color: $pagination-disabled-color;
}
}
// page link customization
.page-link {
border: none;
margin: 0;
margin-left: 0;
font-size: 1rem;
min-width: 2.286rem;
&:focus {
box-shadow: none;
}
&:hover {
color: $primary;
}
}
// for active page item
&.active {
background-color: $pagination-bg;
border-radius: 0;
.page-link {
z-index: 3;
border-radius: 5rem;
background-color: $primary;
color: $white !important;
font-weight: 600;
}
}
// if you don't want separated look
&:first-child:not(.prev-item) {
&.active {
border-top-left-radius: 1.428rem;
border-bottom-left-radius: 1.428rem;
.page-link {
border-radius: 5rem;
}
}
.page-link {
border-top-left-radius: 1.428rem;
border-bottom-left-radius: 1.428rem;
}
}
&:last-child:not(.next-item) {
&.active {
border-top-right-radius: 1.428rem;
border-bottom-right-radius: 1.428rem;
.page-link {
border-radius: 5rem;
}
}
.page-link {
border-top-right-radius: 1.428rem;
border-bottom-right-radius: 1.428rem;
}
}
}
// For Pagination Font sizes
.pagination {
// For Pagination lg
&.pagination-lg {
.page-item {
.page-link {
font-size: $pagination-font-size-lg;
min-width: 2.6rem;
}
}
}
// For Pagination sm
&.pagination-sm {
.page-item {
.page-link {
font-size: $pagination-font-size-sm;
min-width: 2rem;
}
}
}
}

View File

@@ -0,0 +1,45 @@
// Popovers
.popover {
box-shadow: $popover-box-shadow;
// popover header style
.popover-header {
@include font-size(1.07rem);
border: 1px solid $popover-header-bg;
}
// popover body style
.popover-body {
border: 1px solid $popover-border-color;
border-top-color: $popover-bg;
border-bottom-left-radius: $popover-border-radius;
border-bottom-right-radius: $popover-border-radius;
}
// popover bottom arrow color like header
&.bs-popover-bottom {
.arrow:after {
border-bottom-color: $popover-header-bg;
}
}
}
// To set arrow border as we have added border to popover-body and popover-header
.bs-popover-top {
> .arrow {
&::after {
bottom: $popover-border-width + 1px;
}
}
}
.bs-popover-right {
> .arrow {
&::after {
left: $popover-border-width + 1px;
}
}
}
.bs-popover-left {
> .arrow {
&::after {
right: $popover-border-width + 1px;
}
}
}

View File

@@ -0,0 +1,15 @@
/*=========================================================================================
File Name: progress.scss
Description: Extended bootstrap progress bar scss.
==========================================================================================*/
.progress {
// border radius to set for stacked bars
.progress-bar + .progress-bar:not(:last-child) {
border-radius: 0;
}
.progress-bar:last-child {
border-top-right-radius: $progress-border-radius;
border-bottom-right-radius: $progress-border-radius;
}
}

View File

@@ -0,0 +1,15 @@
a {
&:focus {
outline: none;
}
}
a:not([href]) {
color: inherit;
text-decoration: none;
@include hover() {
color: inherit;
text-decoration: none;
}
}

View File

@@ -0,0 +1,118 @@
// ================================================================================================
// File Name: tables.scss
// Description: Tables pages custom scss
// ================================================================================================
// table-white-space
.table-white-space {
th,
td {
white-space: nowrap;
}
}
// table th, td padding
.table {
thead,
tfoot {
th {
vertical-align: top;
text-transform: uppercase;
font-size: $table-th-font-size;
letter-spacing: 0.5px;
}
}
th,
td {
padding: $table-cell-padding 2rem;
vertical-align: middle;
}
&.table-sm {
th,
td {
padding: $table-cell-padding-sm 0.5rem;
&:first-child {
padding-left: 0.75rem;
}
}
}
}
// if we are not using table-light class then also header color should apply
.table:not(.table-dark):not(.table-light) {
thead:not(.thead-dark) th,
tfoot:not(.thead-dark) th {
background-color: $table-head-bg;
}
}
// table inside card, don't need margin bottom
.table-hover {
tbody {
tr {
cursor: pointer;
}
}
}
// Table - hover animation
.table-hover-animation {
background-color: $body-bg;
thead {
th {
border-bottom: 0;
}
}
th,
td {
border: 0;
}
tbody {
tr {
transition: all 0.25s ease;
background-color: $white;
&:hover {
transform: translateY(-4px);
}
}
}
}
// table border radius
.card .table {
margin-bottom: 0;
border-bottom-left-radius: $border-radius;
border-bottom-right-radius: $border-radius;
tbody {
tr:last-child {
td:first-child {
border-bottom-left-radius: $border-radius;
}
td:last-child {
border-bottom-right-radius: $border-radius;
}
}
}
}
// Contexual table inside card radius
.card {
table {
tr[class*='table-']:last-child {
td:first-child {
border-bottom-left-radius: $border-radius;
}
td:last-child {
border-bottom-right-radius: $border-radius;
}
}
}
}
// IE Specific CSS
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.table-hover-animation {
tr {
&:hover {
border-bottom-color: $table-border-color;
}
}
}
}

View File

@@ -0,0 +1,16 @@
// Toasts
.toast {
&.show {
z-index: 1030;
}
.close:focus {
outline: none;
}
}
@include media-breakpoint-down(xs) {
.toast {
left: 1rem;
}
}

View File

@@ -0,0 +1,18 @@
// ================================================================================================
// File Name: type.scss
// Description: Type pages custom scss
// ================================================================================================
// text heading color
.text-body-heading {
color: $headings-color;
&:hover {
color: inherit !important;
}
}
// text body hover color if have link
.text-body {
&[href]:hover {
color: $link-hover-color !important;
}
}

View File

@@ -0,0 +1,461 @@
// ================================================================================================
// File Name: utilities.scss
// Description: Utility classes provides color, width, position & background etc..
// related customization.
// ================================================================================================
// Sizes Variable for height and width mixins
$sizes-px: (
// in px
50: 50px,
100: 100px,
150: 150px,
200: 200px,
250: 250px,
300: 300px,
350: 350px,
400: 405px,
450: 455px,
500: 500px,
550: 550px,
600: 600px,
650: 650px,
700: 700px,
750: 750px,
800: 800px
) !default;
$sizes-per: (
// in %
5: 5%,
10: 10%,
15: 15%,
20: 20%,
25: 25%,
30: 30%,
35: 35%,
40: 40%,
45: 45%,
50: 50%,
55: 55%,
60: 60%,
65: 65%,
70: 70%,
75: 75%,
80: 80%,
85: 85%,
90: 90%,
95: 95%
) !default;
//--------------- Text ---------------
//------------------------------------
// Font Size
//----------
//small
.font-small-1 {
font-size: 0.7rem !important;
// for Feather SVG icons as we are using base size as 1rem
@at-root svg#{&} {
height: 0.7rem !important;
width: 0.7rem !important;
}
}
.font-small-2 {
font-size: 0.8rem !important;
@at-root svg#{&} {
height: 0.8rem !important;
width: 0.8rem !important;
}
}
.font-small-3 {
font-size: 0.9rem !important;
@at-root svg#{&} {
height: 0.9rem !important;
width: 0.9rem !important;
}
}
.font-small-4 {
font-size: 1rem !important;
@at-root svg#{&} {
height: 1rem !important;
width: 1rem !important;
}
}
//medium
.font-medium-1 {
font-size: 1.1rem !important;
@at-root svg#{&} {
height: 1.1rem !important;
width: 1.1rem !important;
}
}
.font-medium-2 {
font-size: 1.2rem !important;
@at-root svg#{&} {
height: 1.2rem !important;
width: 1.2rem !important;
}
}
.font-medium-3 {
font-size: 1.3rem !important;
@at-root svg#{&} {
height: 1.3rem !important;
width: 1.3rem !important;
}
}
.font-medium-4 {
font-size: 1.4rem !important;
@at-root svg#{&} {
height: 1.4rem !important;
width: 1.4rem !important;
}
}
.font-medium-5 {
font-size: 1.5rem !important;
@at-root svg#{&} {
height: 1.5rem !important;
width: 1.5rem !important;
}
}
//large
.font-large-1 {
font-size: 2rem !important;
@at-root svg#{&} {
height: 2rem !important;
width: 2rem !important;
}
}
.font-large-2 {
font-size: 3rem !important;
@at-root svg#{&} {
height: 3rem !important;
width: 3rem !important;
}
}
.font-large-3 {
font-size: 4rem !important;
@at-root svg#{&} {
height: 4rem !important;
width: 4rem !important;
}
}
.font-large-4 {
font-size: 5rem !important;
@at-root svg#{&} {
height: 5rem !important;
width: 5rem !important;
}
}
.font-large-5 {
font-size: 6rem !important;
@at-root svg#{&} {
height: 6rem !important;
width: 6rem !important;
}
}
// Line height
//----------
.line-height-1 {
line-height: 1 !important;
}
.line-height-condensed {
line-height: 1.5 !important;
}
.line-height-inherit {
line-height: inherit !important;
}
// Transform
//----------
.rotate-45 {
transform: rotate(45deg);
}
.rotate-45-inverse {
transform: rotate(-45deg);
}
.rotate-90 {
transform: rotate(90deg);
}
.rotate-90-inverse {
transform: rotate(-90deg);
}
.rotate-180 {
transform: rotate(180deg);
}
.rotate-180-inverse {
transform: rotate(-180deg);
}
//-------------- Borders --------------
//-------------------------------------
// Border width - 2px
.border-2 {
border-width: 2px !important;
}
.border-top-2 {
border-top-width: 2px !important;
}
.border-bottom-2 {
border-bottom-width: 2px !important;
}
.border-left-2 {
border-left-width: 2px !important;
}
.border-right-2 {
border-right-width: 2px !important;
}
// Border width - 3px
.border-3 {
border-width: 3px !important;
}
.border-top-3 {
border-top-width: 3px !important;
}
.border-bottom-3 {
border-bottom-width: 3px !important;
}
.border-left-3 {
border-left-width: 3px !important;
}
.border-right-3 {
border-right-width: 3px !important;
}
// Shapes radius : Round / Square
.round {
@include border-radius(1.5rem);
}
.square {
@include border-radius(0);
}
//-------------- Sizing --------------
//------------------------------------
// Width && Height
.fit {
max-width: 100% !important;
}
.half-width {
width: 50% !important;
}
.full-width {
width: 100% !important;
}
.full-height {
height: 100% !important;
}
// height & width in PX
@each $name, $size in $sizes-px {
.height-#{$name} {
height: $size !important;
}
.width-#{$name} {
width: $size !important;
}
}
// height & width in %
@each $name, $size in $sizes-per {
.height-#{$name}-per {
height: $size !important;
}
.width-#{$name}-per {
width: $size !important;
}
}
//------------- Position -------------
//------------------------------------
.position-top-0 {
top: 0;
}
.position-right-0 {
right: 0;
}
.position-bottom-0 {
bottom: 0;
}
.position-left-0 {
left: 0;
}
//------------- Overflow -------------
//------------------------------------
.overflow-visible {
overflow: visible;
}
.overflow-scroll {
overflow: scroll;
}
.overflow-x-scroll {
overflow: scroll;
}
.overflow-y-scroll {
overflow: scroll;
}
//-------------- Cursor --------------
//------------------------------------
.cursor-pointer {
cursor: pointer;
}
.cursor-move {
cursor: move;
}
.cursor-default {
cursor: default;
}
.cursor-progress {
cursor: progress;
}
.cursor-not-allowed {
cursor: not-allowed;
}
//-------------- Z-index --------------
//-------------------------------------
.zindex-1 {
z-index: 1 !important;
}
.zindex-2 {
z-index: 2 !important;
}
.zindex-3 {
z-index: 3 !important;
}
.zindex-4 {
z-index: 4 !important;
}
.zindex-0 {
z-index: 0 !important;
}
.zindex-minus-1 {
z-index: -1 !important;
}
.zindex-minus-2 {
z-index: -2 !important;
}
.zindex-minus-3 {
z-index: -3 !important;
}
.zindex-minus-4 {
z-index: -4 !important;
}
//------------ Box Shadow ------------
//------------------------------------
.box-shadow-0 {
box-shadow: none !important;
}
.box-shadow-1 {
box-shadow: 0 2px 5px 0 rgba($black, 0.16), 0 2px 10px 0 rgba($black, 0.12);
}
.box-shadow-2 {
box-shadow: 0 8px 17px 0 rgba($black, 0.2), 0 6px 20px 0 rgba($black, 0.19);
}
.box-shadow-3 {
box-shadow: 0 12px 15px 0 rgba($black, 0.24), 0 17px 50px 0 rgba($black, 0.19);
}
.box-shadow-4 {
box-shadow: 0 16px 28px 0 rgba($black, 0.22), 0 25px 55px 0 rgba($black, 0.21);
}
.box-shadow-5 {
box-shadow: 0 27px 24px 0 rgba($black, 0.2), 0 40px 77px 0 rgba($black, 0.22);
}
.box-shadow-6 {
box-shadow: 0 4px 8px 0 rgba($black, 0.12), 0 2px 4px 0 rgba($black, 0.08);
}
//-------------- Outline --------------
//-------------------------------------
.outline-none {
outline: none !important;
}
//-------------- Lists --------------
//-----------------------------------
.list-style-inside {
list-style: inside;
}
.list-style-circle {
list-style: circle;
}
.list-style-square {
list-style: square;
}
//--------- Background Image ---------
//------------------------------------
.bg-cover {
background-size: cover !important;
}
.background-repeat {
background-repeat: repeat !important;
}
.background-no-repeat {
background-repeat: no-repeat !important;
}
//-------------- Icons --------------
//-----------------------------------
.icon-bg-circle {
color: $white;
padding: 0.5rem;
border-radius: 50%;
}
.icon-left {
margin-right: 0.5rem;
}
.icon-right {
margin-right: 0.5rem;
}
// Used for blockUI
.blockOverlay {
z-index: 1050 !important;
}
.blockElement,
.blockPage {
z-index: 1051 !important;
}
.hidden {
display: none;
visibility: hidden;
}
a {
&:hover {
cursor: pointer;
}
}
//Tables
//--------------------------
.table-middle {
td {
vertical-align: middle;
}
}
//SVG
//--------------------------
.fill-current {
fill: currentColor;
}
//Cursor
//--------------------------
.pointer-events-none {
pointer-events: none;
}

View File

@@ -0,0 +1,510 @@
// ================================================================================================
// File Name: variables.scss
// Description: Custom overrides of Bootstrap variables
// ---------------------------------------------------------------------------================================================================================================
// Color system
$white: #fff !default;
$gray-50: #f6f6f6 !default;
$gray-100: #babfc7 !default; // $gray-lightest
$gray-200: #ededed !default; // $gray-lighter
$gray-300: #dae1e7 !default; // $gray-light
$gray-400: #636363 !default;
$gray-500: #adb5bd !default;
$gray-600: #b8c2cc !default; // $gray
$gray-700: #4e5154 !default;
$gray-800: #1e1e1e !default; // $gray-dark
$gray-900: #2a2e30 !default;
$black: #22292f !default; // 231f48 22292f
$purple: #7367f0 !default; //$primary
$green: #28c76f !default; //$success
$blue: #00cfe8 !default; //$info
$orange: #ff9f43 !default; //$warning
$red: #ea5455 !default; //$danger
$green-theme: #028a4a !default; //logo color
$primary: $green-theme !default;
$secondary: #82868b !default;
$info: $blue !default;
$warning: $red !default;
$light: $gray-50 !default;
$dark: #4b4b4b !default;
// Spacing
//
// Control the default styling of most Bootstrap elements by modifying these
// variables. Mostly focused on spacing.
// You can add more entries to the $spacers map, should you need more variation.
// scss-docs-start container-max-widths
$grid-breakpoints: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px,
xxl: 1440px // Custom xxl size,,
) !default;
$container-max-widths: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px,
xxl: 1440px // Custom xxl size,,
) !default;
// scss-docs-end container-max-widths
// stylelint-disable
$spacer: 1rem !default;
$spacers: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$spacers: map-merge(
(
0: 0,
25: (
$spacer * 0.25,
),
50: (
$spacer * 0.5,
),
75: (
$spacer * 0.75,
),
1: (
$spacer,
),
2: (
$spacer * 1.5,
),
3: (
$spacer * 3,
),
4: (
$spacer * 3.5,
),
5: (
$spacer * 4,
),
),
$spacers
);
// Body
//
// Settings for the `<body>` element.
$body-bg: #f8f8f8 !default;
$body-color: #6e6b7b !default;
// Links
//
// Style anchor elements.
$link-color: $primary !default;
$link-hover-color: darken($link-color, 5%) !default;
$link-hover-decoration: none !default;
// Grid columns
//
// Set the number of columns and specify the width of the gutters.
$grid-gutter-width: 2rem !default;
// Components
//
// Define common padding and border radius sizes and more.
$line-height-lg: 1.25 !default;
$line-height-sm: 1 !default;
$border-width: 1px !default;
$border-color: #ebe9f1 !default;
$border-radius: 0.357rem !default;
$border-radius-lg: 0.6rem !default;
$border-radius-sm: 0.25rem !default;
// shadow
$box-shadow: 0 4px 24px 0 rgba($black, 0.1) !default;
// Typography
//
// Font, line-height, and color for body text, headings, and more.
// stylelint-disable value-keyword-case
$font-family-sans-serif: "Montserrat", Helvetica, Arial, serif !default;
$font-family-monospace: "Montserrat", Helvetica, Arial, serif !default;
// stylelint-enable value-keyword-case
$font-size-base: 1rem !default;
$font-size-lg: ceil($font-size-base * 1.25) !default;
$font-size-sm: ceil($font-size-base * 0.85) !default;
$font-weight-normal: 400 !default;
$font-weight-bold: 500 !default;
$font-weight-bolder: 600 !default;
$line-height-base: 1.45 !default;
$h1-font-size: $font-size-base * 2 !default;
$h2-font-size: $font-size-base * 1.714 !default;
$h3-font-size: $font-size-base * 1.5 !default;
$h4-font-size: $font-size-base * 1.286 !default;
$h5-font-size: $font-size-base * 1.07 !default;
$headings-font-family: inherit !default;
$headings-color: #5e5873 !default;
$display1-weight: $font-weight-normal !default;
$display2-weight: $font-weight-normal !default;
$display3-weight: $font-weight-normal !default;
$display4-weight: $font-weight-normal !default;
$lead-font-size: $font-size-base * 1.14 !default;
$lead-font-weight: $font-weight-normal !default;
$small-font-size: 0.857rem !default;
$text-muted: #b9b9c3 !default;
$hr-border-color: $border-color !default;
$blockquote-small-color: $text-muted !default;
// Tables
$table-cell-padding: 0.72rem !default;
$table-accent-bg: #fafafc !default;
$table-hover-bg: #f6f6f9 !default;
$table-border-color: $border-color !default;
$table-head-bg: #f3f2f7 !default;
$table-head-color: $headings-color !default;
$table-dark-bg: $dark !default;
$table-dark-border-color: #404040 !default;
$table-th-font-size: 0.857rem !default; // custom
// Buttons + Forms
$btn-padding-y: 0.786rem !default;
$btn-padding-x: 1.5rem !default;
$input-btn-padding-y: 0.75rem !default;
$input-btn-padding-x: 2rem !default;
$input-btn-padding-y-sm: 0.486rem !default;
$input-btn-padding-x-sm: 1rem !default;
$input-btn-font-size-sm: $font-size-base * 0.9 !default;
$input-btn-padding-y-lg: 0.8rem !default;
$input-btn-padding-x-lg: 2rem !default;
$input-btn-font-size-lg: $font-size-base * 1.25 !default;
$btn-line-height: 1 !default;
$btn-border-radius: 0.358rem !default;
$btn-border-radius-lg: 0.358rem !default;
$btn-border-radius-sm: 0.358rem !default;
$btn-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background 0s,
border 0s !default;
// Forms
$custom-control-border-color: #d8d6de;
$label-margin-bottom: 0.2857rem !default;
$input-padding-y: 0.438rem !default;
$input-padding-x: 1rem !default;
$input-font-size: 1rem !default;
$input-line-height: $line-height-base !default;
$input-padding-y-sm: 0.188rem !default;
$input-padding-x-sm: 0.857rem !default;
$input-font-size-sm: 0.857rem !default;
$input-padding-y-lg: 0.75rem !default;
$input-padding-x-lg: 1.143rem !default;
$input-font-size-lg: 1.143rem !default;
$input-disabled-bg: #efefef !default;
$input-color: $body-color !default;
$input-border-color: $custom-control-border-color !default;
$input-box-shadow: inset 0 1px 1px rgba($black, 0.075) !default;
$input-border-radius: $border-radius !default;
$input-border-radius-lg: $border-radius !default;
$input-border-radius-sm: $border-radius !default;
$input-focus-border-color: $primary !default;
$input-focus-box-shadow: 0 3px 10px 0 rgba($black, 0.1) !default;
$input-placeholder-color: $text-muted !default;
$input-plaintext-color: $body-color !default;
$input-height: 2.714rem !default;
$input-height-sm: 2.142rem !default;
$input-height-lg: 3.2857rem !default;
$input-group-addon-bg: white !default;
$custom-forms-transition: background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, background 0s,
border-color 0s !default;
$custom-control-indicator-border-color: $custom-control-border-color;
$custom-checkbox-indicator-border-radius: 3px !default;
$custom-checkbox-indicator-checked-color: white !default;
$custom-checkbox-indicator-indeterminate-color: white !default;
$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.5 7.5'%3E%3Cpolyline points='0.75 4.35 4.18 6.75 8.75 0.75' style='fill:none;stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px'/%3E%3C/svg%3E");
$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='#{$custom-checkbox-indicator-indeterminate-color}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-minus'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
$custom-control-indicator-checked-disabled-bg: rgba($primary, 0.65);
$custom-radio-indicator-icon-checked: none;
$custom-file-height-inner: $input-height !default;
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
$custom-select-disabled-bg: $input-disabled-bg !default;
$custom-select-bg-size: 10px 10px !default; // In pixels because image dimensions
$custom-select-indicator-color: $input-border-color !default;
$custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default;
// $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
// $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
$custom-select-border-radius: $input-border-radius !default;
$custom-select-focus-box-shadow: $input-focus-box-shadow !default;
$custom-select-padding-y-sm: $input-padding-y-sm !default;
$custom-select-padding-x-sm: $input-padding-x-sm !default;
$custom-select-font-size-sm: $input-font-size-sm !default;
$custom-select-height-sm: $input-height-sm !default;
$custom-select-padding-y-lg: $input-padding-y-lg !default;
$custom-select-padding-x-lg: $input-padding-x-lg !default;
$custom-select-font-size-lg: $input-font-size-lg !default;
$custom-select-height-lg: $input-height-lg !default;
// Dropdowns
//
// Dropdown menu container and contents.
$dropdown-border-color: rgba($black, 0.05) !default;
$dropdown-border-radius: 0.358rem !default;
$dropdown-box-shadow: 0 5px 25px rgba($black, 0.1) !default;
$dropdown-link-color: $body-color !default;
$dropdown-link-hover-color: $primary !default;
$dropdown-link-hover-bg: rgba($primary, 0.12) !default;
$dropdown-divider-bg: rgba($black, 0.08) !default;
$dropdown-font-size: 1rem !default;
$dropdown-spacer: 0 !default;
$zindex-dropdown: 10 !default;
$dropdown-box-shadow: 0 5px 25px 0 rgba($black, 0.1) !default;
$dropdown-link-disabled-color: $text-muted !default;
$dropdown-item-padding-y: 0.65rem !default;
$dropdown-item-padding-x: 1.28rem !default;
$dropdown-header-color: $headings-color !default;
$dropdown_spacing: 0.5rem; // custom
// Pagination
$pagination-padding-y: 0.5rem !default;
$pagination-padding-x: 0.85rem !default;
$pagination-padding-y-lg: 0.5575rem !default;
$pagination-padding-x-lg: 1rem !default;
$pagination-padding-y-sm: 0.443rem !default;
$pagination-padding-x-sm: 0.745rem !default;
$pagination-disabled-color: $text-muted !default;
$pagination-color: $body-color !default;
$pagination-bg: #f3f2f7 !default;
$pagination-hover-color: $primary !default;
$pagination-hover-bg: #f3f2f7 !default;
$pagination-active-color: $primary !default;
$pagination-disabled-color: $text-muted !default;
$pagination-disabled-bg: #f3f2f7 !default;
$pagination-font-size-lg: 1.14rem !default; // custom
$pagination-font-size-sm: 0.857rem !default; // custom
// Cards
$card-spacer-y: 1.5rem !default;
$card-spacer-x: 1.5rem !default;
$card-border-radius: 0.428rem !default;
//Alerts
$alert-padding-y: 0.71rem !default;
$alert-padding-x: 1rem !default;
$alert-border-radius: 0.358rem !default;
$alert-link-font-weight: 700 !default;
// List group
$list-group-border-radius: 0.358rem !default;
$list-group-disabled-color: $text-muted !default;
$list-group-action-active-color: $white !default;
$list-group-action-active-bg: $primary !default;
// Nav tabs
$nav-link-padding-y: 0.358rem !default;
$nav-link-padding-x: 0.5rem !default;
$nav-link-disabled-color: $text-muted !default;
$nav-tabs-border-width: 0 !default;
$nav-tabs-border-radius: 0.25 !default;
$nav-tabs-link-active-color: $primary !default;
$nav-tabs-link-active-bg: transparent !default;
$nav-pills-border-radius: $btn-border-radius !default;
// navbar
$floating-nav-margin: 1.3rem;
// Tooltips
$tooltip-bg: #323232 !default;
$tooltip-padding-y: 0.4rem !default;
$tooltip-padding-x: 0.775rem !default;
$tooltip-font-size: 0.857rem !default;
$tooltip-border-radius: 0.358rem !default;
$tooltip-opacity: 1 !default;
$tooltip-max-width: 220px !default;
// Popovers
$popover-font-size: 1rem !default;
$popover-border-width: 0 !default;
$popover-border-radius: 0.358rem !default;
$popover-border-color: $border-color !default;
$popover-box-shadow: 0 0 10px 0 rgba($black, 0.1) !default;
$popover-header-bg: $primary !default;
$popover-header-color: $white !default;
$popover-header-padding-y: 0.65rem !default;
$popover-header-padding-x: 1.21rem !default;
// Toasts
$toast-max-width: 380px !default;
$toast-padding-x: 1.14rem !default;
$toast-padding-y: 0.15rem !default;
$toast-font-size: 0.857rem !default;
$toast-color: $body-color !default;
$toast-border-width: 0 !default;
$toast-border-radius: 0.286rem !default;
$toast-box-shadow: 0 2px 20px 0 rgba($black, 0.08) !default;
$toast-header-color: $body-color !default;
$toast-header-background-color: $white !default;
// Progress
$progress-height: 0.857rem !default;
$progress-border-radius: 5rem !default;
$progress-font-size: $font-size-base * 0.857 !default;
$progress-bg: rgba($primary, 0.12) !default;
// Breadcrumbs
$breadcrumb-font-size: 1rem !default;
$breadcrumb-padding-y: 0.3rem !default;
$breadcrumb-item-padding: 0.6rem !default;
$breadcrumb-margin-bottom: 0 !default;
$breadcrumb-bg: transparent !default;
$breadcrumb-divider-color: $body-color !default;
$breadcrumb-active-color: $body-color !default;
$breadcrumb-border-radius: 0 !default;
// Carousel
$carousel-control-color: $white !default;
$carousel-control-prev-icon-bg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#{$carousel-control-color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-left"><polyline points="15 18 9 12 15 6"></polyline></svg>') !default;
$carousel-control-next-icon-bg: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#{$carousel-control-color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"><polyline points="9 18 15 12 9 6"></polyline></svg>') !default;
// Badges
$badge-font-size: 85% !default;
$badge-padding-y: 0.3rem !default;
$badge-padding-x: 0.5rem !default;
$badge-font-weight: 600 !default;
$badge-border-radius: 0.358rem !default;
$badge-pill-padding-x: 0.5rem !default;
// Modal
$modal-inner-padding: 0.8rem 1.4rem !default;
$modal-footer-border-color: rgba($black, 0.05) !default;
$modal-header-padding-y: 0.8rem !default;
$modal-header-padding-x: 1.4rem !default;
$modal-content-border-radius: 0.358rem !default;
$modal-xl: 94% !default;
$modal-sm: 400px !default;
// Slide In Modal
$modal-slide-in-width-sm: 25rem !default; // custom
$modal-slide-in-width: 28rem !default; // custom
$modal-slide-in-width-lg: 30rem !default; // custom
// Close
$close-font-size: $font-size-base * 2 !default;
$close-font-weight: 400 !default;
$close-color: $headings-color !default;
// Code
$code-font-size: 90% !default;
$kbd-bg: #eee !default;
// Switch
$custom-switch-width: 3rem !default;
$custom-switch-indicator-border-radius: 1rem !default;
$custom-switch-indicator-size: 1rem !default;
//svg color
$svg-color-light: #626262 !default;
// SVG icons
// For Breadcrumb
$double-chevron-right: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevrons-right'%3E%3Cpolyline points='13 17 18 12 13 7'%3E%3C/polyline%3E%3Cpolyline points='6 17 11 12 6 7'%3E%3C/polyline%3E%3C/svg%3E";
// Chevron Icons
$chevron-left: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-left'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E";
$chevron-right: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-right'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E";
$chevron-up: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-up'%3E%3Cpolyline points='18 15 12 9 6 15'%3E%3C/polyline%3E%3C/svg%3E";
$chevron-down: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-chevron-down'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E";
$download: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-download'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E";
$remove: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-x'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E";
$check: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-check'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E";
$circle: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-circle'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3C/svg%3E";
$infoIcon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-info'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='16' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'%3E%3C/line%3E%3C/svg%3E";
$warningIcon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-alert-triangle'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E";
$menu: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' stroke='currentColor' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' class='css-i6dzq1'%3E%3Cline x1='3' y1='12' x2='21' y2='12'%3E%3C/line%3E%3Cline x1='3' y1='6' x2='21' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='18' x2='21' y2='18'%3E%3C/line%3E%3C/svg%3E";

View File

@@ -0,0 +1,49 @@
// Justified nav links
// -------------------------
@mixin nav-justified {
width: 100%;
.nav-item {
float: none;
}
.nav-link {
text-align: center;
margin-bottom: 5px;
}
> .dropdown .dropdown-menu {
top: auto;
left: auto;
}
@include media-breakpoint-up(sm) {
.nav-item {
display: block;
width: 1%;
}
.nav-link {
margin-bottom: 0;
}
}
}
// Move borders to anchors instead of bottom of list
//
// Mixin for adding on top the shared `.nav-justified` styles for our tabs
@mixin nav-tabs-justified {
.nav-link {
// Override margin from .nav-tabs
margin-right: 0;
border-radius: $border-radius;
}
@include media-breakpoint-up(sm) {
.nav-link.active,
.nav-link.active:hover,
.nav-link.active:focus {
border-bottom-color: transparent; //$nav-tabs-justified-active-link-border-color;
}
}
}

View File

@@ -0,0 +1,31 @@
// Font weight mixins
// ------------------
@mixin font-weight($weight) {
$weights: (
thin: 100,
extra-light: 200,
ultra-light: 200,
light: 300,
normal: 400,
book: 400,
regular: 400,
medium: 500,
semi-bold: 600,
demi-bold: 600,
bold: 700,
extra-bold: 800,
ultra-bold: 900,
heavy: 900,
black: 900,
ultra: 900,
ultra-black: 900,
extra-ultra: 900
);
$output: $weight;
@if map-has-key($weights, $weight) {
$output: map-get($weights, $weight);
}
font-weight: $output;
}

View File

@@ -0,0 +1,7 @@
// ================================================================================================
// File Name: bootstrap.scss
// Description: Include bootstrap core from node_modules
// ----------------------------------------------------------------------------------------------
@import 'bootstrap-extended/include'; // Bootstrap includes
@import 'bootstrap/scss/bootstrap'; // Bootstrap core

View File

@@ -0,0 +1,20 @@
// ================================================================================================
// File Name: colors.scss
// Description: Common color file to include color paletter and colors file, its qiore good to
// have all color classes in a separate file as it's quite heavy.
// ----------------------------------------------------------------------------------------------
// Core
// ------------------------------
// Import variables and mixins
@import 'bootstrap/scss/mixins/gradients';
@import 'core/mixins/hex2rgb';
//box shadow for alert's heading
@import 'core/mixins/alert';
// Color system, always load last
// ------------------------------
@import 'core/colors/palette';
@import 'core/colors/palette-gradient.scss';

View File

@@ -0,0 +1,35 @@
// ================================================================================================
// File Name: components.scss
// Description: Common components file to includ all theme specific custom components.
// ----------------------------------------------------------------------------------------------
@import "bootstrap-extended/include"; // Bootstrap includes
@import "components/include"; // Components includes
@import "core/mixins/transitions"; // Template custom mixins
// Core
// ------------------------------
// layouts
@import "core/layouts/content";
@import "core/layouts/sidebar";
@import "core/layouts/footer";
// menu
@import "core/menu/navigation";
// Components
// ------------------------------
@import "components/search";
// @import 'components/chart';
@import "components/bootstrap-social";
@import "components/demo"; //! Plugins demo styles, remove in real project
@import "components/customizer"; //! Customizer demo, remove in real project
@import "components/divider";
@import "components/timeline";
// Plugins
// ------------------------------
@import "plugins/ui/breakpoints";
@import "plugins/forms/select2/select2";
@import "plugins/tables/datatables";
@import "plugins/forms/form-number-input"; // ? globally required for cart dropdown

View File

@@ -0,0 +1,9 @@
// ================================================================================================
// File Name: include.scss
// Description: Common components file to includ all theme specific custom components.
// ----------------------------------------------------------------------------------------------
// Overrides user variable
// @import 'scss/variables/_variables-components'; // Component custom variable override (for user purpose)
@import '_variables'; // Component variable
@import '_variables-dark'; // Dark variable

View File

@@ -0,0 +1,42 @@
// ================================================================================================
// File Name: variables-dark.scss
// Description: Custom dark theme variables
// ----------------------------------------------------------------------------------------------
//Body
$theme-dark-body-bg: #161d31 !default;
$theme-dark-body-color: #b4b7bd !default;
$theme-dark-border-color: #3b4253 !default;
$theme-dark-custom-control-border-color: #44405e !default;
//Typography
$theme-dark-headings-color: #d0d2d6 !default;
$theme-dark-label-color: #d0d2d6 !default;
$theme-dark-text-muted-color: #676d7d !default;
//Card
$theme-dark-card-bg: #283046 !default;
$theme-dark-box-shadow: 0 4px 24px 0 rgba($black, 0.24);
//Input
$theme-dark-input-bg: #283046 !default;
$theme-dark-input-placeholder-color: #676d7d !default;
$theme-dark-input-border-color: #404656 !default;
$theme-dark-input-disabled-bg: #24233a !default;
$theme-dark-input-disabled-border-color: #444b60 !default;
// Switch
$theme-dark-switch-bg: #545a6a;
$theme-dark-switch-bg-disabled: #1b2337;
//Table
$theme-dark-table-bg: #283046 !default;
$theme-dark-table-header-bg: #343d55 !default;
$theme-dark-table-row-bg: #283046 !default;
$theme-dark-table-hover-bg: #242b3d !default;
$theme-dark-table-striped-bg: #242b3d !default;
$theme-dark-modal-header-bg: #161d31 !default;
$theme-dark-pagination-bg: #242b3d !default;
$theme-dark-chart-bg: #384056 !default;
$theme-dark-widget-bg: #384056 !default;

View File

@@ -0,0 +1,116 @@
// ================================================================================================
// File Name: variables.scss
// Description: Custom component variable
// ----------------------------------------------------------------------------------------------
$base-font-size: 14px !default;
$body-direction: ltr !default; // Default ltr, change it to rtl for Right To Left support.
$content-padding: 2rem !default;
// ------------------------------
// Colors
// ------------------------------
$nav-component-border-color: #ddd !default;
$swiper-bg: #f2f4f4 !default;
// ------------------------------
// Navbar
// ------------------------------
$navbar-height: 4.45rem !default;
$horizontal-menu-height: 4.45rem !default;
$footer-height: 3.35rem !default;
// ------------------------------
// Main Menu
// ------------------------------
//main menu dark
$menu-dark-color: #dcdcdc !default;
$menu-dark-bg-color: #10163a !default;
$menu-padding: 10px 15px 10px 15px !default;
$menu-second-level-padding: 10px 15px 10px 20px !default;
$menu-third-level-padding: 10px 15px 10px 53px !default;
$menu-forth-level-padding: 10px 15px 10px 53px !default;
// vertical menu
$menu-expanded-width: 260px !default;
$menu-collapsed-width: 80px !default;
// ------------------------------
// Sidebar
// -------------------------------
$sidebar-width: 260px !default;
// -------------------------------
// Progress
// -------------------------------
$progress-size-xl: 1.14rem !default;
$progress-size-lg: 0.857rem !default;
$progress-size-md: 0.57rem !default;
$progress-size-sm: 0.143rem !default;
// -------------------------------
// Form
// -------------------------------
// $input-height, $input-height-lg, $input-height-sm are in variables
$font-size-xs: 0.75rem !default;
$font-size-xl: ($font-size-base + 0.5) !default;
$line-height-xl: 1.7 !default;
$line-height-xs: 1.5 !default;
$input-padding-y-xl: 0.5rem !default;
$input-padding-x-xl: 0.5rem !default;
$input-padding-y-xs: 0.2rem !default;
$input-padding-x-xs: 0.275rem !default;
$border-radius-xl: 0.35rem !default;
$border-radius-xs: 0.12rem !default;
$input-border-radius-xl: $border-radius-xl !default;
$input-border-radius-xs: $border-radius-xs !default;
$input-height-xl: (
($font-size-xl * $line-height-xl) + ($input-padding-y-xl * 2)
) !default;
$input-height-xs: (
($font-size-xs * $line-height-xs) + ($input-padding-y-xs * 2)
) !default;
$input-height-sm: (
($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)
) !default;
// -------------------------------
// Blank Page Bg Color
// -------------------------------
$blank-bg-color: #eff2f7 !default;
// -------------------------------
// Data Tables Bg Color
// -------------------------------
$datatable-bg-color: #f8f8f8 !default;
// -------------------------------
// Switch
// -------------------------------
$switch-bg-color: #e2e2e2 !default;
$switch-indicator-color: $white !default;
// -------------------------------
// Timeline
// -------------------------------
$timeline-border-color: $border-color !default;
$timeline-point-size: 1.75rem !default;
$timeline-point-indicator-size: 12px !default;
$timeline-point-indicator-color: $primary !default;
$timeline-point-indicator-wrapper-size: 20px !default;
$timeline-item-min-height: 4rem !default;
$timeline-item-icon-font-size: 0.85rem !default;
$timeline-event-time-size: 0.85rem !default;
$timeline-event-time-color: $text-muted !default;

View File

@@ -0,0 +1,316 @@
$bs-height-base: ($line-height-base + $input-btn-padding-y * 2) !default;
$bs-height-lg: (floor($font-size-lg * $line-height-base) + $input-btn-padding-y-lg * 2) !default;
$bs-height-sm: (floor($font-size-sm * 1.5) + $input-btn-padding-y-lg * 2) !default;
$bs-height-xs: (floor($font-size-sm * 0.2) + $input-btn-padding-y-lg) !default;
.btn-social {
position: relative;
padding-left: ($bs-height-base + $input-btn-padding-x);
text-align: left;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
> :first-child {
position: absolute;
left: 0;
top: 2px;
bottom: 0;
width: $bs-height-base;
line-height: ($bs-height-base - 0.25);
font-size: $font-size-base;
text-align: center;
border-right: 1px solid rgba($black, 0.2);
}
}
.btn-social-icon {
@extend .btn-social;
height: ($bs-height-base);
width: ($bs-height-base);
padding: 0;
> :first-child {
border: none;
text-align: center;
width: 100% !important;
}
}
// Social button Mixin
@mixin btn-social($color-bg, $color: #fff, $hover: $color-bg, $border-hover: $color-bg) {
background-color: $color-bg;
@include button-variant($color-bg, $color, $hover, $border-hover);
color: $white !important;
border: none;
}
// Social Outline Button Mixin
@mixin btn-social-outline($color-bg) {
border: 1px solid $color-bg !important;
color: $color-bg;
}
// Social Outline Button Hover Mixin
@mixin btn-hover-outline($color-bg) {
color: darken($color-bg, 20%);
border: 1px solid darken($color-bg, 20%) !important;
}
// Social button
.btn-adn {
@include btn-social(#d87a68);
}
.btn-bitbucket {
@include btn-social(#205081);
}
.btn-dropbox {
@include btn-social(#1087dd);
}
.btn-facebook {
@include btn-social(#3b5998);
}
.btn-flickr {
@include btn-social(#ff0084);
}
.btn-foursquare {
@include btn-social(#f94877);
}
.btn-github {
@include btn-social(#444444);
}
.btn-google {
@include btn-social(#dd4b39);
}
.btn-instagram {
@include btn-social(#3f729b);
}
.btn-linkedin {
@include btn-social(#007bb6);
}
.btn-microsoft {
@include btn-social(#2672ec);
}
.btn-odnoklassniki {
@include btn-social(#f4731c);
}
.btn-openid {
@include btn-social(#f7931e);
}
.btn-pinterest {
@include btn-social(#cb2027);
}
.btn-reddit {
@include btn-social(#eff7ff, #000, #000, #000);
}
.btn-soundcloud {
@include btn-social(#ff5500);
}
.btn-tumblr {
@include btn-social(#2c4762);
}
.btn-twitter {
@include btn-social(#55acee, #fff);
}
.btn-vimeo {
@include btn-social(#1ab7ea);
}
.btn-vk {
@include btn-social(#587ea3);
}
.btn-yahoo {
@include btn-social(#720e9e);
}
// Social Outline button
.btn-outline-adn {
@include btn-social-outline(#d87a68);
}
.btn-outline-bitbucket {
@include btn-social-outline(#205081);
}
.btn-outline-dropbox {
@include btn-social-outline(#1087dd);
}
.btn-outline-facebook {
@include btn-social-outline(#3b5998);
}
.btn-outline-flickr {
@include btn-social-outline(#ff0084);
}
.btn-outline-foursquare {
@include btn-social-outline(#f94877);
}
.btn-outline-github {
@include btn-social-outline(#444444);
}
.btn-outline-google {
@include btn-social-outline(#dd4b39);
}
.btn-outline-instagram {
@include btn-social-outline(#3f729b);
}
.btn-outline-linkedin {
@include btn-social-outline(#007bb6);
}
.btn-outline-microsoft {
@include btn-social-outline(#2672ec);
}
.btn-outline-odnoklassniki {
@include btn-social-outline(#f4731c);
}
.btn-outline-openid {
@include btn-social-outline(#f7931e);
}
.btn-outline-pinterest {
@include btn-social-outline(#cb2027);
}
.btn-outline-reddit {
@include btn-social-outline(#ff4500);
}
.btn-outline-soundcloud {
@include btn-social-outline(#ff5500);
}
.btn-outline-tumblr {
@include btn-social-outline(#2c4762);
}
.btn-outline-twitter {
@include btn-social-outline(#55acee);
}
.btn-outline-vimeo {
@include btn-social-outline(#1ab7ea);
}
.btn-outline-vk {
@include btn-social-outline(#587ea3);
}
.btn-outline-yahoo {
@include btn-social-outline(#720e9e);
}
// Social Outline hover button
.btn-outline-adn:hover {
@include btn-hover-outline(#d87a68);
}
.btn-outline-bitbucket:hover {
@include btn-hover-outline(#205081);
}
.btn-outline-dropbox:hover {
@include btn-hover-outline(#1087dd);
}
.btn-outline-facebook:hover {
@include btn-hover-outline(#3b5998);
}
.btn-outline-flickr:hover {
@include btn-hover-outline(#ff0084);
}
.btn-outline-foursquare:hover {
@include btn-hover-outline(#f94877);
}
.btn-outline-github:hover {
@include btn-hover-outline(#444444);
}
.btn-outline-google:hover {
@include btn-hover-outline(#dd4b39);
}
.btn-outline-instagram:hover {
@include btn-hover-outline(#3f729b);
}
.btn-outline-linkedin:hover {
@include btn-hover-outline(#007bb6);
}
.btn-outline-microsoft:hover {
@include btn-hover-outline(#2672ec);
}
.btn-outline-odnoklassniki:hover {
@include btn-hover-outline(#f4731c);
}
.btn-outline-openid:hover {
@include btn-hover-outline(#f7931e);
}
.btn-outline-pinterest:hover {
@include btn-hover-outline(#cb2027);
}
.btn-outline-reddit:hover {
@include btn-hover-outline(#ff4500);
}
.btn-outline-soundcloud:hover {
@include btn-hover-outline(#ff5500);
}
.btn-outline-tumblr:hover {
@include btn-hover-outline(#2c4762);
}
.btn-outline-twitter:hover {
@include btn-hover-outline(#55acee);
}
.btn-outline-vimeo:hover {
@include btn-hover-outline(#1ab7ea);
}
.btn-outline-vk:hover {
@include btn-hover-outline(#587ea3);
}
.btn-outline-yahoo:hover {
@include btn-hover-outline(#720e9e);
}
// Social Background colors
.bg-adn {
background-color: #d87a68;
}
.bg-bitbucket {
background-color: #205081;
}
.bg-dropbox {
background-color: #1087dd;
}
.bg-facebook {
background-color: #3b5998;
}
.bg-flickr {
background-color: #ff0084;
}
.bg-foursquare {
background-color: #f94877;
}
.bg-github {
background-color: #444444;
}
.bg-google {
background-color: #dd4b39;
}
.bg-instagram {
background-color: #3f729b;
}
.bg-linkedin {
background-color: #007bb6;
}
.bg-microsoft {
background-color: #2672ec;
}
.bg-odnoklassniki {
background-color: #f4731c;
}
.bg-openid {
background-color: #f7931e;
}
.bg-pinterest {
background-color: #cb2027;
}
.bg-reddit {
background-color: #ff4500;
}
.bg-soundcloud {
background-color: #ff5500;
}
.bg-tumblr {
background-color: #2c4762;
}
.bg-twitter {
background-color: #55acee;
}
.bg-vimeo {
background-color: #1ab7ea;
}
.bg-vk {
background-color: #587ea3;
}
.bg-yahoo {
background-color: #720e9e;
}

View File

@@ -0,0 +1,35 @@
// Apex chart Scss
.apexcharts-canvas {
// Tooltip Color
.apexcharts-tooltip {
color: $body-color !important;
&.apexcharts-theme-dark {
color: $white !important;
}
}
// Toolbar Download Option Color
.apexcharts-toolbar {
.apexcharts-menu {
.apexcharts-menu-item {
color: $body-color;
}
}
}
// Text font family
.apexcharts-text,
.apexcharts-datalabel {
font-family: $font-family-base !important;
}
}
// apex charts tooltip
.apexcharts-xaxistooltip {
color: $body-color !important;
}
// Toolbar Z-index
.apexcharts-toolbar {
z-index: 10;
}

Some files were not shown because too many files have changed in this diff Show More