mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Merge branch 'dev' into tweak/master-server-dir-config
This commit is contained in:
commit
2b7f14ec3c
@ -9,12 +9,15 @@
|
|||||||
- Fix exception related to page data on server start ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/544))
|
- Fix exception related to page data on server start ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/544))
|
||||||
- Fix logical issue with uploading dynamic files ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/555))
|
- Fix logical issue with uploading dynamic files ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/555))
|
||||||
- Fix backups failing by correctly using tz objects ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/556))
|
- Fix backups failing by correctly using tz objects ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/556))
|
||||||
|
- Bump Cryptography/pyOpenSSL for CVE-2023-23931 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/554))
|
||||||
### Tweaks
|
### Tweaks
|
||||||
- Cleanup authentication helpers ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/545))
|
- Cleanup authentication helpers ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/545))
|
||||||
- Optimize file upload progress WS ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/546))
|
- Optimize file upload progress WS ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/546))
|
||||||
- Truncate sidebar servers to a max of 10 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/552))
|
- Truncate sidebar servers to a max of 10 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/552))
|
||||||
|
- Upgrade to FA 6. Add Translations ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/549))
|
||||||
### Lang
|
### Lang
|
||||||
- Add additional translations to backups page strings ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/543))
|
- Add additional translations to backups page strings ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/543))
|
||||||
|
- Add additional missing translations ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/549))
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
## --- [4.0.20] - 2023/01/29
|
## --- [4.0.20] - 2023/01/29
|
||||||
|
@ -164,7 +164,7 @@ class ServersController(metaclass=Singleton):
|
|||||||
return server["server_obj"]
|
return server["server_obj"]
|
||||||
|
|
||||||
logger.warning(f"Unable to find server object for server id {server_id}")
|
logger.warning(f"Unable to find server object for server id {server_id}")
|
||||||
raise Exception(f"Unable to find server object for server id {server_id}")
|
raise ValueError(f"Unable to find server object for server id {server_id}")
|
||||||
|
|
||||||
def init_all_servers(self):
|
def init_all_servers(self):
|
||||||
servers = self.get_all_defined_servers()
|
servers = self.get_all_defined_servers()
|
||||||
|
@ -123,7 +123,7 @@ def ping(ip, port):
|
|||||||
try:
|
try:
|
||||||
k = sock.recv(1)
|
k = sock.recv(1)
|
||||||
if not k:
|
if not k:
|
||||||
raise Exception()
|
raise ValueError()
|
||||||
except:
|
except:
|
||||||
return 0
|
return 0
|
||||||
k = k[0]
|
k = k[0]
|
||||||
|
@ -76,7 +76,7 @@ class Authentication:
|
|||||||
|
|
||||||
output = self.check(token)
|
output = self.check(token)
|
||||||
if output is None:
|
if output is None:
|
||||||
raise Exception("Invalid token")
|
raise ValueError("Invalid token")
|
||||||
return output
|
return output
|
||||||
|
|
||||||
def check_bool(self, token) -> bool:
|
def check_bool(self, token) -> bool:
|
||||||
|
@ -94,7 +94,7 @@ class Helpers:
|
|||||||
try:
|
try:
|
||||||
# Get tags from Gitlab, select the latest and parse the semver
|
# Get tags from Gitlab, select the latest and parse the semver
|
||||||
response = get(
|
response = get(
|
||||||
"https://gitlab.com/api/v4/projects/20430749/repository/tags"
|
"https://gitlab.com/api/v4/projects/20430749/repository/tags", timeout=1
|
||||||
)
|
)
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
remote_version = pkg_version.parse(json.loads(response.text)[0]["name"])
|
remote_version = pkg_version.parse(json.loads(response.text)[0]["name"])
|
||||||
@ -131,7 +131,7 @@ class Helpers:
|
|||||||
try:
|
try:
|
||||||
# Get minecraft server download page
|
# Get minecraft server download page
|
||||||
# (hopefully the don't change the structure)
|
# (hopefully the don't change the structure)
|
||||||
download_page = get(url, headers=headers)
|
download_page = get(url, headers=headers, timeout=1)
|
||||||
|
|
||||||
# Search for our string targets
|
# Search for our string targets
|
||||||
win_download_url = re.search(target_win, download_page.text).group(0)
|
win_download_url = re.search(target_win, download_page.text).group(0)
|
||||||
@ -281,7 +281,7 @@ class Helpers:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def check_port(server_port):
|
def check_port(server_port):
|
||||||
try:
|
try:
|
||||||
ip = get("https://api.ipify.org").content.decode("utf8")
|
ip = get("https://api.ipify.org", timeout=1).content.decode("utf8")
|
||||||
except:
|
except:
|
||||||
ip = "google.com"
|
ip = "google.com"
|
||||||
a_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
a_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
@ -759,7 +759,7 @@ class Helpers:
|
|||||||
use_ssl=True,
|
use_ssl=True,
|
||||||
) # + "?d=404"
|
) # + "?d=404"
|
||||||
try:
|
try:
|
||||||
if requests.head(url).status_code != 404:
|
if requests.head(url, timeout=1).status_code != 404:
|
||||||
profile_url = url
|
profile_url = url
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"Could not pull resource from Gravatar with error {e}")
|
logger.debug(f"Could not pull resource from Gravatar with error {e}")
|
||||||
|
@ -348,7 +348,7 @@ class Controller:
|
|||||||
elif root_create_data["create_type"] == "import_zip":
|
elif root_create_data["create_type"] == "import_zip":
|
||||||
# TODO: Copy files from the zip file to the new server directory
|
# TODO: Copy files from the zip file to the new server directory
|
||||||
server_file = create_data["jarfile"]
|
server_file = create_data["jarfile"]
|
||||||
raise Exception("Not yet implemented")
|
raise NotImplementedError("Not yet implemented")
|
||||||
_create_server_properties_if_needed(
|
_create_server_properties_if_needed(
|
||||||
create_data["server_properties_port"],
|
create_data["server_properties_port"],
|
||||||
)
|
)
|
||||||
@ -380,7 +380,7 @@ class Controller:
|
|||||||
logger.error(f"Server import failed with error: {ex}")
|
logger.error(f"Server import failed with error: {ex}")
|
||||||
elif root_create_data["create_type"] == "import_zip":
|
elif root_create_data["create_type"] == "import_zip":
|
||||||
# TODO: Copy files from the zip file to the new server directory
|
# TODO: Copy files from the zip file to the new server directory
|
||||||
raise Exception("Not yet implemented")
|
raise NotImplementedError("Not yet implemented")
|
||||||
|
|
||||||
_create_server_properties_if_needed(0, True)
|
_create_server_properties_if_needed(0, True)
|
||||||
|
|
||||||
@ -402,7 +402,7 @@ class Controller:
|
|||||||
logger.error(f"Server import failed with error: {ex}")
|
logger.error(f"Server import failed with error: {ex}")
|
||||||
elif root_create_data["create_type"] == "import_zip":
|
elif root_create_data["create_type"] == "import_zip":
|
||||||
# TODO: Copy files from the zip file to the new server directory
|
# TODO: Copy files from the zip file to the new server directory
|
||||||
raise Exception("Not yet implemented")
|
raise NotImplementedError("Not yet implemented")
|
||||||
|
|
||||||
_create_server_properties_if_needed(0, True)
|
_create_server_properties_if_needed(0, True)
|
||||||
|
|
||||||
|
12749
app/frontend/static/assets/vendors/fontawesome5/css/all.css
vendored
12749
app/frontend/static/assets/vendors/fontawesome5/css/all.css
vendored
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -1,15 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Font Awesome 5 Brands';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: block;
|
|
||||||
src: url("../webfonts/fa-brands-400.eot");
|
|
||||||
src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
|
|
||||||
|
|
||||||
.fab {
|
|
||||||
font-family: 'Font Awesome 5 Brands';
|
|
||||||
font-weight: 400; }
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -1,15 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Font Awesome 5 Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 300;
|
|
||||||
font-display: block;
|
|
||||||
src: url("../webfonts/fa-light-300.eot");
|
|
||||||
src: url("../webfonts/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-light-300.woff2") format("woff2"), url("../webfonts/fa-light-300.woff") format("woff"), url("../webfonts/fa-light-300.ttf") format("truetype"), url("../webfonts/fa-light-300.svg#fontawesome") format("svg"); }
|
|
||||||
|
|
||||||
.fal {
|
|
||||||
font-family: 'Font Awesome 5 Pro';
|
|
||||||
font-weight: 300; }
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-light-300.eot);src:url(../webfonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.woff) format("woff"),url(../webfonts/fa-light-300.ttf) format("truetype"),url(../webfonts/fa-light-300.svg#fontawesome) format("svg")}.fal{font-family:"Font Awesome 5 Pro";font-weight:300}
|
|
@ -1,15 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Font Awesome 5 Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
font-display: block;
|
|
||||||
src: url("../webfonts/fa-regular-400.eot");
|
|
||||||
src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
|
|
||||||
|
|
||||||
.far {
|
|
||||||
font-family: 'Font Awesome 5 Pro';
|
|
||||||
font-weight: 400; }
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Pro";font-weight:400}
|
|
@ -1,16 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Font Awesome 5 Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 900;
|
|
||||||
font-display: block;
|
|
||||||
src: url("../webfonts/fa-solid-900.eot");
|
|
||||||
src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
|
|
||||||
|
|
||||||
.fa,
|
|
||||||
.fas {
|
|
||||||
font-family: 'Font Awesome 5 Pro';
|
|
||||||
font-weight: 900; }
|
|
@ -1,5 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Pro";font-weight:900}
|
|
@ -1,492 +0,0 @@
|
|||||||
/*!
|
|
||||||
* Font Awesome Pro 5.14.0 by @fontawesome - https://fontawesome.com
|
|
||||||
* License - https://fontawesome.com/license (Commercial License)
|
|
||||||
*/
|
|
||||||
svg:not(:root).svg-inline--fa {
|
|
||||||
overflow: visible;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa {
|
|
||||||
display: inline-block;
|
|
||||||
font-size: inherit;
|
|
||||||
height: 1em;
|
|
||||||
overflow: visible;
|
|
||||||
vertical-align: -.125em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-lg {
|
|
||||||
vertical-align: -.225em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-1 {
|
|
||||||
width: 0.0625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-2 {
|
|
||||||
width: 0.125em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-3 {
|
|
||||||
width: 0.1875em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-4 {
|
|
||||||
width: 0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-5 {
|
|
||||||
width: 0.3125em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-6 {
|
|
||||||
width: 0.375em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-7 {
|
|
||||||
width: 0.4375em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-8 {
|
|
||||||
width: 0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-9 {
|
|
||||||
width: 0.5625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-10 {
|
|
||||||
width: 0.625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-11 {
|
|
||||||
width: 0.6875em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-12 {
|
|
||||||
width: 0.75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-13 {
|
|
||||||
width: 0.8125em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-14 {
|
|
||||||
width: 0.875em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-15 {
|
|
||||||
width: 0.9375em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-16 {
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-17 {
|
|
||||||
width: 1.0625em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-18 {
|
|
||||||
width: 1.125em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-19 {
|
|
||||||
width: 1.1875em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-w-20 {
|
|
||||||
width: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-pull-left {
|
|
||||||
margin-right: .3em;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-pull-right {
|
|
||||||
margin-left: .3em;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-border {
|
|
||||||
height: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-li {
|
|
||||||
width: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-fw {
|
|
||||||
width: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers svg.svg-inline--fa {
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
margin: auto;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers {
|
|
||||||
display: inline-block;
|
|
||||||
height: 1em;
|
|
||||||
position: relative;
|
|
||||||
text-align: center;
|
|
||||||
vertical-align: -.125em;
|
|
||||||
width: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers svg.svg-inline--fa {
|
|
||||||
-webkit-transform-origin: center center;
|
|
||||||
transform-origin: center center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-text,
|
|
||||||
.fa-layers-counter {
|
|
||||||
display: inline-block;
|
|
||||||
position: absolute;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-text {
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
-webkit-transform: translate(-50%, -50%);
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
-webkit-transform-origin: center center;
|
|
||||||
transform-origin: center center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-counter {
|
|
||||||
background-color: #ff253a;
|
|
||||||
border-radius: 1em;
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
var(--base-text);
|
|
||||||
height: 1.5em;
|
|
||||||
line-height: 1;
|
|
||||||
max-width: 5em;
|
|
||||||
min-width: 1.5em;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: .25em;
|
|
||||||
right: 0;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
top: 0;
|
|
||||||
-webkit-transform: scale(0.25);
|
|
||||||
transform: scale(0.25);
|
|
||||||
-webkit-transform-origin: top right;
|
|
||||||
transform-origin: top right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-bottom-right {
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
top: auto;
|
|
||||||
-webkit-transform: scale(0.25);
|
|
||||||
transform: scale(0.25);
|
|
||||||
-webkit-transform-origin: bottom right;
|
|
||||||
transform-origin: bottom right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-bottom-left {
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
right: auto;
|
|
||||||
top: auto;
|
|
||||||
-webkit-transform: scale(0.25);
|
|
||||||
transform: scale(0.25);
|
|
||||||
-webkit-transform-origin: bottom left;
|
|
||||||
transform-origin: bottom left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-top-right {
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
-webkit-transform: scale(0.25);
|
|
||||||
transform: scale(0.25);
|
|
||||||
-webkit-transform-origin: top right;
|
|
||||||
transform-origin: top right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-layers-top-left {
|
|
||||||
left: 0;
|
|
||||||
right: auto;
|
|
||||||
top: 0;
|
|
||||||
-webkit-transform: scale(0.25);
|
|
||||||
transform: scale(0.25);
|
|
||||||
-webkit-transform-origin: top left;
|
|
||||||
transform-origin: top left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-lg {
|
|
||||||
font-size: 1.33333em;
|
|
||||||
line-height: 0.75em;
|
|
||||||
vertical-align: -.0667em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-xs {
|
|
||||||
font-size: .75em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-sm {
|
|
||||||
font-size: .875em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-1x {
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-2x {
|
|
||||||
font-size: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-3x {
|
|
||||||
font-size: 3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-4x {
|
|
||||||
font-size: 4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-5x {
|
|
||||||
font-size: 5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-6x {
|
|
||||||
font-size: 6em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-7x {
|
|
||||||
font-size: 7em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-8x {
|
|
||||||
font-size: 8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-9x {
|
|
||||||
font-size: 9em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-10x {
|
|
||||||
font-size: 10em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-fw {
|
|
||||||
text-align: center;
|
|
||||||
width: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-ul {
|
|
||||||
list-style-type: none;
|
|
||||||
margin-left: 2.5em;
|
|
||||||
padding-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-ul>li {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-li {
|
|
||||||
left: -2em;
|
|
||||||
position: absolute;
|
|
||||||
text-align: center;
|
|
||||||
width: 2em;
|
|
||||||
line-height: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-border {
|
|
||||||
border: solid 0.08em #eee;
|
|
||||||
border-radius: .1em;
|
|
||||||
padding: .2em .25em .15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-pull-left {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-pull-right {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa.fa-pull-left,
|
|
||||||
.fas.fa-pull-left,
|
|
||||||
.far.fa-pull-left,
|
|
||||||
.fal.fa-pull-left,
|
|
||||||
.fab.fa-pull-left {
|
|
||||||
margin-right: .3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa.fa-pull-right,
|
|
||||||
.fas.fa-pull-right,
|
|
||||||
.far.fa-pull-right,
|
|
||||||
.fal.fa-pull-right,
|
|
||||||
.fab.fa-pull-right {
|
|
||||||
margin-left: .3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-spin {
|
|
||||||
-webkit-animation: fa-spin 2s infinite linear;
|
|
||||||
animation: fa-spin 2s infinite linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-pulse {
|
|
||||||
-webkit-animation: fa-spin 1s infinite steps(8);
|
|
||||||
animation: fa-spin 1s infinite steps(8);
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes fa-spin {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes fa-spin {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: rotate(0deg);
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
-webkit-transform: rotate(360deg);
|
|
||||||
transform: rotate(360deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-rotate-90 {
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
|
|
||||||
-webkit-transform: rotate(90deg);
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-rotate-180 {
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
|
|
||||||
-webkit-transform: rotate(180deg);
|
|
||||||
transform: rotate(180deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-rotate-270 {
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
|
|
||||||
-webkit-transform: rotate(270deg);
|
|
||||||
transform: rotate(270deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-flip-horizontal {
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
|
|
||||||
-webkit-transform: scale(-1, 1);
|
|
||||||
transform: scale(-1, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-flip-vertical {
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
|
|
||||||
-webkit-transform: scale(1, -1);
|
|
||||||
transform: scale(1, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-flip-both,
|
|
||||||
.fa-flip-horizontal.fa-flip-vertical {
|
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
|
|
||||||
-webkit-transform: scale(-1, -1);
|
|
||||||
transform: scale(-1, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
:root .fa-rotate-90,
|
|
||||||
:root .fa-rotate-180,
|
|
||||||
:root .fa-rotate-270,
|
|
||||||
:root .fa-flip-horizontal,
|
|
||||||
:root .fa-flip-vertical,
|
|
||||||
:root .fa-flip-both {
|
|
||||||
-webkit-filter: none;
|
|
||||||
filter: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-stack {
|
|
||||||
display: inline-block;
|
|
||||||
height: 2em;
|
|
||||||
position: relative;
|
|
||||||
width: 2.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-stack-1x,
|
|
||||||
.fa-stack-2x {
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
margin: auto;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-stack-1x {
|
|
||||||
height: 1em;
|
|
||||||
width: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-stack-2x {
|
|
||||||
height: 2em;
|
|
||||||
width: 2.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fa-inverse {
|
|
||||||
var(--base-text);
|
|
||||||
}
|
|
||||||
|
|
||||||
.sr-only {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0, 0, 0, 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sr-only-focusable:active,
|
|
||||||
.sr-only-focusable:focus {
|
|
||||||
clip: auto;
|
|
||||||
height: auto;
|
|
||||||
margin: 0;
|
|
||||||
overflow: visible;
|
|
||||||
position: static;
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa .fa-primary {
|
|
||||||
fill: var(--fa-primary-color, currentColor);
|
|
||||||
opacity: 1;
|
|
||||||
opacity: var(--fa-primary-opacity, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa .fa-secondary {
|
|
||||||
fill: var(--fa-secondary-color, currentColor);
|
|
||||||
opacity: 0.4;
|
|
||||||
opacity: var(--fa-secondary-opacity, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
|
||||||
opacity: 0.4;
|
|
||||||
opacity: var(--fa-secondary-opacity, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
|
||||||
opacity: 1;
|
|
||||||
opacity: var(--fa-primary-opacity, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.svg-inline--fa mask .fa-primary,
|
|
||||||
.svg-inline--fa mask .fa-secondary {
|
|
||||||
fill: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fad.fa-inverse {
|
|
||||||
var(--base-text);
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 713 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 2.5 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 2.3 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 1.7 MiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
7946
app/frontend/static/assets/vendors/fontawesome6/css/all.css
vendored
Normal file
7946
app/frontend/static/assets/vendors/fontawesome6/css/all.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
app/frontend/static/assets/vendors/fontawesome6/css/all.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/all.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1516
app/frontend/static/assets/vendors/fontawesome6/css/brands.css
vendored
Normal file
1516
app/frontend/static/assets/vendors/fontawesome6/css/brands.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
app/frontend/static/assets/vendors/fontawesome6/css/brands.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/brands.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6369
app/frontend/static/assets/vendors/fontawesome6/css/fontawesome.css
vendored
Normal file
6369
app/frontend/static/assets/vendors/fontawesome6/css/fontawesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
app/frontend/static/assets/vendors/fontawesome6/css/fontawesome.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/fontawesome.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
19
app/frontend/static/assets/vendors/fontawesome6/css/regular.css
vendored
Normal file
19
app/frontend/static/assets/vendors/fontawesome6/css/regular.css
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:root, :host {
|
||||||
|
--fa-style-family-classic: 'Font Awesome 6 Free';
|
||||||
|
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
.far,
|
||||||
|
.fa-regular {
|
||||||
|
font-weight: 400; }
|
6
app/frontend/static/assets/vendors/fontawesome6/css/regular.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/regular.min.css
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}
|
19
app/frontend/static/assets/vendors/fontawesome6/css/solid.css
vendored
Normal file
19
app/frontend/static/assets/vendors/fontawesome6/css/solid.css
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:root, :host {
|
||||||
|
--fa-style-family-classic: 'Font Awesome 6 Free';
|
||||||
|
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 900;
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
.fas,
|
||||||
|
.fa-solid {
|
||||||
|
font-weight: 900; }
|
6
app/frontend/static/assets/vendors/fontawesome6/css/solid.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/solid.min.css
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}
|
635
app/frontend/static/assets/vendors/fontawesome6/css/svg-with-js.css
vendored
Normal file
635
app/frontend/static/assets/vendors/fontawesome6/css/svg-with-js.css
vendored
Normal file
@ -0,0 +1,635 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
:root, :host {
|
||||||
|
--fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid';
|
||||||
|
--fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular';
|
||||||
|
--fa-font-light: normal 300 1em/1 'Font Awesome 6 Light';
|
||||||
|
--fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin';
|
||||||
|
--fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
|
||||||
|
--fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
|
||||||
|
--fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }
|
||||||
|
|
||||||
|
svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {
|
||||||
|
overflow: visible;
|
||||||
|
box-sizing: content-box; }
|
||||||
|
|
||||||
|
.svg-inline--fa {
|
||||||
|
display: var(--fa-display, inline-block);
|
||||||
|
height: 1em;
|
||||||
|
overflow: visible;
|
||||||
|
vertical-align: -.125em; }
|
||||||
|
.svg-inline--fa.fa-2xs {
|
||||||
|
vertical-align: 0.1em; }
|
||||||
|
.svg-inline--fa.fa-xs {
|
||||||
|
vertical-align: 0em; }
|
||||||
|
.svg-inline--fa.fa-sm {
|
||||||
|
vertical-align: -0.07143em; }
|
||||||
|
.svg-inline--fa.fa-lg {
|
||||||
|
vertical-align: -0.2em; }
|
||||||
|
.svg-inline--fa.fa-xl {
|
||||||
|
vertical-align: -0.25em; }
|
||||||
|
.svg-inline--fa.fa-2xl {
|
||||||
|
vertical-align: -0.3125em; }
|
||||||
|
.svg-inline--fa.fa-pull-left {
|
||||||
|
margin-right: var(--fa-pull-margin, 0.3em);
|
||||||
|
width: auto; }
|
||||||
|
.svg-inline--fa.fa-pull-right {
|
||||||
|
margin-left: var(--fa-pull-margin, 0.3em);
|
||||||
|
width: auto; }
|
||||||
|
.svg-inline--fa.fa-li {
|
||||||
|
width: var(--fa-li-width, 2em);
|
||||||
|
top: 0.25em; }
|
||||||
|
.svg-inline--fa.fa-fw {
|
||||||
|
width: var(--fa-fw-width, 1.25em); }
|
||||||
|
|
||||||
|
.fa-layers svg.svg-inline--fa {
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: auto;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0; }
|
||||||
|
|
||||||
|
.fa-layers-text, .fa-layers-counter {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center; }
|
||||||
|
|
||||||
|
.fa-layers {
|
||||||
|
display: inline-block;
|
||||||
|
height: 1em;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: -.125em;
|
||||||
|
width: 1em; }
|
||||||
|
.fa-layers svg.svg-inline--fa {
|
||||||
|
-webkit-transform-origin: center center;
|
||||||
|
transform-origin: center center; }
|
||||||
|
|
||||||
|
.fa-layers-text {
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
-webkit-transform: translate(-50%, -50%);
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
-webkit-transform-origin: center center;
|
||||||
|
transform-origin: center center; }
|
||||||
|
|
||||||
|
.fa-layers-counter {
|
||||||
|
background-color: var(--fa-counter-background-color, #ff253a);
|
||||||
|
border-radius: var(--fa-counter-border-radius, 1em);
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: var(--fa-inverse, #fff);
|
||||||
|
line-height: var(--fa-counter-line-height, 1);
|
||||||
|
max-width: var(--fa-counter-max-width, 5em);
|
||||||
|
min-width: var(--fa-counter-min-width, 1.5em);
|
||||||
|
overflow: hidden;
|
||||||
|
padding: var(--fa-counter-padding, 0.25em 0.5em);
|
||||||
|
right: var(--fa-right, 0);
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
top: var(--fa-top, 0);
|
||||||
|
-webkit-transform: scale(var(--fa-counter-scale, 0.25));
|
||||||
|
transform: scale(var(--fa-counter-scale, 0.25));
|
||||||
|
-webkit-transform-origin: top right;
|
||||||
|
transform-origin: top right; }
|
||||||
|
|
||||||
|
.fa-layers-bottom-right {
|
||||||
|
bottom: var(--fa-bottom, 0);
|
||||||
|
right: var(--fa-right, 0);
|
||||||
|
top: auto;
|
||||||
|
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
-webkit-transform-origin: bottom right;
|
||||||
|
transform-origin: bottom right; }
|
||||||
|
|
||||||
|
.fa-layers-bottom-left {
|
||||||
|
bottom: var(--fa-bottom, 0);
|
||||||
|
left: var(--fa-left, 0);
|
||||||
|
right: auto;
|
||||||
|
top: auto;
|
||||||
|
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
-webkit-transform-origin: bottom left;
|
||||||
|
transform-origin: bottom left; }
|
||||||
|
|
||||||
|
.fa-layers-top-right {
|
||||||
|
top: var(--fa-top, 0);
|
||||||
|
right: var(--fa-right, 0);
|
||||||
|
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
-webkit-transform-origin: top right;
|
||||||
|
transform-origin: top right; }
|
||||||
|
|
||||||
|
.fa-layers-top-left {
|
||||||
|
left: var(--fa-left, 0);
|
||||||
|
right: auto;
|
||||||
|
top: var(--fa-top, 0);
|
||||||
|
-webkit-transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
transform: scale(var(--fa-layers-scale, 0.25));
|
||||||
|
-webkit-transform-origin: top left;
|
||||||
|
transform-origin: top left; }
|
||||||
|
|
||||||
|
.fa-1x {
|
||||||
|
font-size: 1em; }
|
||||||
|
|
||||||
|
.fa-2x {
|
||||||
|
font-size: 2em; }
|
||||||
|
|
||||||
|
.fa-3x {
|
||||||
|
font-size: 3em; }
|
||||||
|
|
||||||
|
.fa-4x {
|
||||||
|
font-size: 4em; }
|
||||||
|
|
||||||
|
.fa-5x {
|
||||||
|
font-size: 5em; }
|
||||||
|
|
||||||
|
.fa-6x {
|
||||||
|
font-size: 6em; }
|
||||||
|
|
||||||
|
.fa-7x {
|
||||||
|
font-size: 7em; }
|
||||||
|
|
||||||
|
.fa-8x {
|
||||||
|
font-size: 8em; }
|
||||||
|
|
||||||
|
.fa-9x {
|
||||||
|
font-size: 9em; }
|
||||||
|
|
||||||
|
.fa-10x {
|
||||||
|
font-size: 10em; }
|
||||||
|
|
||||||
|
.fa-2xs {
|
||||||
|
font-size: 0.625em;
|
||||||
|
line-height: 0.1em;
|
||||||
|
vertical-align: 0.225em; }
|
||||||
|
|
||||||
|
.fa-xs {
|
||||||
|
font-size: 0.75em;
|
||||||
|
line-height: 0.08333em;
|
||||||
|
vertical-align: 0.125em; }
|
||||||
|
|
||||||
|
.fa-sm {
|
||||||
|
font-size: 0.875em;
|
||||||
|
line-height: 0.07143em;
|
||||||
|
vertical-align: 0.05357em; }
|
||||||
|
|
||||||
|
.fa-lg {
|
||||||
|
font-size: 1.25em;
|
||||||
|
line-height: 0.05em;
|
||||||
|
vertical-align: -0.075em; }
|
||||||
|
|
||||||
|
.fa-xl {
|
||||||
|
font-size: 1.5em;
|
||||||
|
line-height: 0.04167em;
|
||||||
|
vertical-align: -0.125em; }
|
||||||
|
|
||||||
|
.fa-2xl {
|
||||||
|
font-size: 2em;
|
||||||
|
line-height: 0.03125em;
|
||||||
|
vertical-align: -0.1875em; }
|
||||||
|
|
||||||
|
.fa-fw {
|
||||||
|
text-align: center;
|
||||||
|
width: 1.25em; }
|
||||||
|
|
||||||
|
.fa-ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin-left: var(--fa-li-margin, 2.5em);
|
||||||
|
padding-left: 0; }
|
||||||
|
.fa-ul > li {
|
||||||
|
position: relative; }
|
||||||
|
|
||||||
|
.fa-li {
|
||||||
|
left: calc(var(--fa-li-width, 2em) * -1);
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: var(--fa-li-width, 2em);
|
||||||
|
line-height: inherit; }
|
||||||
|
|
||||||
|
.fa-border {
|
||||||
|
border-color: var(--fa-border-color, #eee);
|
||||||
|
border-radius: var(--fa-border-radius, 0.1em);
|
||||||
|
border-style: var(--fa-border-style, solid);
|
||||||
|
border-width: var(--fa-border-width, 0.08em);
|
||||||
|
padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); }
|
||||||
|
|
||||||
|
.fa-pull-left {
|
||||||
|
float: left;
|
||||||
|
margin-right: var(--fa-pull-margin, 0.3em); }
|
||||||
|
|
||||||
|
.fa-pull-right {
|
||||||
|
float: right;
|
||||||
|
margin-left: var(--fa-pull-margin, 0.3em); }
|
||||||
|
|
||||||
|
.fa-beat {
|
||||||
|
-webkit-animation-name: fa-beat;
|
||||||
|
animation-name: fa-beat;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
||||||
|
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||||
|
|
||||||
|
.fa-bounce {
|
||||||
|
-webkit-animation-name: fa-bounce;
|
||||||
|
animation-name: fa-bounce;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
|
||||||
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); }
|
||||||
|
|
||||||
|
.fa-fade {
|
||||||
|
-webkit-animation-name: fa-fade;
|
||||||
|
animation-name: fa-fade;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
||||||
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||||
|
|
||||||
|
.fa-beat-fade {
|
||||||
|
-webkit-animation-name: fa-beat-fade;
|
||||||
|
animation-name: fa-beat-fade;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
|
||||||
|
animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); }
|
||||||
|
|
||||||
|
.fa-flip {
|
||||||
|
-webkit-animation-name: fa-flip;
|
||||||
|
animation-name: fa-flip;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
|
||||||
|
animation-timing-function: var(--fa-animation-timing, ease-in-out); }
|
||||||
|
|
||||||
|
.fa-shake {
|
||||||
|
-webkit-animation-name: fa-shake;
|
||||||
|
animation-name: fa-shake;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
|
||||||
|
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||||
|
|
||||||
|
.fa-spin {
|
||||||
|
-webkit-animation-name: fa-spin;
|
||||||
|
animation-name: fa-spin;
|
||||||
|
-webkit-animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
animation-delay: var(--fa-animation-delay, 0s);
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 2s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 2s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, linear);
|
||||||
|
animation-timing-function: var(--fa-animation-timing, linear); }
|
||||||
|
|
||||||
|
.fa-spin-reverse {
|
||||||
|
--fa-animation-direction: reverse; }
|
||||||
|
|
||||||
|
.fa-pulse,
|
||||||
|
.fa-spin-pulse {
|
||||||
|
-webkit-animation-name: fa-spin;
|
||||||
|
animation-name: fa-spin;
|
||||||
|
-webkit-animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
animation-direction: var(--fa-animation-direction, normal);
|
||||||
|
-webkit-animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
animation-duration: var(--fa-animation-duration, 1s);
|
||||||
|
-webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
animation-iteration-count: var(--fa-animation-iteration-count, infinite);
|
||||||
|
-webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
|
||||||
|
animation-timing-function: var(--fa-animation-timing, steps(8)); }
|
||||||
|
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
.fa-beat,
|
||||||
|
.fa-bounce,
|
||||||
|
.fa-fade,
|
||||||
|
.fa-beat-fade,
|
||||||
|
.fa-flip,
|
||||||
|
.fa-pulse,
|
||||||
|
.fa-shake,
|
||||||
|
.fa-spin,
|
||||||
|
.fa-spin-pulse {
|
||||||
|
-webkit-animation-delay: -1ms;
|
||||||
|
animation-delay: -1ms;
|
||||||
|
-webkit-animation-duration: 1ms;
|
||||||
|
animation-duration: 1ms;
|
||||||
|
-webkit-animation-iteration-count: 1;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
transition-delay: 0s;
|
||||||
|
transition-duration: 0s; } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-beat {
|
||||||
|
0%, 90% {
|
||||||
|
-webkit-transform: scale(1);
|
||||||
|
transform: scale(1); }
|
||||||
|
45% {
|
||||||
|
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
|
||||||
|
transform: scale(var(--fa-beat-scale, 1.25)); } }
|
||||||
|
|
||||||
|
@keyframes fa-beat {
|
||||||
|
0%, 90% {
|
||||||
|
-webkit-transform: scale(1);
|
||||||
|
transform: scale(1); }
|
||||||
|
45% {
|
||||||
|
-webkit-transform: scale(var(--fa-beat-scale, 1.25));
|
||||||
|
transform: scale(var(--fa-beat-scale, 1.25)); } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-bounce {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(0);
|
||||||
|
transform: scale(1, 1) translateY(0); }
|
||||||
|
10% {
|
||||||
|
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
||||||
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||||
|
30% {
|
||||||
|
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
||||||
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
|
||||||
|
50% {
|
||||||
|
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
||||||
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||||
|
57% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
||||||
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
|
||||||
|
64% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(0);
|
||||||
|
transform: scale(1, 1) translateY(0); }
|
||||||
|
100% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(0);
|
||||||
|
transform: scale(1, 1) translateY(0); } }
|
||||||
|
|
||||||
|
@keyframes fa-bounce {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(0);
|
||||||
|
transform: scale(1, 1) translateY(0); }
|
||||||
|
10% {
|
||||||
|
-webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
|
||||||
|
transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); }
|
||||||
|
30% {
|
||||||
|
-webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
|
||||||
|
transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); }
|
||||||
|
50% {
|
||||||
|
-webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
|
||||||
|
transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); }
|
||||||
|
57% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
|
||||||
|
transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); }
|
||||||
|
64% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(0);
|
||||||
|
transform: scale(1, 1) translateY(0); }
|
||||||
|
100% {
|
||||||
|
-webkit-transform: scale(1, 1) translateY(0);
|
||||||
|
transform: scale(1, 1) translateY(0); } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-fade {
|
||||||
|
50% {
|
||||||
|
opacity: var(--fa-fade-opacity, 0.4); } }
|
||||||
|
|
||||||
|
@keyframes fa-fade {
|
||||||
|
50% {
|
||||||
|
opacity: var(--fa-fade-opacity, 0.4); } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-beat-fade {
|
||||||
|
0%, 100% {
|
||||||
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
||||||
|
-webkit-transform: scale(1);
|
||||||
|
transform: scale(1); }
|
||||||
|
50% {
|
||||||
|
opacity: 1;
|
||||||
|
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
|
||||||
|
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
|
||||||
|
|
||||||
|
@keyframes fa-beat-fade {
|
||||||
|
0%, 100% {
|
||||||
|
opacity: var(--fa-beat-fade-opacity, 0.4);
|
||||||
|
-webkit-transform: scale(1);
|
||||||
|
transform: scale(1); }
|
||||||
|
50% {
|
||||||
|
opacity: 1;
|
||||||
|
-webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
|
||||||
|
transform: scale(var(--fa-beat-fade-scale, 1.125)); } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-flip {
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
||||||
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
|
||||||
|
|
||||||
|
@keyframes fa-flip {
|
||||||
|
50% {
|
||||||
|
-webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
|
||||||
|
transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-shake {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(-15deg);
|
||||||
|
transform: rotate(-15deg); }
|
||||||
|
4% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg); }
|
||||||
|
8%, 24% {
|
||||||
|
-webkit-transform: rotate(-18deg);
|
||||||
|
transform: rotate(-18deg); }
|
||||||
|
12%, 28% {
|
||||||
|
-webkit-transform: rotate(18deg);
|
||||||
|
transform: rotate(18deg); }
|
||||||
|
16% {
|
||||||
|
-webkit-transform: rotate(-22deg);
|
||||||
|
transform: rotate(-22deg); }
|
||||||
|
20% {
|
||||||
|
-webkit-transform: rotate(22deg);
|
||||||
|
transform: rotate(22deg); }
|
||||||
|
32% {
|
||||||
|
-webkit-transform: rotate(-12deg);
|
||||||
|
transform: rotate(-12deg); }
|
||||||
|
36% {
|
||||||
|
-webkit-transform: rotate(12deg);
|
||||||
|
transform: rotate(12deg); }
|
||||||
|
40%, 100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg); } }
|
||||||
|
|
||||||
|
@keyframes fa-shake {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(-15deg);
|
||||||
|
transform: rotate(-15deg); }
|
||||||
|
4% {
|
||||||
|
-webkit-transform: rotate(15deg);
|
||||||
|
transform: rotate(15deg); }
|
||||||
|
8%, 24% {
|
||||||
|
-webkit-transform: rotate(-18deg);
|
||||||
|
transform: rotate(-18deg); }
|
||||||
|
12%, 28% {
|
||||||
|
-webkit-transform: rotate(18deg);
|
||||||
|
transform: rotate(18deg); }
|
||||||
|
16% {
|
||||||
|
-webkit-transform: rotate(-22deg);
|
||||||
|
transform: rotate(-22deg); }
|
||||||
|
20% {
|
||||||
|
-webkit-transform: rotate(22deg);
|
||||||
|
transform: rotate(22deg); }
|
||||||
|
32% {
|
||||||
|
-webkit-transform: rotate(-12deg);
|
||||||
|
transform: rotate(-12deg); }
|
||||||
|
36% {
|
||||||
|
-webkit-transform: rotate(12deg);
|
||||||
|
transform: rotate(12deg); }
|
||||||
|
40%, 100% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg); } }
|
||||||
|
|
||||||
|
@-webkit-keyframes fa-spin {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg); }
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg); } }
|
||||||
|
|
||||||
|
@keyframes fa-spin {
|
||||||
|
0% {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg); }
|
||||||
|
100% {
|
||||||
|
-webkit-transform: rotate(360deg);
|
||||||
|
transform: rotate(360deg); } }
|
||||||
|
|
||||||
|
.fa-rotate-90 {
|
||||||
|
-webkit-transform: rotate(90deg);
|
||||||
|
transform: rotate(90deg); }
|
||||||
|
|
||||||
|
.fa-rotate-180 {
|
||||||
|
-webkit-transform: rotate(180deg);
|
||||||
|
transform: rotate(180deg); }
|
||||||
|
|
||||||
|
.fa-rotate-270 {
|
||||||
|
-webkit-transform: rotate(270deg);
|
||||||
|
transform: rotate(270deg); }
|
||||||
|
|
||||||
|
.fa-flip-horizontal {
|
||||||
|
-webkit-transform: scale(-1, 1);
|
||||||
|
transform: scale(-1, 1); }
|
||||||
|
|
||||||
|
.fa-flip-vertical {
|
||||||
|
-webkit-transform: scale(1, -1);
|
||||||
|
transform: scale(1, -1); }
|
||||||
|
|
||||||
|
.fa-flip-both,
|
||||||
|
.fa-flip-horizontal.fa-flip-vertical {
|
||||||
|
-webkit-transform: scale(-1, -1);
|
||||||
|
transform: scale(-1, -1); }
|
||||||
|
|
||||||
|
.fa-rotate-by {
|
||||||
|
-webkit-transform: rotate(var(--fa-rotate-angle, none));
|
||||||
|
transform: rotate(var(--fa-rotate-angle, none)); }
|
||||||
|
|
||||||
|
.fa-stack {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
height: 2em;
|
||||||
|
position: relative;
|
||||||
|
width: 2.5em; }
|
||||||
|
|
||||||
|
.fa-stack-1x,
|
||||||
|
.fa-stack-2x {
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
margin: auto;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
z-index: var(--fa-stack-z-index, auto); }
|
||||||
|
|
||||||
|
.svg-inline--fa.fa-stack-1x {
|
||||||
|
height: 1em;
|
||||||
|
width: 1.25em; }
|
||||||
|
|
||||||
|
.svg-inline--fa.fa-stack-2x {
|
||||||
|
height: 2em;
|
||||||
|
width: 2.5em; }
|
||||||
|
|
||||||
|
.fa-inverse {
|
||||||
|
color: var(--fa-inverse, #fff); }
|
||||||
|
|
||||||
|
.sr-only,
|
||||||
|
.fa-sr-only {
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -1px;
|
||||||
|
overflow: hidden;
|
||||||
|
clip: rect(0, 0, 0, 0);
|
||||||
|
white-space: nowrap;
|
||||||
|
border-width: 0; }
|
||||||
|
|
||||||
|
.sr-only-focusable:not(:focus),
|
||||||
|
.fa-sr-only-focusable:not(:focus) {
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -1px;
|
||||||
|
overflow: hidden;
|
||||||
|
clip: rect(0, 0, 0, 0);
|
||||||
|
white-space: nowrap;
|
||||||
|
border-width: 0; }
|
||||||
|
|
||||||
|
.svg-inline--fa .fa-primary {
|
||||||
|
fill: var(--fa-primary-color, currentColor);
|
||||||
|
opacity: var(--fa-primary-opacity, 1); }
|
||||||
|
|
||||||
|
.svg-inline--fa .fa-secondary {
|
||||||
|
fill: var(--fa-secondary-color, currentColor);
|
||||||
|
opacity: var(--fa-secondary-opacity, 0.4); }
|
||||||
|
|
||||||
|
.svg-inline--fa.fa-swap-opacity .fa-primary {
|
||||||
|
opacity: var(--fa-secondary-opacity, 0.4); }
|
||||||
|
|
||||||
|
.svg-inline--fa.fa-swap-opacity .fa-secondary {
|
||||||
|
opacity: var(--fa-primary-opacity, 1); }
|
||||||
|
|
||||||
|
.svg-inline--fa mask .fa-primary,
|
||||||
|
.svg-inline--fa mask .fa-secondary {
|
||||||
|
fill: black; }
|
||||||
|
|
||||||
|
.fad.fa-inverse,
|
||||||
|
.fa-duotone.fa-inverse {
|
||||||
|
color: var(--fa-inverse, #fff); }
|
6
app/frontend/static/assets/vendors/fontawesome6/css/svg-with-js.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/svg-with-js.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
26
app/frontend/static/assets/vendors/fontawesome6/css/v4-font-face.css
vendored
Normal file
26
app/frontend/static/assets/vendors/fontawesome6/css/v4-font-face.css
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: 'FontAwesome';
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'FontAwesome';
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'FontAwesome';
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype");
|
||||||
|
unicode-range: U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'FontAwesome';
|
||||||
|
font-display: block;
|
||||||
|
src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype");
|
||||||
|
unicode-range: U+F041,U+F047,U+F065-F066,U+F07D-F07E,U+F080,U+F08B,U+F08E,U+F090,U+F09A,U+F0AC,U+F0AE,U+F0B2,U+F0D0,U+F0D6,U+F0E4,U+F0EC,U+F10A-F10B,U+F123,U+F13E,U+F148-F149,U+F14C,U+F156,U+F15E,U+F160-F161,U+F163,U+F175-F178,U+F195,U+F1F8,U+F219,U+F27A; }
|
6
app/frontend/static/assets/vendors/fontawesome6/css/v4-font-face.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/v4-font-face.min.css
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
|
File diff suppressed because it is too large
Load Diff
6
app/frontend/static/assets/vendors/fontawesome6/css/v4-shims.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/v4-shims.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
22
app/frontend/static/assets/vendors/fontawesome6/css/v5-font-face.css
vendored
Normal file
22
app/frontend/static/assets/vendors/fontawesome6/css/v5-font-face.css
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 5 Brands';
|
||||||
|
font-display: block;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 5 Free';
|
||||||
|
font-display: block;
|
||||||
|
font-weight: 900;
|
||||||
|
src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Font Awesome 5 Free';
|
||||||
|
font-display: block;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
|
6
app/frontend/static/assets/vendors/fontawesome6/css/v5-font-face.min.css
vendored
Normal file
6
app/frontend/static/assets/vendors/fontawesome6/css/v5-font-face.min.css
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/*!
|
||||||
|
* Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
|
||||||
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||||
|
* Copyright 2022 Fonticons, Inc.
|
||||||
|
*/
|
||||||
|
@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}
|
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-brands-400.ttf
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-brands-400.ttf
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-brands-400.woff2
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-brands-400.woff2
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-regular-400.ttf
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-regular-400.ttf
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-regular-400.woff2
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-regular-400.woff2
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-solid-900.ttf
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-solid-900.ttf
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-solid-900.woff2
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-solid-900.woff2
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-v4compatibility.ttf
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-v4compatibility.ttf
vendored
Normal file
Binary file not shown.
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-v4compatibility.woff2
vendored
Normal file
BIN
app/frontend/static/assets/vendors/fontawesome6/webfonts/fa-v4compatibility.woff2
vendored
Normal file
Binary file not shown.
@ -13,7 +13,7 @@
|
|||||||
<link rel="stylesheet" href="/static/assets/vendors/flag-icon-css/css/flag-icon.min.css">
|
<link rel="stylesheet" href="/static/assets/vendors/flag-icon-css/css/flag-icon.min.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
|
<link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
|
<link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/fontawesome5/css/all.css">
|
<link rel="stylesheet" href="/static/assets/vendors/fontawesome6/css/all.css">
|
||||||
<link rel="stylesheet" type="text/css"
|
<link rel="stylesheet" type="text/css"
|
||||||
href="https://cdn.datatables.net/v/bs4/dt-1.10.22/fh-3.1.7/r-2.2.6/sc-2.0.3/sp-1.2.2/datatables.min.css" />
|
href="https://cdn.datatables.net/v/bs4/dt-1.10.22/fh-3.1.7/r-2.2.6/sc-2.0.3/sp-1.2.2/datatables.min.css" />
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
|
<link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
|
||||||
|
@ -1,60 +1,63 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
|
||||||
<!-- Required meta tags -->
|
<head>
|
||||||
<meta charset="utf-8">
|
<!-- Required meta tags -->
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta charset="utf-8">
|
||||||
<title>{% block title %}{{ _('Default') }}{% end %}</title>
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
<!-- plugins:css -->
|
<title>{% block title %}{{ _('Default') }}{% end %}</title>
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/mdi/css/materialdesignicons.min.css">
|
<!-- plugins:css -->
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/flag-icon-css/css/flag-icon.min.css">
|
<link rel="stylesheet" href="/static/assets/vendors/mdi/css/materialdesignicons.min.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
|
<link rel="stylesheet" href="/static/assets/vendors/flag-icon-css/css/flag-icon.min.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
|
<link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
|
<link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/fontawesome5/css/all.css">
|
<link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
|
||||||
<link rel="stylesheet" href="/static/assest/css/crafty.css">
|
<link rel="stylesheet" href="/static/assets/vendors/fontawesome6/css/all.css">
|
||||||
<!-- endinject -->
|
<link rel="stylesheet" href="/static/assest/css/crafty.css">
|
||||||
<!-- Plugin css for this page -->
|
<!-- endinject -->
|
||||||
<!-- End Plugin css for this page -->
|
<!-- Plugin css for this page -->
|
||||||
<!-- Layout styles -->
|
<!-- End Plugin css for this page -->
|
||||||
<link rel="stylesheet" href="/static/assets/css/dark/style.css">
|
<!-- Layout styles -->
|
||||||
<!-- End Layout styles -->
|
<link rel="stylesheet" href="/static/assets/css/dark/style.css">
|
||||||
<link rel="shortcut icon" type="image/svg+xml" href="/static/assets/images/logo_small.svg">
|
<!-- End Layout styles -->
|
||||||
<link rel="alternate icon" href="/static/assets/images/favicon.png" />
|
<link rel="shortcut icon" type="image/svg+xml" href="/static/assets/images/logo_small.svg">
|
||||||
</head>
|
<link rel="alternate icon" href="/static/assets/images/favicon.png" />
|
||||||
<body class="dark-theme">
|
</head>
|
||||||
<div class="container-scroller">
|
|
||||||
<div class="container-fluid page-body-wrapper full-page-wrapper">
|
<body class="dark-theme">
|
||||||
<div class="content-wrapper d-flex align-items-center auth auth-bg-1 theme-one">
|
<div class="container-scroller">
|
||||||
<div class="row w-100">
|
<div class="container-fluid page-body-wrapper full-page-wrapper">
|
||||||
<div class="mx-auto">
|
<div class="content-wrapper d-flex align-items-center auth auth-bg-1 theme-one">
|
||||||
|
<div class="row w-100">
|
||||||
|
<div class="mx-auto">
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% end %}
|
{% end %}
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- content-wrapper ends -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- page-body-wrapper ends -->
|
<!-- content-wrapper ends -->
|
||||||
</div>
|
</div>
|
||||||
<!-- container-scroller -->
|
<!-- page-body-wrapper ends -->
|
||||||
<!-- plugins:js -->
|
</div>
|
||||||
<script src="/static/assets/vendors/js/vendor.bundle.base.js"></script>
|
<!-- container-scroller -->
|
||||||
<!-- endinject -->
|
<!-- plugins:js -->
|
||||||
<!-- inject:js -->
|
<script src="/static/assets/vendors/js/vendor.bundle.base.js"></script>
|
||||||
<script src="/static/assets/js/shared/off-canvas.js"></script>
|
<!-- endinject -->
|
||||||
<script src="/static/assets/js/shared/hoverable-collapse.js"></script>
|
<!-- inject:js -->
|
||||||
<script src="/static/assets/js/shared/misc.js"></script>
|
<script src="/static/assets/js/shared/off-canvas.js"></script>
|
||||||
<script src="/static/assets/js/shared/settings.js"></script>
|
<script src="/static/assets/js/shared/hoverable-collapse.js"></script>
|
||||||
<script src="/static/assets/js/shared/todolist.js"></script>
|
<script src="/static/assets/js/shared/misc.js"></script>
|
||||||
<!-- endinject -->
|
<script src="/static/assets/js/shared/settings.js"></script>
|
||||||
|
<script src="/static/assets/js/shared/todolist.js"></script>
|
||||||
|
<!-- endinject -->
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
<!-- Custom js for this page -->
|
<!-- Custom js for this page -->
|
||||||
<!-- End custom js for this page -->
|
<!-- End custom js for this page -->
|
||||||
{% end %}
|
{% end %}
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="/panel/dashboard">
|
<a class="nav-link" href="/panel/dashboard">
|
||||||
<i class="fas fa-chart-network"></i>
|
<i class="fa-solid fa-diagram-project"></i>
|
||||||
<span class="menu-title">{{ translate('sidebar', 'dashboard', data['lang']) }}</span>
|
<span class="menu-title">{{ translate('sidebar', 'dashboard', data['lang']) }}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -24,7 +24,8 @@
|
|||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header header-sm d-flex justify-content-between align-items-center">
|
<div class="card-header header-sm d-flex justify-content-between align-items-center">
|
||||||
<h4 class="card-title"><i class="far fa-code"></i> {{ translate('credits', 'developmentTeam', data['lang'])
|
<h4 class="card-title"><i class="fa-solid fa-code-merge"></i> {{ translate('credits', 'developmentTeam',
|
||||||
|
data['lang'])
|
||||||
}}</h4>
|
}}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -184,7 +185,8 @@
|
|||||||
|
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header header-sm d-flex justify-content-between align-items-center">
|
<div class="card-header header-sm d-flex justify-content-between align-items-center">
|
||||||
<h4 class="card-title"><i class="far fa-server"></i> {{ translate('credits', 'retiredStaff', data['lang'])
|
<h4 class="card-title"><i class="fa-solid fa-thumbtack"></i> {{ translate('credits', 'retiredStaff',
|
||||||
|
data['lang'])
|
||||||
}}</h4>
|
}}</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -320,7 +322,7 @@
|
|||||||
<div class="col-lg-6 grid-margin stretch-card">
|
<div class="col-lg-6 grid-margin stretch-card">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header header-sm d-flex justify-content-between align-items-center">
|
<div class="card-header header-sm d-flex justify-content-between align-items-center">
|
||||||
<h4 class="card-title"><i class="far fa-language"></i> {{ translate('credits', 'translationTitle',
|
<h4 class="card-title"><i class="fa fa-language"></i> {{ translate('credits', 'translationTitle',
|
||||||
data['lang']) }}</h4>
|
data['lang']) }}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -342,11 +344,13 @@
|
|||||||
<td class="pb-0">
|
<td class="pb-0">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{% for language in data['translations'][person] %}
|
{% for language in data['translations'][person] %}
|
||||||
{% if language['status'] %}
|
{% if language['status'] %}
|
||||||
<span class="btn btn-sm btn-inverse-success mr-2" style="margin-bottom: 12px;">{{ language['name'] }}</span>
|
<span class="btn btn-sm btn-inverse-success mr-2" style="margin-bottom: 12px;">{{ language['name']
|
||||||
{% else %}
|
}}</span>
|
||||||
<span class="btn btn-sm btn-inverse-secondary mr-2" style="margin-bottom: 12px;">{{ language['name'] }}</span>
|
{% else %}
|
||||||
{% end %}
|
<span class="btn btn-sm btn-inverse-secondary mr-2" style="margin-bottom: 12px;">{{ language['name']
|
||||||
|
}}</span>
|
||||||
|
{% end %}
|
||||||
{% end %}
|
{% end %}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -1,14 +1,17 @@
|
|||||||
<ul class="nav nav-tabs col-md-12 tab-simple-styled" role="tablist" style="margin-top: 0;">
|
<ul class="nav nav-tabs col-md-12 tab-simple-styled" role="tablist" style="margin-top: 0;">
|
||||||
<li class="nav-item term-nav-item">
|
<li class="nav-item term-nav-item">
|
||||||
<a class="nav-link {% if data['active_link'] == 'panel_config' %}active{% end %}" href="/panel/panel_config" role="tab" aria-selected="false">
|
<a class="nav-link {% if data['active_link'] == 'panel_config' %}active{% end %}" href="/panel/panel_config"
|
||||||
<i class="fas fa-file-signature"></i>Panel Config</a>
|
role="tab" aria-selected="false">
|
||||||
|
<i class="fa-solid fa-wrench"></i>{{ translate('panelConfig', 'pageTitle', data['lang']) }}</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item term-nav-item">
|
<li class="nav-item term-nav-item">
|
||||||
<a class="nav-link {% if data['active_link'] == 'config_json' %}active{% end %}" href="/panel/config_json" role="tab" aria-selected="false">
|
<a class="nav-link {% if data['active_link'] == 'config_json' %}active{% end %}" href="/panel/config_json"
|
||||||
<i class="fas fa-file-signature"></i>Config.json</a>
|
role="tab" aria-selected="false">
|
||||||
|
<i class="fa-solid fa-code"></i>{{ translate('panelConfig', 'json', data['lang']) }}</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item term-nav-item">
|
<li class="nav-item term-nav-item">
|
||||||
<a class="nav-link {% if data['active_link'] == 'custom_login' %}active{% end %}" href="/panel/custom_login" role="tab" aria-selected="false">
|
<a class="nav-link {% if data['active_link'] == 'custom_login' %}active{% end %}" href="/panel/custom_login"
|
||||||
<i class="fas fa-file-signature"></i>Custom Login</a>
|
role="tab" aria-selected="false">
|
||||||
|
<i class="fa fa-palette"></i>{{ translate('panelConfig', 'custom', data['lang']) }}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
@ -5,11 +5,11 @@
|
|||||||
</button>
|
</button>
|
||||||
<div class="dropdown-menu col-md-12" aria-labelledby="dropdownMenuButton">
|
<div class="dropdown-menu col-md-12" aria-labelledby="dropdownMenuButton">
|
||||||
{% if data['permissions']['Terminal'] in data['user_permissions'] %}
|
{% if data['permissions']['Terminal'] in data['user_permissions'] %}
|
||||||
<a class="dropdown-item {% if data['active_link'] == 'term' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=term" role="tab" aria-selected="false"><i class="fas fa-file-signature"></i> {{ translate('serverDetails', 'terminal', data['lang']) }}</a>
|
<a class="dropdown-item {% if data['active_link'] == 'term' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=term" role="tab" aria-selected="false"><i class="fa-solid fa-terminal"></i> {{ translate('serverDetails', 'terminal', data['lang']) }}</a>
|
||||||
{% end %}
|
{% end %}
|
||||||
<!--Bedrock servers don't have logs so we'll only show it if we know it's not a bedrock server.-->
|
<!--Bedrock servers don't have logs so we'll only show it if we know it's not a bedrock server.-->
|
||||||
{% if data['permissions']['Logs'] in data['user_permissions'] and data['server_data']['type'] != 'minecraft-bedrock'%}
|
{% if data['permissions']['Logs'] in data['user_permissions'] and data['server_data']['type'] != 'minecraft-bedrock'%}
|
||||||
<a class="dropdown-item {% if data['active_link'] == 'logs' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=logs" role="tab" aria-selected="false"><i class="fas fa-file-signature"></i> {{ translate('serverDetails', 'logs', data['lang']) }}</a>
|
<a class="dropdown-item {% if data['active_link'] == 'logs' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=logs" role="tab" aria-selected="false"><i class="fa-solid fa-book-open-reader"></i> {{ translate('serverDetails', 'logs', data['lang']) }}</a>
|
||||||
{% end %}
|
{% end %}
|
||||||
{% if data['permissions']['Schedule'] in data['user_permissions'] %}
|
{% if data['permissions']['Schedule'] in data['user_permissions'] %}
|
||||||
<a class="dropdown-item {% if data['active_link'] == 'schedules' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=schedules" role="tab" aria-selected="false"><i class="fas fa-clock"></i> {{ translate('serverDetails', 'schedule', data['lang']) }}</a>
|
<a class="dropdown-item {% if data['active_link'] == 'schedules' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=schedules" role="tab" aria-selected="false"><i class="fas fa-clock"></i> {{ translate('serverDetails', 'schedule', data['lang']) }}</a>
|
||||||
@ -30,7 +30,7 @@
|
|||||||
{% if data['permissions']['Players'] in data['user_permissions'] and data['server_data']['type'] != 'minecraft-bedrock' %}
|
{% if data['permissions']['Players'] in data['user_permissions'] and data['server_data']['type'] != 'minecraft-bedrock' %}
|
||||||
<a class="dropdown-item {% if data['active_link'] == 'admin_controls' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=admin_controls" role="tab" aria-selected="true"><i class="fas fa-users"></i> {{ translate('serverDetails', 'playerControls', data['lang']) }}</a>
|
<a class="dropdown-item {% if data['active_link'] == 'admin_controls' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=admin_controls" role="tab" aria-selected="true"><i class="fas fa-users"></i> {{ translate('serverDetails', 'playerControls', data['lang']) }}</a>
|
||||||
{% end %}
|
{% end %}
|
||||||
<a class="dropdown-item {% if data['active_link'] == 'metrics' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=metrics" role="tab" aria-selected="true"><i class='fas fa-chart-area'></i>{{ translate('serverDetails', 'metrics', data['lang']) }}</a>
|
<a class="dropdown-item {% if data['active_link'] == 'metrics' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=metrics" role="tab" aria-selected="true"><i class="fa-solid fa-chart-line"></i> {{ translate('serverDetails', 'metrics', data['lang']) }}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@ -2,14 +2,14 @@
|
|||||||
{% if data['permissions']['Terminal'] in data['user_permissions'] %}
|
{% if data['permissions']['Terminal'] in data['user_permissions'] %}
|
||||||
<li class="nav-item term-nav-item">
|
<li class="nav-item term-nav-item">
|
||||||
<a class="nav-link {% if data['active_link'] == 'term' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=term" role="tab" aria-selected="false">
|
<a class="nav-link {% if data['active_link'] == 'term' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=term" role="tab" aria-selected="false">
|
||||||
<i class="fas fa-file-signature"></i>{{ translate('serverDetails', 'terminal', data['lang']) }}</a>
|
<i class="fa-solid fa-terminal"></i>{{ translate('serverDetails', 'terminal', data['lang']) }}</a>
|
||||||
</li>
|
</li>
|
||||||
{% end %}
|
{% end %}
|
||||||
<!--Bedrock servers don't have logs so we'll only show it if we know it's not a bedrock server.-->
|
<!--Bedrock servers don't have logs so we'll only show it if we know it's not a bedrock server.-->
|
||||||
{% if data['permissions']['Logs'] in data['user_permissions'] and data['server_data']['type'] != 'minecraft-bedrock'%}
|
{% if data['permissions']['Logs'] in data['user_permissions'] and data['server_data']['type'] != 'minecraft-bedrock'%}
|
||||||
<li class="nav-item term-nav-item">
|
<li class="nav-item term-nav-item">
|
||||||
<a class="nav-link {% if data['active_link'] == 'logs' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=logs" role="tab" aria-selected="false">
|
<a class="nav-link {% if data['active_link'] == 'logs' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=logs" role="tab" aria-selected="false">
|
||||||
<i class="fas fa-file-signature"></i>{{ translate('serverDetails', 'logs', data['lang']) }}</a>
|
<i class="fa-solid fa-book-open-reader"></i>{{ translate('serverDetails', 'logs', data['lang']) }}</a>
|
||||||
</li>
|
</li>
|
||||||
{% end %}
|
{% end %}
|
||||||
{% if data['permissions']['Schedule'] in data['user_permissions'] %}
|
{% if data['permissions']['Schedule'] in data['user_permissions'] %}
|
||||||
@ -51,6 +51,6 @@
|
|||||||
{% end %}
|
{% end %}
|
||||||
<li class="nav-item term-nav-item">
|
<li class="nav-item term-nav-item">
|
||||||
<a class="nav-link {% if data['active_link'] == 'metrics' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=metrics" role="tab" aria-selected="true">
|
<a class="nav-link {% if data['active_link'] == 'metrics' %}active{% end %}" href="/panel/server_detail?id={{ data['server_stats']['server_id']['server_id'] }}&subpage=metrics" role="tab" aria-selected="true">
|
||||||
<i class='fas fa-chart-area'></i>{{ translate('serverDetails', 'metrics', data['lang']) }}</a>
|
<i class="fa-solid fa-chart-line"></i>{{ translate('serverDetails', 'metrics', data['lang']) }}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
@ -13,7 +13,7 @@
|
|||||||
<link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
|
<link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
|
<link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
|
<link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
|
||||||
<link rel="stylesheet" href="/static/assets/vendors/fontawesome5/css/all.css">
|
<link rel="stylesheet" href="/static/assets/vendors/fontawesome6/css/all.css">
|
||||||
<!-- endinject -->
|
<!-- endinject -->
|
||||||
<!-- Plugin css for this page -->
|
<!-- Plugin css for this page -->
|
||||||
<!-- End Plugin css for this page -->
|
<!-- End Plugin css for this page -->
|
||||||
|
@ -346,11 +346,12 @@
|
|||||||
|
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="server">Server Upload </label><br>
|
<label for="server">{{ translate('serverWizard', 'serverUpload', data['lang']) }}</label><br>
|
||||||
<span id="upload_input">
|
<span id="upload_input">
|
||||||
<input type="file" multiple="false" class="form-control" id="file" name="file" required
|
<input type="file" multiple="false" class="form-control" id="file" name="file" required
|
||||||
style="width: 70%;">
|
style="width: 70%;">
|
||||||
<button type="button" class="btn btn-info" onclick="sendFile()">UPLOAD</button>
|
<button type="button" class="btn btn-info" onclick="sendFile()">{{ translate('serverWizard',
|
||||||
|
'uploadButton', data['lang']) }}</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -456,11 +456,12 @@
|
|||||||
|
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="server">Server Upload </label><br>
|
<label for="server">{{ translate('serverWizard', 'serverUpload', data['lang']) }}</label><br>
|
||||||
<span id="upload_input">
|
<span id="upload_input">
|
||||||
<input type="file" multiple="false" class="form-control" id="file" name="file" required
|
<input type="file" multiple="false" class="form-control" id="file" name="file" required
|
||||||
style="width: 70%;">
|
style="width: 70%;">
|
||||||
<button type="button" class="btn btn-info" onclick="sendFile()">UPLOAD</button>
|
<button type="button" class="btn btn-info" onclick="sendFile()">{{ translate('serverWizard',
|
||||||
|
'uploadButton', data['lang']) }}</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -222,6 +222,8 @@
|
|||||||
"newRole": "Add New Role",
|
"newRole": "Add New Role",
|
||||||
"newUser": "Add New User",
|
"newUser": "Add New User",
|
||||||
"pageTitle": "Panel Config",
|
"pageTitle": "Panel Config",
|
||||||
|
"json": "Config.json",
|
||||||
|
"custom": "Customize Crafty",
|
||||||
"role": "Role",
|
"role": "Role",
|
||||||
"roles": "Roles",
|
"roles": "Roles",
|
||||||
"roleUsers": "Role Users",
|
"roleUsers": "Role Users",
|
||||||
@ -554,7 +556,9 @@
|
|||||||
"serverType": "Server Type",
|
"serverType": "Server Type",
|
||||||
"serverSelect": "Server Select",
|
"serverSelect": "Server Select",
|
||||||
"serverVersion": "Server Version",
|
"serverVersion": "Server Version",
|
||||||
|
"serverUpload": "Upload Zipped Server",
|
||||||
"sizeInGB": "Size in GB",
|
"sizeInGB": "Size in GB",
|
||||||
|
"uploadButton": "Upload",
|
||||||
"zipPath": "Server Path"
|
"zipPath": "Server Path"
|
||||||
},
|
},
|
||||||
"sidebar": {
|
"sidebar": {
|
||||||
|
@ -5,12 +5,12 @@ bleach==4.1
|
|||||||
cached_property==1.5.2
|
cached_property==1.5.2
|
||||||
colorama==0.4
|
colorama==0.4
|
||||||
croniter==1.3.5
|
croniter==1.3.5
|
||||||
cryptography==3.4.8
|
cryptography==39.0.1
|
||||||
libgravatar==1.0.0
|
libgravatar==1.0.0
|
||||||
peewee==3.13
|
peewee==3.13
|
||||||
pexpect==4.8
|
pexpect==4.8
|
||||||
psutil==5.9
|
psutil==5.9
|
||||||
pyOpenSSL==19.1.0
|
pyOpenSSL==23.0.0
|
||||||
pyjwt==2.4.0
|
pyjwt==2.4.0
|
||||||
PyYAML==5.4
|
PyYAML==5.4
|
||||||
requests==2.26
|
requests==2.26
|
||||||
|
Loading…
Reference in New Issue
Block a user