From 229643c851ffbddb6fb803ee835aec26e85871d3 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 18 Dec 2025 15:39:41 +0200 Subject: [PATCH 01/82] added __pycache__ to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3228387..1ffc12b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea .venv +**__pycache__ From dfcd71afc85c0be8d340ff5b4ec0967a3e9ccf1c Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 18 Dec 2025 15:41:46 +0200 Subject: [PATCH 02/82] added new empty app albums --- albums/__init__.py | 0 albums/admin.py | 3 +++ albums/apps.py | 5 +++++ albums/migrations/__init__.py | 0 albums/models.py | 3 +++ albums/tests.py | 3 +++ albums/views.py | 3 +++ 7 files changed, 17 insertions(+) create mode 100644 albums/__init__.py create mode 100644 albums/admin.py create mode 100644 albums/apps.py create mode 100644 albums/migrations/__init__.py create mode 100644 albums/models.py create mode 100644 albums/tests.py create mode 100644 albums/views.py diff --git a/albums/__init__.py b/albums/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/albums/admin.py b/albums/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/albums/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/albums/apps.py b/albums/apps.py new file mode 100644 index 0000000..cac1437 --- /dev/null +++ b/albums/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class AlbumsConfig(AppConfig): + name = 'albums' diff --git a/albums/migrations/__init__.py b/albums/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/albums/models.py b/albums/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/albums/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/albums/tests.py b/albums/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/albums/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/albums/views.py b/albums/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/albums/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. From 2e6a045750ad3c26b10cf136096ec37d3e7c4784 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 18 Dec 2025 17:13:11 +0200 Subject: [PATCH 03/82] added Album model to models --- albums/models.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/albums/models.py b/albums/models.py index 71a8362..e45787f 100644 --- a/albums/models.py +++ b/albums/models.py @@ -1,3 +1,21 @@ from django.db import models -# Create your models here. + +class Album(models.Model): + class MediaType(models.TextChoices): + SERIES = "SERIES", "Series" + MOVIE = "MOVIE", "Movie" + ANIME = "ANIME", "Anime" + GAME = "GAME", "Game" + + media_type = models.CharField(max_length=10, choices=MediaType.choices) + media_title = models.CharField(max_length=255) + album_title = models.CharField(max_length=255) + cover_image_url = models.URLField() + part_or_season = models.PositiveIntegerField() + release_date = models.DateField() + artists = models.TextField(help_text="Comma-separated list of artists") + tracklist = models.TextField(help_text="Each track on a new line") + total_tracks = models.PositiveIntegerField() + spotify_url = models.URLField(blank=True, null=True) + created_at = models.DateTimeField(auto_now_add=True) From 3bec1c6221e2dea587bd134d2265ca1e9c0b5b94 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 18 Dec 2025 17:47:58 +0200 Subject: [PATCH 04/82] renamed directories frisson_music -> frisson_music_servise, albums -> frisson_music --- {albums => frisson_music}/admin.py | 0 {albums => frisson_music}/apps.py | 2 +- {albums => frisson_music/migrations}/__init__.py | 0 {albums => frisson_music}/models.py | 0 {albums => frisson_music}/tests.py | 0 {albums => frisson_music}/views.py | 0 {albums/migrations => frisson_music_service}/__init__.py | 0 {frisson_music => frisson_music_service}/asgi.py | 4 ++-- {frisson_music => frisson_music_service}/settings.py | 5 +++-- {frisson_music => frisson_music_service}/urls.py | 2 +- {frisson_music => frisson_music_service}/wsgi.py | 4 ++-- manage.py | 2 +- 12 files changed, 10 insertions(+), 9 deletions(-) rename {albums => frisson_music}/admin.py (100%) rename {albums => frisson_music}/apps.py (71%) rename {albums => frisson_music/migrations}/__init__.py (100%) rename {albums => frisson_music}/models.py (100%) rename {albums => frisson_music}/tests.py (100%) rename {albums => frisson_music}/views.py (100%) rename {albums/migrations => frisson_music_service}/__init__.py (100%) rename {frisson_music => frisson_music_service}/asgi.py (69%) rename {frisson_music => frisson_music_service}/settings.py (95%) rename {frisson_music => frisson_music_service}/urls.py (93%) rename {frisson_music => frisson_music_service}/wsgi.py (69%) diff --git a/albums/admin.py b/frisson_music/admin.py similarity index 100% rename from albums/admin.py rename to frisson_music/admin.py diff --git a/albums/apps.py b/frisson_music/apps.py similarity index 71% rename from albums/apps.py rename to frisson_music/apps.py index cac1437..e3537f7 100644 --- a/albums/apps.py +++ b/frisson_music/apps.py @@ -2,4 +2,4 @@ class AlbumsConfig(AppConfig): - name = 'albums' + name = 'frisson_music' diff --git a/albums/__init__.py b/frisson_music/migrations/__init__.py similarity index 100% rename from albums/__init__.py rename to frisson_music/migrations/__init__.py diff --git a/albums/models.py b/frisson_music/models.py similarity index 100% rename from albums/models.py rename to frisson_music/models.py diff --git a/albums/tests.py b/frisson_music/tests.py similarity index 100% rename from albums/tests.py rename to frisson_music/tests.py diff --git a/albums/views.py b/frisson_music/views.py similarity index 100% rename from albums/views.py rename to frisson_music/views.py diff --git a/albums/migrations/__init__.py b/frisson_music_service/__init__.py similarity index 100% rename from albums/migrations/__init__.py rename to frisson_music_service/__init__.py diff --git a/frisson_music/asgi.py b/frisson_music_service/asgi.py similarity index 69% rename from frisson_music/asgi.py rename to frisson_music_service/asgi.py index 4d6b69a..a9bf70d 100644 --- a/frisson_music/asgi.py +++ b/frisson_music_service/asgi.py @@ -1,5 +1,5 @@ """ -ASGI config for frisson_music project. +ASGI config for frisson_music_service project. It exposes the ASGI callable as a module-level variable named ``application``. @@ -11,6 +11,6 @@ from django.core.asgi import get_asgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music.settings') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings') application = get_asgi_application() diff --git a/frisson_music/settings.py b/frisson_music_service/settings.py similarity index 95% rename from frisson_music/settings.py rename to frisson_music_service/settings.py index a353a51..71c1c84 100644 --- a/frisson_music/settings.py +++ b/frisson_music_service/settings.py @@ -1,5 +1,5 @@ """ -Django settings for frisson_music project. +Django settings for frisson_music_service project. Generated by 'django-admin startproject' using Django 6.0. @@ -37,6 +37,7 @@ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + "frisson_music", ] MIDDLEWARE = [ @@ -67,7 +68,7 @@ }, ] -WSGI_APPLICATION = 'frisson_music.wsgi.application' +WSGI_APPLICATION = 'frisson_music_service.wsgi.application' # Database diff --git a/frisson_music/urls.py b/frisson_music_service/urls.py similarity index 93% rename from frisson_music/urls.py rename to frisson_music_service/urls.py index c9070a9..5d62dc2 100644 --- a/frisson_music/urls.py +++ b/frisson_music_service/urls.py @@ -1,5 +1,5 @@ """ -URL configuration for frisson_music project. +URL configuration for frisson_music_service project. The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/6.0/topics/http/urls/ diff --git a/frisson_music/wsgi.py b/frisson_music_service/wsgi.py similarity index 69% rename from frisson_music/wsgi.py rename to frisson_music_service/wsgi.py index ea64d6e..d4a469a 100644 --- a/frisson_music/wsgi.py +++ b/frisson_music_service/wsgi.py @@ -1,5 +1,5 @@ """ -WSGI config for frisson_music project. +WSGI config for frisson_music_service project. It exposes the WSGI callable as a module-level variable named ``application``. @@ -11,6 +11,6 @@ from django.core.wsgi import get_wsgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music.settings') +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings') application = get_wsgi_application() diff --git a/manage.py b/manage.py index 1bc0a35..132c624 100644 --- a/manage.py +++ b/manage.py @@ -6,7 +6,7 @@ def main(): """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music.settings') + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings') try: from django.core.management import execute_from_command_line except ImportError as exc: From 3d8cc2b069b45d6c075367fc0aedac8754e3147b Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 19 Dec 2025 13:13:21 +0200 Subject: [PATCH 05/82] added base static/ & templates/ --- frisson_music_service/settings.py | 3 + static/assets/css/black-dashboard.css | 20445 ++++++++++++++++ static/assets/css/black-dashboard.css.map | 266 + static/assets/css/black-dashboard.min.css | 24 + static/assets/css/nucleo-icons.css | 550 + static/assets/fonts/nucleo.eot | Bin 0 -> 26524 bytes static/assets/fonts/nucleo.ttf | Bin 0 -> 26364 bytes static/assets/fonts/nucleo.woff | Bin 0 -> 15168 bytes static/assets/fonts/nucleo.woff2 | Bin 0 -> 12616 bytes static/assets/img/12345.png | Bin 0 -> 1682267 bytes static/assets/img/anime3.png | Bin 0 -> 37930 bytes static/assets/img/anime6.png | Bin 0 -> 39891 bytes static/assets/img/apple-icon.png | Bin 0 -> 2446 bytes static/assets/img/bg5.jpg | Bin 0 -> 213199 bytes static/assets/img/default-avatar.png | Bin 0 -> 2864 bytes static/assets/img/emilyz.jpg | Bin 0 -> 86218 bytes static/assets/img/favicon.png | Bin 0 -> 2761 bytes static/assets/img/header.jpg | Bin 0 -> 670266 bytes static/assets/img/img_3115.jpg | Bin 0 -> 38381 bytes static/assets/img/james.jpg | Bin 0 -> 74556 bytes static/assets/img/mike.jpg | Bin 0 -> 76654 bytes static/assets/img/now-logo.png | Bin 0 -> 8172 bytes static/assets/js/black-dashboard.js | 255 + static/assets/js/black-dashboard.js.map | 1 + static/assets/js/black-dashboard.min.js | 2 + static/assets/js/core/bootstrap.min.js | 6 + static/assets/js/core/jquery.min.js | 4 + static/assets/js/core/popper.min.js | 4 + static/assets/js/plugins/bootstrap-notify.js | 432 + static/assets/js/plugins/chartjs.min.js | 10 + .../plugins/perfect-scrollbar.jquery.min.js | 6 + templates/base.html | 40 + templates/includes/footer.html | 7 + templates/includes/navbar.html | 7 + templates/includes/pagination.html | 25 + templates/includes/sidebar.html | 35 + 36 files changed, 22122 insertions(+) create mode 100644 static/assets/css/black-dashboard.css create mode 100644 static/assets/css/black-dashboard.css.map create mode 100644 static/assets/css/black-dashboard.min.css create mode 100644 static/assets/css/nucleo-icons.css create mode 100644 static/assets/fonts/nucleo.eot create mode 100644 static/assets/fonts/nucleo.ttf create mode 100644 static/assets/fonts/nucleo.woff create mode 100644 static/assets/fonts/nucleo.woff2 create mode 100644 static/assets/img/12345.png create mode 100644 static/assets/img/anime3.png create mode 100644 static/assets/img/anime6.png create mode 100644 static/assets/img/apple-icon.png create mode 100644 static/assets/img/bg5.jpg create mode 100644 static/assets/img/default-avatar.png create mode 100644 static/assets/img/emilyz.jpg create mode 100644 static/assets/img/favicon.png create mode 100644 static/assets/img/header.jpg create mode 100644 static/assets/img/img_3115.jpg create mode 100644 static/assets/img/james.jpg create mode 100644 static/assets/img/mike.jpg create mode 100644 static/assets/img/now-logo.png create mode 100644 static/assets/js/black-dashboard.js create mode 100644 static/assets/js/black-dashboard.js.map create mode 100644 static/assets/js/black-dashboard.min.js create mode 100644 static/assets/js/core/bootstrap.min.js create mode 100644 static/assets/js/core/jquery.min.js create mode 100644 static/assets/js/core/popper.min.js create mode 100644 static/assets/js/plugins/bootstrap-notify.js create mode 100644 static/assets/js/plugins/chartjs.min.js create mode 100644 static/assets/js/plugins/perfect-scrollbar.jquery.min.js create mode 100644 templates/base.html create mode 100644 templates/includes/footer.html create mode 100644 templates/includes/navbar.html create mode 100644 templates/includes/pagination.html create mode 100644 templates/includes/sidebar.html diff --git a/frisson_music_service/settings.py b/frisson_music_service/settings.py index 71c1c84..cec92d1 100644 --- a/frisson_music_service/settings.py +++ b/frisson_music_service/settings.py @@ -117,3 +117,6 @@ # https://docs.djangoproject.com/en/6.0/howto/static-files/ STATIC_URL = 'static/' +STATICFILES_DIRS = [ + BASE_DIR / "static", +] diff --git a/static/assets/css/black-dashboard.css b/static/assets/css/black-dashboard.css new file mode 100644 index 0000000..df0f32e --- /dev/null +++ b/static/assets/css/black-dashboard.css @@ -0,0 +1,20445 @@ +/*! + +========================================================= +* Black Dashboard - v1.0.1 +========================================================= + +* Product Page: https://www.creative-tim.com/product/black-dashboard +* Copyright 2019 Creative Tim (https://www.creative-tim.com) + + +* Coded by Creative Tim + +========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +*/ +/* brand Colors */ +/* navbar color */ +:root { + --blue: #5e72e4; + --indigo: #5603ad; + --purple: #8965e0; + --pink: #f3a4b5; + --red: #f5365c; + --orange: #fb6340; + --yellow: #ffd600; + --green: #2dce89; + --teal: #11cdef; + --cyan: #2bffc6; + --white: #ffffff; + --gray: #6c757d; + --gray-dark: #32325d; + --light: #ced4da; + --lighter: #e9ecef; + --primary: #e14eca; + --secondary: #f4f5f7; + --success: #00f2c3; + --info: #1d8cf8; + --warning: #ff8d72; + --danger: #fd5d93; + --light: #adb5bd; + --dark: #212529; + --default: #344675; + --white: #ffffff; + --neutral: #ffffff; + --darker: black; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(34, 42, 66, 0); +} + +article, +aside, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section { + display: block; +} + +body { + margin: 0; + font-family: "Poppins", sans-serif; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.5; + color: #525f7f; + text-align: left; + background-color: #1e1e2f; +} + +[tabindex="-1"]:focus { + outline: 0 !important; +} + +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 600; +} + +dd { + margin-bottom: .5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -.25em; +} + +sup { + top: -.5em; +} + +a { + color: #e14eca; + text-decoration: none; + background-color: transparent; +} + +a:hover { + color: #c221a9; + text-decoration: none; +} + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):hover, +a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; +} + +a:not([href]):not([tabindex]):focus { + outline: 0; +} + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; +} + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; +} + +figure { + margin: 0 0 1rem; +} + +img { + vertical-align: middle; + border-style: none; +} + +svg { + overflow: hidden; + vertical-align: middle; +} + +table { + border-collapse: collapse; +} + +caption { + padding-top: 1rem; + padding-bottom: 1rem; + color: #6c757d; + text-align: left; + caption-side: bottom; +} + +th { + text-align: inherit; +} + +label { + display: inline-block; + margin-bottom: 0.5rem; +} + +button { + border-radius: 0; +} + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +select { + word-wrap: normal; +} + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; +} + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type="radio"], +input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; +} + +progress { + vertical-align: baseline; +} + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; +} + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +summary { + display: list-item; + cursor: pointer; +} + +template { + display: none; +} + +[hidden] { + display: none !important; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + margin-bottom: 0.5rem; + font-family: inherit; + font-weight: 400; + line-height: 1.2; + color: #32325d; +} + +h1, +.h1 { + font-size: 2.0625rem; +} + +h2, +.h2 { + font-size: 1.6875rem; +} + +h3, +.h3 { + font-size: 1.4375rem; +} + +h4, +.h4 { + font-size: 1.0625rem; +} + +h5, +.h5 { + font-size: 0.8125rem; +} + +h6, +.h6 { + font-size: 0.75rem; +} + +.lead { + font-size: 0.78125rem; + font-weight: 300; +} + +.display-1 { + font-size: 3.3rem; + font-weight: 600; + line-height: 1.2; +} + +.display-2 { + font-size: 2.75rem; + font-weight: 600; + line-height: 1.2; +} + +.display-3 { + font-size: 2.1875rem; + font-weight: 600; + line-height: 1.2; +} + +.display-4 { + font-size: 1.6275rem; + font-weight: 600; + line-height: 1.2; +} + +hr { + margin-top: 2rem; + margin-bottom: 2rem; + border: 0; + border-top: 0.0625rem solid rgba(34, 42, 66, 0.1); +} + +small, +.small { + font-size: 80%; + font-weight: 400; +} + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 90%; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 0.9625rem; +} + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; +} + +.blockquote-footer::before { + content: "\2014\00A0"; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #1e1e2f; + border: 0.0625rem solid #e3e3e3; + border-radius: 0.25rem; + box-shadow: 0 1px 2px rgba(34, 42, 66, 0.075); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 90%; + color: #6c757d; +} + +code { + font-size: 87.5%; + color: #f3a4b5; + word-break: break-word; +} + +a>code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #ffffff; + background-color: #212529; + border-radius: 0.2857rem; + box-shadow: inset 0 -0.1rem 0 rgba(34, 42, 66, 0.25); +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 600; + box-shadow: none; +} + +pre { + display: block; + font-size: 87.5%; + color: #212529; +} + +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1140px; + } +} + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.row { + display: flex; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; +} + +.no-gutters>.col, +.no-gutters>[class*="col-"] { + padding-right: 0; + padding-left: 0; +} + +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-10, +.col-11, +.col-12, +.col, +.col-auto, +.col-sm-1, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-sm, +.col-sm-auto, +.col-md-1, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-10, +.col-md-11, +.col-md-12, +.col-md, +.col-md-auto, +.col-lg-1, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-10, +.col-lg-11, +.col-lg-12, +.col-lg, +.col-lg-auto, +.col-xl-1, +.col-xl-2, +.col-xl-3, +.col-xl-4, +.col-xl-5, +.col-xl-6, +.col-xl-7, +.col-xl-8, +.col-xl-9, +.col-xl-10, +.col-xl-11, +.col-xl-12, +.col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; +} + +.col { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; +} + +.col-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; +} + +.col-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; +} + +.col-3 { + flex: 0 0 25%; + max-width: 25%; +} + +.col-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; +} + +.col-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; +} + +.col-6 { + flex: 0 0 50%; + max-width: 50%; +} + +.col-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; +} + +.col-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; +} + +.col-9 { + flex: 0 0 75%; + max-width: 75%; +} + +.col-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; +} + +.col-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; +} + +.col-12 { + flex: 0 0 100%; + max-width: 100%; +} + +.order-first { + order: -1; +} + +.order-last { + order: 13; +} + +.order-0 { + order: 0; +} + +.order-1 { + order: 1; +} + +.order-2 { + order: 2; +} + +.order-3 { + order: 3; +} + +.order-4 { + order: 4; +} + +.order-5 { + order: 5; +} + +.order-6 { + order: 6; +} + +.order-7 { + order: 7; +} + +.order-8 { + order: 8; +} + +.order-9 { + order: 9; +} + +.order-10 { + order: 10; +} + +.order-11 { + order: 11; +} + +.order-12 { + order: 12; +} + +.offset-1 { + margin-left: 8.333333%; +} + +.offset-2 { + margin-left: 16.666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.333333%; +} + +.offset-5 { + margin-left: 41.666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.333333%; +} + +.offset-8 { + margin-left: 66.666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.333333%; +} + +.offset-11 { + margin-left: 91.666667%; +} + +@media (min-width: 576px) { + .col-sm { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-sm-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-sm-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-sm-3 { + flex: 0 0 25%; + max-width: 25%; + } + + .col-sm-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-sm-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-sm-6 { + flex: 0 0 50%; + max-width: 50%; + } + + .col-sm-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-sm-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-sm-9 { + flex: 0 0 75%; + max-width: 75%; + } + + .col-sm-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-sm-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-sm-12 { + flex: 0 0 100%; + max-width: 100%; + } + + .order-sm-first { + order: -1; + } + + .order-sm-last { + order: 13; + } + + .order-sm-0 { + order: 0; + } + + .order-sm-1 { + order: 1; + } + + .order-sm-2 { + order: 2; + } + + .order-sm-3 { + order: 3; + } + + .order-sm-4 { + order: 4; + } + + .order-sm-5 { + order: 5; + } + + .order-sm-6 { + order: 6; + } + + .order-sm-7 { + order: 7; + } + + .order-sm-8 { + order: 8; + } + + .order-sm-9 { + order: 9; + } + + .order-sm-10 { + order: 10; + } + + .order-sm-11 { + order: 11; + } + + .order-sm-12 { + order: 12; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.333333%; + } + + .offset-sm-2 { + margin-left: 16.666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.333333%; + } + + .offset-sm-5 { + margin-left: 41.666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.333333%; + } + + .offset-sm-8 { + margin-left: 66.666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.333333%; + } + + .offset-sm-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 768px) { + .col-md { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-md-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-md-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-md-3 { + flex: 0 0 25%; + max-width: 25%; + } + + .col-md-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-md-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-md-6 { + flex: 0 0 50%; + max-width: 50%; + } + + .col-md-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-md-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-md-9 { + flex: 0 0 75%; + max-width: 75%; + } + + .col-md-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-md-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-md-12 { + flex: 0 0 100%; + max-width: 100%; + } + + .order-md-first { + order: -1; + } + + .order-md-last { + order: 13; + } + + .order-md-0 { + order: 0; + } + + .order-md-1 { + order: 1; + } + + .order-md-2 { + order: 2; + } + + .order-md-3 { + order: 3; + } + + .order-md-4 { + order: 4; + } + + .order-md-5 { + order: 5; + } + + .order-md-6 { + order: 6; + } + + .order-md-7 { + order: 7; + } + + .order-md-8 { + order: 8; + } + + .order-md-9 { + order: 9; + } + + .order-md-10 { + order: 10; + } + + .order-md-11 { + order: 11; + } + + .order-md-12 { + order: 12; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.333333%; + } + + .offset-md-2 { + margin-left: 16.666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.333333%; + } + + .offset-md-5 { + margin-left: 41.666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.333333%; + } + + .offset-md-8 { + margin-left: 66.666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.333333%; + } + + .offset-md-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 992px) { + .col-lg { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-lg-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-lg-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-lg-3 { + flex: 0 0 25%; + max-width: 25%; + } + + .col-lg-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-lg-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-lg-6 { + flex: 0 0 50%; + max-width: 50%; + } + + .col-lg-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-lg-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-lg-9 { + flex: 0 0 75%; + max-width: 75%; + } + + .col-lg-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-lg-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-lg-12 { + flex: 0 0 100%; + max-width: 100%; + } + + .order-lg-first { + order: -1; + } + + .order-lg-last { + order: 13; + } + + .order-lg-0 { + order: 0; + } + + .order-lg-1 { + order: 1; + } + + .order-lg-2 { + order: 2; + } + + .order-lg-3 { + order: 3; + } + + .order-lg-4 { + order: 4; + } + + .order-lg-5 { + order: 5; + } + + .order-lg-6 { + order: 6; + } + + .order-lg-7 { + order: 7; + } + + .order-lg-8 { + order: 8; + } + + .order-lg-9 { + order: 9; + } + + .order-lg-10 { + order: 10; + } + + .order-lg-11 { + order: 11; + } + + .order-lg-12 { + order: 12; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.333333%; + } + + .offset-lg-2 { + margin-left: 16.666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.333333%; + } + + .offset-lg-5 { + margin-left: 41.666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.333333%; + } + + .offset-lg-8 { + margin-left: 66.666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.333333%; + } + + .offset-lg-11 { + margin-left: 91.666667%; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + max-width: 100%; + } + + .col-xl-1 { + flex: 0 0 8.333333%; + max-width: 8.333333%; + } + + .col-xl-2 { + flex: 0 0 16.666667%; + max-width: 16.666667%; + } + + .col-xl-3 { + flex: 0 0 25%; + max-width: 25%; + } + + .col-xl-4 { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } + + .col-xl-5 { + flex: 0 0 41.666667%; + max-width: 41.666667%; + } + + .col-xl-6 { + flex: 0 0 50%; + max-width: 50%; + } + + .col-xl-7 { + flex: 0 0 58.333333%; + max-width: 58.333333%; + } + + .col-xl-8 { + flex: 0 0 66.666667%; + max-width: 66.666667%; + } + + .col-xl-9 { + flex: 0 0 75%; + max-width: 75%; + } + + .col-xl-10 { + flex: 0 0 83.333333%; + max-width: 83.333333%; + } + + .col-xl-11 { + flex: 0 0 91.666667%; + max-width: 91.666667%; + } + + .col-xl-12 { + flex: 0 0 100%; + max-width: 100%; + } + + .order-xl-first { + order: -1; + } + + .order-xl-last { + order: 13; + } + + .order-xl-0 { + order: 0; + } + + .order-xl-1 { + order: 1; + } + + .order-xl-2 { + order: 2; + } + + .order-xl-3 { + order: 3; + } + + .order-xl-4 { + order: 4; + } + + .order-xl-5 { + order: 5; + } + + .order-xl-6 { + order: 6; + } + + .order-xl-7 { + order: 7; + } + + .order-xl-8 { + order: 8; + } + + .order-xl-9 { + order: 9; + } + + .order-xl-10 { + order: 10; + } + + .order-xl-11 { + order: 11; + } + + .order-xl-12 { + order: 12; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.333333%; + } + + .offset-xl-2 { + margin-left: 16.666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.333333%; + } + + .offset-xl-5 { + margin-left: 41.666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.333333%; + } + + .offset-xl-8 { + margin-left: 66.666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.333333%; + } + + .offset-xl-11 { + margin-left: 91.666667%; + } +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #525f7f; + background-color: transparent; +} + +.table th, +.table td { + padding: 1rem; + vertical-align: top; + border-top: 0.0625rem solid #e3e3e3; +} + +.table thead th { + vertical-align: bottom; + border-bottom: 0.125rem solid #e3e3e3; +} + +.table tbody+tbody { + border-top: 0.125rem solid #e3e3e3; +} + +.table-sm th, +.table-sm td { + padding: 0.3rem; +} + +.table-bordered { + border: 0.0625rem solid #e3e3e3; +} + +.table-bordered th, +.table-bordered td { + border: 0.0625rem solid #e3e3e3; +} + +.table-bordered thead th, +.table-bordered thead td { + border-bottom-width: 0.125rem; +} + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody+tbody { + border: 0; +} + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(34, 42, 66, 0.05); +} + +.table-hover tbody tr:hover { + color: #525f7f; + background-color: rgba(34, 42, 66, 0.075); +} + +.table-primary, +.table-primary>th, +.table-primary>td { + background-color: #f7cdf0; +} + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody+tbody { + border-color: #efa3e3; +} + +.table-hover .table-primary:hover { + background-color: #f3b7e9; +} + +.table-hover .table-primary:hover>td, +.table-hover .table-primary:hover>th { + background-color: #f3b7e9; +} + +.table-secondary, +.table-secondary>th, +.table-secondary>td { + background-color: #fcfcfd; +} + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody+tbody { + border-color: #f9fafb; +} + +.table-hover .table-secondary:hover { + background-color: #ededf3; +} + +.table-hover .table-secondary:hover>td, +.table-hover .table-secondary:hover>th { + background-color: #ededf3; +} + +.table-success, +.table-success>th, +.table-success>td { + background-color: #b8fbee; +} + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody+tbody { + border-color: #7af8e0; +} + +.table-hover .table-success:hover { + background-color: #a0fae8; +} + +.table-hover .table-success:hover>td, +.table-hover .table-success:hover>th { + background-color: #a0fae8; +} + +.table-info, +.table-info>th, +.table-info>td { + background-color: #c0dffd; +} + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody+tbody { + border-color: #89c3fb; +} + +.table-hover .table-info:hover { + background-color: #a7d2fc; +} + +.table-hover .table-info:hover>td, +.table-hover .table-info:hover>th { + background-color: #a7d2fc; +} + +.table-warning, +.table-warning>th, +.table-warning>td { + background-color: #ffdfd8; +} + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody+tbody { + border-color: #ffc4b6; +} + +.table-hover .table-warning:hover { + background-color: #ffcabf; +} + +.table-hover .table-warning:hover>td, +.table-hover .table-warning:hover>th { + background-color: #ffcabf; +} + +.table-danger, +.table-danger>th, +.table-danger>td { + background-color: #fed2e1; +} + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody+tbody { + border-color: #feabc7; +} + +.table-hover .table-danger:hover { + background-color: #fdb9d0; +} + +.table-hover .table-danger:hover>td, +.table-hover .table-danger:hover>th { + background-color: #fdb9d0; +} + +.table-light, +.table-light>th, +.table-light>td { + background-color: #e8eaed; +} + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody+tbody { + border-color: #d4d9dd; +} + +.table-hover .table-light:hover { + background-color: #dadde2; +} + +.table-hover .table-light:hover>td, +.table-hover .table-light:hover>th { + background-color: #dadde2; +} + +.table-dark, +.table-dark>th, +.table-dark>td { + background-color: #c1c2c3; +} + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody+tbody { + border-color: #8c8e90; +} + +.table-hover .table-dark:hover { + background-color: #b4b5b6; +} + +.table-hover .table-dark:hover>td, +.table-hover .table-dark:hover>th { + background-color: #b4b5b6; +} + +.table-default, +.table-default>th, +.table-default>td { + background-color: #c6cbd8; +} + +.table-default th, +.table-default td, +.table-default thead th, +.table-default tbody+tbody { + border-color: #959fb7; +} + +.table-hover .table-default:hover { + background-color: #b7bdce; +} + +.table-hover .table-default:hover>td, +.table-hover .table-default:hover>th { + background-color: #b7bdce; +} + +.table-white, +.table-white>th, +.table-white>td { + background-color: white; +} + +.table-white th, +.table-white td, +.table-white thead th, +.table-white tbody+tbody { + border-color: white; +} + +.table-hover .table-white:hover { + background-color: #f2f2f2; +} + +.table-hover .table-white:hover>td, +.table-hover .table-white:hover>th { + background-color: #f2f2f2; +} + +.table-neutral, +.table-neutral>th, +.table-neutral>td { + background-color: white; +} + +.table-neutral th, +.table-neutral td, +.table-neutral thead th, +.table-neutral tbody+tbody { + border-color: white; +} + +.table-hover .table-neutral:hover { + background-color: #f2f2f2; +} + +.table-hover .table-neutral:hover>td, +.table-hover .table-neutral:hover>th { + background-color: #f2f2f2; +} + +.table-darker, +.table-darker>th, +.table-darker>td { + background-color: #b8b8b8; +} + +.table-darker th, +.table-darker td, +.table-darker thead th, +.table-darker tbody+tbody { + border-color: #7a7a7a; +} + +.table-hover .table-darker:hover { + background-color: #ababab; +} + +.table-hover .table-darker:hover>td, +.table-hover .table-darker:hover>th { + background-color: #ababab; +} + +.table-active, +.table-active>th, +.table-active>td { + background-color: rgba(34, 42, 66, 0.075); +} + +.table-hover .table-active:hover { + background-color: rgba(25, 31, 49, 0.075); +} + +.table-hover .table-active:hover>td, +.table-hover .table-active:hover>th { + background-color: rgba(25, 31, 49, 0.075); +} + +.table .thead-dark th { + color: #1e1e2f; + background-color: #212529; + border-color: #32383e; +} + +.table .thead-light th { + color: #525f7f; + background-color: #e9ecef; + border-color: #e3e3e3; +} + +.table-dark { + color: #1e1e2f; + background-color: #212529; +} + +.table-dark th, +.table-dark td, +.table-dark thead th { + border-color: #32383e; +} + +.table-dark.table-bordered { + border: 0; +} + +.table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); +} + +.table-dark.table-hover tbody tr:hover { + color: #1e1e2f; + background-color: rgba(255, 255, 255, 0.075); +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-sm>.table-bordered { + border: 0; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-md>.table-bordered { + border: 0; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-lg>.table-bordered { + border: 0; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } + + .table-responsive-xl>.table-bordered { + border: 0; + } +} + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +.table-responsive>.table-bordered { + border: 0; +} + +.form-control { + display: block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.5rem 0.7rem; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.428571; + color: rgba(255, 255, 255, 0.8); + background-color: transparent; + background-clip: padding-box; + border: 1px solid #cad1d7; + border-radius: 0.25rem; + box-shadow: none; + transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55); +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control::-ms-expand { + background-color: transparent; + border: 0; +} + +.form-control:focus { + color: rgba(255, 255, 255, 0.8); + background-color: #ffffff; + border-color: rgba(50, 151, 211, 0.25); + outline: 0; + box-shadow: none, none; +} + +.form-control::placeholder { + color: #adb5bd; + opacity: 1; +} + +.form-control:disabled, +.form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +select.form-control:focus::-ms-value { + color: rgba(255, 255, 255, 0.8); + background-color: transparent; +} + +.form-control-file, +.form-control-range { + display: block; + width: 100%; +} + +.col-form-label { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.428571; +} + +.col-form-label-lg { + padding-top: calc(0.875rem + 1px); + padding-bottom: calc(0.875rem + 1px); + font-size: 0.875rem; + line-height: 1.35; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.75rem; + line-height: 1.35; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.5rem; + padding-bottom: 0.5rem; + margin-bottom: 0; + line-height: 1.428571; + color: #525f7f; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} + +.form-control-plaintext.form-control-sm, +.form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + height: calc(1.35em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.75rem; + line-height: 1.35; + border-radius: 0.2857rem; +} + +.form-control-lg { + height: calc(1.35em + 1.75rem + 2px); + padding: 0.875rem 1rem; + font-size: 0.875rem; + line-height: 1.35; + border-radius: 0.4285rem; +} + +select.form-control[size], +select.form-control[multiple] { + height: auto; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 1rem; +} + +.form-text { + display: block; + margin-top: 0.25rem; +} + +.form-row { + display: flex; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; +} + +.form-row>.col, +.form-row>[class*="col-"] { + padding-right: 5px; + padding-left: 5px; +} + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; +} + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; +} + +.form-check-input:disabled~.form-check-label { + color: #6c757d; +} + +.form-check-label { + margin-bottom: 0; +} + +.form-check-inline { + display: inline-flex; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; +} + +.form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #00f2c3; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.75rem; + line-height: 1.5; + color: #ffffff; + background-color: rgba(0, 242, 195, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:valid, +.form-control.is-valid { + border-color: #00f2c3; + padding-right: 2.25rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300f2c3' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.357143em + 0.25rem); + background-size: calc(0.714286em + 0.5rem) calc(0.714286em + 0.5rem); +} + +.was-validated .form-control:valid:focus, +.form-control.is-valid:focus { + border-color: #00f2c3; + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.25); +} + +.was-validated .form-control:valid~.valid-feedback, +.was-validated .form-control:valid~.valid-tooltip, +.form-control.is-valid~.valid-feedback, +.form-control.is-valid~.valid-tooltip { + display: block; +} + +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: 2.25rem; + background-position: top calc(0.357143em + 0.25rem) right calc(0.357143em + 0.25rem); +} + +.was-validated .custom-select:valid, +.custom-select.is-valid { + border-color: #00f2c3; + padding-right: calc((1em + 1rem) * 3 / 4 + 1.7rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%2332325d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.7rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300f2c3' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") transparent no-repeat center right 1.7rem/calc(0.714286em + 0.5rem) calc(0.714286em + 0.5rem); +} + +.was-validated .custom-select:valid:focus, +.custom-select.is-valid:focus { + border-color: #00f2c3; + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.25); +} + +.was-validated .custom-select:valid~.valid-feedback, +.was-validated .custom-select:valid~.valid-tooltip, +.custom-select.is-valid~.valid-feedback, +.custom-select.is-valid~.valid-tooltip { + display: block; +} + +.was-validated .form-control-file:valid~.valid-feedback, +.was-validated .form-control-file:valid~.valid-tooltip, +.form-control-file.is-valid~.valid-feedback, +.form-control-file.is-valid~.valid-tooltip { + display: block; +} + +.was-validated .form-check-input:valid~.form-check-label, +.form-check-input.is-valid~.form-check-label { + color: #00f2c3; +} + +.was-validated .form-check-input:valid~.valid-feedback, +.was-validated .form-check-input:valid~.valid-tooltip, +.form-check-input.is-valid~.valid-feedback, +.form-check-input.is-valid~.valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid~.custom-control-label, +.custom-control-input.is-valid~.custom-control-label { + color: #00f2c3; +} + +.was-validated .custom-control-input:valid~.custom-control-label::before, +.custom-control-input.is-valid~.custom-control-label::before { + border-color: #00f2c3; +} + +.was-validated .custom-control-input:valid~.valid-feedback, +.was-validated .custom-control-input:valid~.valid-tooltip, +.custom-control-input.is-valid~.valid-feedback, +.custom-control-input.is-valid~.valid-tooltip { + display: block; +} + +.was-validated .custom-control-input:valid:checked~.custom-control-label::before, +.custom-control-input.is-valid:checked~.custom-control-label::before { + border-color: #26ffd5; + background-color: #26ffd5; +} + +.was-validated .custom-control-input:valid:focus~.custom-control-label::before, +.custom-control-input.is-valid:focus~.custom-control-label::before { + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.25); +} + +.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before, +.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before { + border-color: #00f2c3; +} + +.was-validated .custom-file-input:valid~.custom-file-label, +.custom-file-input.is-valid~.custom-file-label { + border-color: #00f2c3; +} + +.was-validated .custom-file-input:valid~.valid-feedback, +.was-validated .custom-file-input:valid~.valid-tooltip, +.custom-file-input.is-valid~.valid-feedback, +.custom-file-input.is-valid~.valid-tooltip { + display: block; +} + +.was-validated .custom-file-input:valid:focus~.custom-file-label, +.custom-file-input.is-valid:focus~.custom-file-label { + border-color: #00f2c3; + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.25); +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #ff8d72; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.75rem; + line-height: 1.5; + color: #ffffff; + background-color: rgba(255, 141, 114, 0.9); + border-radius: 0.25rem; +} + +.was-validated .form-control:invalid, +.form-control.is-invalid { + border-color: #ff8d72; + padding-right: 2.25rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ff8d72' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23ff8d72' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.357143em + 0.25rem); + background-size: calc(0.714286em + 0.5rem) calc(0.714286em + 0.5rem); +} + +.was-validated .form-control:invalid:focus, +.form-control.is-invalid:focus { + border-color: #ff8d72; + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.25); +} + +.was-validated .form-control:invalid~.invalid-feedback, +.was-validated .form-control:invalid~.invalid-tooltip, +.form-control.is-invalid~.invalid-feedback, +.form-control.is-invalid~.invalid-tooltip { + display: block; +} + +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: 2.25rem; + background-position: top calc(0.357143em + 0.25rem) right calc(0.357143em + 0.25rem); +} + +.was-validated .custom-select:invalid, +.custom-select.is-invalid { + border-color: #ff8d72; + padding-right: calc((1em + 1rem) * 3 / 4 + 1.7rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%2332325d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.7rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ff8d72' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23ff8d72' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") transparent no-repeat center right 1.7rem/calc(0.714286em + 0.5rem) calc(0.714286em + 0.5rem); +} + +.was-validated .custom-select:invalid:focus, +.custom-select.is-invalid:focus { + border-color: #ff8d72; + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.25); +} + +.was-validated .custom-select:invalid~.invalid-feedback, +.was-validated .custom-select:invalid~.invalid-tooltip, +.custom-select.is-invalid~.invalid-feedback, +.custom-select.is-invalid~.invalid-tooltip { + display: block; +} + +.was-validated .form-control-file:invalid~.invalid-feedback, +.was-validated .form-control-file:invalid~.invalid-tooltip, +.form-control-file.is-invalid~.invalid-feedback, +.form-control-file.is-invalid~.invalid-tooltip { + display: block; +} + +.was-validated .form-check-input:invalid~.form-check-label, +.form-check-input.is-invalid~.form-check-label { + color: #ff8d72; +} + +.was-validated .form-check-input:invalid~.invalid-feedback, +.was-validated .form-check-input:invalid~.invalid-tooltip, +.form-check-input.is-invalid~.invalid-feedback, +.form-check-input.is-invalid~.invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid~.custom-control-label, +.custom-control-input.is-invalid~.custom-control-label { + color: #ff8d72; +} + +.was-validated .custom-control-input:invalid~.custom-control-label::before, +.custom-control-input.is-invalid~.custom-control-label::before { + border-color: #ff8d72; +} + +.was-validated .custom-control-input:invalid~.invalid-feedback, +.was-validated .custom-control-input:invalid~.invalid-tooltip, +.custom-control-input.is-invalid~.invalid-feedback, +.custom-control-input.is-invalid~.invalid-tooltip { + display: block; +} + +.was-validated .custom-control-input:invalid:checked~.custom-control-label::before, +.custom-control-input.is-invalid:checked~.custom-control-label::before { + border-color: #ffb6a5; + background-color: #ffb6a5; +} + +.was-validated .custom-control-input:invalid:focus~.custom-control-label::before, +.custom-control-input.is-invalid:focus~.custom-control-label::before { + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.25); +} + +.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before, +.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before { + border-color: #ff8d72; +} + +.was-validated .custom-file-input:invalid~.custom-file-label, +.custom-file-input.is-invalid~.custom-file-label { + border-color: #ff8d72; +} + +.was-validated .custom-file-input:invalid~.invalid-feedback, +.was-validated .custom-file-input:invalid~.invalid-tooltip, +.custom-file-input.is-invalid~.invalid-feedback, +.custom-file-input.is-invalid~.invalid-tooltip { + display: block; +} + +.was-validated .custom-file-input:invalid:focus~.custom-file-label, +.custom-file-input.is-invalid:focus~.custom-file-label { + border-color: #ff8d72; + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.25); +} + +.form-inline { + display: flex; + flex-flow: row wrap; + align-items: center; +} + +.form-inline .form-check { + width: 100%; +} + +@media (min-width: 576px) { + .form-inline label { + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 0; + } + + .form-inline .form-group { + display: flex; + flex: 0 0 auto; + flex-flow: row wrap; + align-items: center; + margin-bottom: 0; + } + + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + + .form-inline .form-control-plaintext { + display: inline-block; + } + + .form-inline .input-group, + .form-inline .custom-select { + width: auto; + } + + .form-inline .form-check { + display: flex; + align-items: center; + justify-content: center; + width: auto; + padding-left: 0; + } + + .form-inline .form-check-input { + position: relative; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; + } + + .form-inline .custom-control { + align-items: center; + justify-content: center; + } + + .form-inline .custom-control-label { + margin-bottom: 0; + } +} + +.btn { + display: inline-block; + font-weight: 600; + color: #525f7f; + text-align: center; + vertical-align: middle; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 11px 40px; + font-size: 0.875rem; + line-height: 1.35em; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #525f7f; + text-decoration: none; +} + +.btn:focus, +.btn.focus { + outline: 0; + box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); +} + +.btn.disabled, +.btn:disabled { + opacity: 0.65; + box-shadow: none; +} + +.btn:not(:disabled):not(.disabled):active, +.btn:not(:disabled):not(.disabled).active { + box-shadow: none; +} + +.btn:not(:disabled):not(.disabled):active:focus, +.btn:not(:disabled):not(.disabled).active:focus { + box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08); +} + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; +} + +.btn-primary { + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-primary:hover { + color: #ffffff; + background-color: #db2dc0; + border-color: #d725bb; +} + +.btn-primary:focus, +.btn-primary.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(230, 105, 210, 0.5); +} + +.btn-primary.disabled, +.btn-primary:disabled { + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; +} + +.btn-primary:not(:disabled):not(.disabled):active, +.btn-primary:not(:disabled):not(.disabled).active, +.show>.btn-primary.dropdown-toggle { + color: #ffffff; + background-color: #d725bb; + border-color: #cd23b2; +} + +.btn-primary:not(:disabled):not(.disabled):active:focus, +.btn-primary:not(:disabled):not(.disabled).active:focus, +.show>.btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(230, 105, 210, 0.5); +} + +.btn-secondary { + color: #212529; + background-color: #f4f5f7; + border-color: #f4f5f7; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-secondary:hover { + color: #212529; + background-color: #dee1e7; + border-color: #d6dae2; +} + +.btn-secondary:focus, +.btn-secondary.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(212, 214, 216, 0.5); +} + +.btn-secondary.disabled, +.btn-secondary:disabled { + color: #212529; + background-color: #f4f5f7; + border-color: #f4f5f7; +} + +.btn-secondary:not(:disabled):not(.disabled):active, +.btn-secondary:not(:disabled):not(.disabled).active, +.show>.btn-secondary.dropdown-toggle { + color: #212529; + background-color: #d6dae2; + border-color: #cfd3dc; +} + +.btn-secondary:not(:disabled):not(.disabled):active:focus, +.btn-secondary:not(:disabled):not(.disabled).active:focus, +.show>.btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(212, 214, 216, 0.5); +} + +.btn-success { + color: #ffffff; + background-color: #00f2c3; + border-color: #00f2c3; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-success:hover { + color: #ffffff; + background-color: #00cca4; + border-color: #00bf9a; +} + +.btn-success:focus, +.btn-success.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(38, 244, 204, 0.5); +} + +.btn-success.disabled, +.btn-success:disabled { + color: #ffffff; + background-color: #00f2c3; + border-color: #00f2c3; +} + +.btn-success:not(:disabled):not(.disabled):active, +.btn-success:not(:disabled):not(.disabled).active, +.show>.btn-success.dropdown-toggle { + color: #ffffff; + background-color: #00bf9a; + border-color: #00b290; +} + +.btn-success:not(:disabled):not(.disabled):active:focus, +.btn-success:not(:disabled):not(.disabled).active:focus, +.show>.btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(38, 244, 204, 0.5); +} + +.btn-info { + color: #ffffff; + background-color: #1d8cf8; + border-color: #1d8cf8; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-info:hover { + color: #ffffff; + background-color: #0779e8; + border-color: #0772db; +} + +.btn-info:focus, +.btn-info.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(63, 157, 249, 0.5); +} + +.btn-info.disabled, +.btn-info:disabled { + color: #ffffff; + background-color: #1d8cf8; + border-color: #1d8cf8; +} + +.btn-info:not(:disabled):not(.disabled):active, +.btn-info:not(:disabled):not(.disabled).active, +.show>.btn-info.dropdown-toggle { + color: #ffffff; + background-color: #0772db; + border-color: #066ccf; +} + +.btn-info:not(:disabled):not(.disabled):active:focus, +.btn-info:not(:disabled):not(.disabled).active:focus, +.show>.btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(63, 157, 249, 0.5); +} + +.btn-warning { + color: #ffffff; + background-color: #ff8d72; + border-color: #ff8d72; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-warning:hover { + color: #ffffff; + background-color: #ff6e4c; + border-color: #ff643f; +} + +.btn-warning:focus, +.btn-warning.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(255, 158, 135, 0.5); +} + +.btn-warning.disabled, +.btn-warning:disabled { + color: #ffffff; + background-color: #ff8d72; + border-color: #ff8d72; +} + +.btn-warning:not(:disabled):not(.disabled):active, +.btn-warning:not(:disabled):not(.disabled).active, +.show>.btn-warning.dropdown-toggle { + color: #ffffff; + background-color: #ff643f; + border-color: #ff5932; +} + +.btn-warning:not(:disabled):not(.disabled):active:focus, +.btn-warning:not(:disabled):not(.disabled).active:focus, +.show>.btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(255, 158, 135, 0.5); +} + +.btn-danger { + color: #ffffff; + background-color: #fd5d93; + border-color: #fd5d93; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-danger:hover { + color: #ffffff; + background-color: #fd377a; + border-color: #fc2b71; +} + +.btn-danger:focus, +.btn-danger.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(253, 117, 163, 0.5); +} + +.btn-danger.disabled, +.btn-danger:disabled { + color: #ffffff; + background-color: #fd5d93; + border-color: #fd5d93; +} + +.btn-danger:not(:disabled):not(.disabled):active, +.btn-danger:not(:disabled):not(.disabled).active, +.show>.btn-danger.dropdown-toggle { + color: #ffffff; + background-color: #fc2b71; + border-color: #fc1e69; +} + +.btn-danger:not(:disabled):not(.disabled):active:focus, +.btn-danger:not(:disabled):not(.disabled).active:focus, +.show>.btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(253, 117, 163, 0.5); +} + +.btn-light { + color: #ffffff; + background-color: #adb5bd; + border-color: #adb5bd; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-light:hover { + color: #ffffff; + background-color: #98a2ac; + border-color: #919ca6; +} + +.btn-light:focus, +.btn-light.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(185, 192, 199, 0.5); +} + +.btn-light.disabled, +.btn-light:disabled { + color: #ffffff; + background-color: #adb5bd; + border-color: #adb5bd; +} + +.btn-light:not(:disabled):not(.disabled):active, +.btn-light:not(:disabled):not(.disabled).active, +.show>.btn-light.dropdown-toggle { + color: #ffffff; + background-color: #919ca6; + border-color: #8a95a1; +} + +.btn-light:not(:disabled):not(.disabled):active:focus, +.btn-light:not(:disabled):not(.disabled).active:focus, +.show>.btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(185, 192, 199, 0.5); +} + +.btn-dark { + color: #ffffff; + background-color: #212529; + border-color: #212529; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-dark:hover { + color: #ffffff; + background-color: #101214; + border-color: #0a0c0d; +} + +.btn-dark:focus, +.btn-dark.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(66, 70, 73, 0.5); +} + +.btn-dark.disabled, +.btn-dark:disabled { + color: #ffffff; + background-color: #212529; + border-color: #212529; +} + +.btn-dark:not(:disabled):not(.disabled):active, +.btn-dark:not(:disabled):not(.disabled).active, +.show>.btn-dark.dropdown-toggle { + color: #ffffff; + background-color: #0a0c0d; + border-color: #050506; +} + +.btn-dark:not(:disabled):not(.disabled):active:focus, +.btn-dark:not(:disabled):not(.disabled).active:focus, +.show>.btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(66, 70, 73, 0.5); +} + +.btn-default { + color: #ffffff; + background-color: #344675; + border-color: #344675; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-default:hover { + color: #ffffff; + background-color: #28365b; + border-color: #243152; +} + +.btn-default:focus, +.btn-default.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(82, 98, 138, 0.5); +} + +.btn-default.disabled, +.btn-default:disabled { + color: #ffffff; + background-color: #344675; + border-color: #344675; +} + +.btn-default:not(:disabled):not(.disabled):active, +.btn-default:not(:disabled):not(.disabled).active, +.show>.btn-default.dropdown-toggle { + color: #ffffff; + background-color: #243152; + border-color: #202c49; +} + +.btn-default:not(:disabled):not(.disabled):active:focus, +.btn-default:not(:disabled):not(.disabled).active:focus, +.show>.btn-default.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(82, 98, 138, 0.5); +} + +.btn-white { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-white:hover { + color: #212529; + background-color: #ececec; + border-color: #e6e6e6; +} + +.btn-white:focus, +.btn-white.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(222, 222, 223, 0.5); +} + +.btn-white.disabled, +.btn-white:disabled { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-white:not(:disabled):not(.disabled):active, +.btn-white:not(:disabled):not(.disabled).active, +.show>.btn-white.dropdown-toggle { + color: #212529; + background-color: #e6e6e6; + border-color: #dfdfdf; +} + +.btn-white:not(:disabled):not(.disabled):active:focus, +.btn-white:not(:disabled):not(.disabled).active:focus, +.show>.btn-white.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(222, 222, 223, 0.5); +} + +.btn-neutral { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-neutral:hover { + color: #212529; + background-color: #ececec; + border-color: #e6e6e6; +} + +.btn-neutral:focus, +.btn-neutral.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(222, 222, 223, 0.5); +} + +.btn-neutral.disabled, +.btn-neutral:disabled { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-neutral:not(:disabled):not(.disabled):active, +.btn-neutral:not(:disabled):not(.disabled).active, +.show>.btn-neutral.dropdown-toggle { + color: #212529; + background-color: #e6e6e6; + border-color: #dfdfdf; +} + +.btn-neutral:not(:disabled):not(.disabled):active:focus, +.btn-neutral:not(:disabled):not(.disabled).active:focus, +.show>.btn-neutral.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(222, 222, 223, 0.5); +} + +.btn-darker { + color: #ffffff; + background-color: black; + border-color: black; + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.btn-darker:hover { + color: #ffffff; + background-color: black; + border-color: black; +} + +.btn-darker:focus, +.btn-darker.focus { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08), 0 0 0 0 rgba(38, 38, 38, 0.5); +} + +.btn-darker.disabled, +.btn-darker:disabled { + color: #ffffff; + background-color: black; + border-color: black; +} + +.btn-darker:not(:disabled):not(.disabled):active, +.btn-darker:not(:disabled):not(.disabled).active, +.show>.btn-darker.dropdown-toggle { + color: #ffffff; + background-color: black; + border-color: black; +} + +.btn-darker:not(:disabled):not(.disabled):active:focus, +.btn-darker:not(:disabled):not(.disabled).active:focus, +.show>.btn-darker.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(38, 38, 38, 0.5); +} + +.btn-outline-primary { + color: #e14eca; + border-color: #e14eca; +} + +.btn-outline-primary:hover { + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; +} + +.btn-outline-primary:focus, +.btn-outline-primary.focus { + box-shadow: 0 0 0 0 rgba(225, 78, 202, 0.5); +} + +.btn-outline-primary.disabled, +.btn-outline-primary:disabled { + color: #e14eca; + background-color: transparent; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active, +.btn-outline-primary:not(:disabled):not(.disabled).active, +.show>.btn-outline-primary.dropdown-toggle { + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; +} + +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, +.btn-outline-primary:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(225, 78, 202, 0.5); +} + +.btn-outline-secondary { + color: #f4f5f7; + border-color: #f4f5f7; +} + +.btn-outline-secondary:hover { + color: #212529; + background-color: #f4f5f7; + border-color: #f4f5f7; +} + +.btn-outline-secondary:focus, +.btn-outline-secondary.focus { + box-shadow: 0 0 0 0 rgba(244, 245, 247, 0.5); +} + +.btn-outline-secondary.disabled, +.btn-outline-secondary:disabled { + color: #f4f5f7; + background-color: transparent; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active, +.btn-outline-secondary:not(:disabled):not(.disabled).active, +.show>.btn-outline-secondary.dropdown-toggle { + color: #212529; + background-color: #f4f5f7; + border-color: #f4f5f7; +} + +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, +.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(244, 245, 247, 0.5); +} + +.btn-outline-success { + color: #00f2c3; + border-color: #00f2c3; +} + +.btn-outline-success:hover { + color: #ffffff; + background-color: #00f2c3; + border-color: #00f2c3; +} + +.btn-outline-success:focus, +.btn-outline-success.focus { + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.5); +} + +.btn-outline-success.disabled, +.btn-outline-success:disabled { + color: #00f2c3; + background-color: transparent; +} + +.btn-outline-success:not(:disabled):not(.disabled):active, +.btn-outline-success:not(:disabled):not(.disabled).active, +.show>.btn-outline-success.dropdown-toggle { + color: #ffffff; + background-color: #00f2c3; + border-color: #00f2c3; +} + +.btn-outline-success:not(:disabled):not(.disabled):active:focus, +.btn-outline-success:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.5); +} + +.btn-outline-info { + color: #1d8cf8; + border-color: #1d8cf8; +} + +.btn-outline-info:hover { + color: #ffffff; + background-color: #1d8cf8; + border-color: #1d8cf8; +} + +.btn-outline-info:focus, +.btn-outline-info.focus { + box-shadow: 0 0 0 0 rgba(29, 140, 248, 0.5); +} + +.btn-outline-info.disabled, +.btn-outline-info:disabled { + color: #1d8cf8; + background-color: transparent; +} + +.btn-outline-info:not(:disabled):not(.disabled):active, +.btn-outline-info:not(:disabled):not(.disabled).active, +.show>.btn-outline-info.dropdown-toggle { + color: #ffffff; + background-color: #1d8cf8; + border-color: #1d8cf8; +} + +.btn-outline-info:not(:disabled):not(.disabled):active:focus, +.btn-outline-info:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(29, 140, 248, 0.5); +} + +.btn-outline-warning { + color: #ff8d72; + border-color: #ff8d72; +} + +.btn-outline-warning:hover { + color: #ffffff; + background-color: #ff8d72; + border-color: #ff8d72; +} + +.btn-outline-warning:focus, +.btn-outline-warning.focus { + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.5); +} + +.btn-outline-warning.disabled, +.btn-outline-warning:disabled { + color: #ff8d72; + background-color: transparent; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active, +.btn-outline-warning:not(:disabled):not(.disabled).active, +.show>.btn-outline-warning.dropdown-toggle { + color: #ffffff; + background-color: #ff8d72; + border-color: #ff8d72; +} + +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, +.btn-outline-warning:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.5); +} + +.btn-outline-danger { + color: #fd5d93; + border-color: #fd5d93; +} + +.btn-outline-danger:hover { + color: #ffffff; + background-color: #fd5d93; + border-color: #fd5d93; +} + +.btn-outline-danger:focus, +.btn-outline-danger.focus { + box-shadow: 0 0 0 0 rgba(253, 93, 147, 0.5); +} + +.btn-outline-danger.disabled, +.btn-outline-danger:disabled { + color: #fd5d93; + background-color: transparent; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active, +.btn-outline-danger:not(:disabled):not(.disabled).active, +.show>.btn-outline-danger.dropdown-toggle { + color: #ffffff; + background-color: #fd5d93; + border-color: #fd5d93; +} + +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, +.btn-outline-danger:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(253, 93, 147, 0.5); +} + +.btn-outline-light { + color: #adb5bd; + border-color: #adb5bd; +} + +.btn-outline-light:hover { + color: #ffffff; + background-color: #adb5bd; + border-color: #adb5bd; +} + +.btn-outline-light:focus, +.btn-outline-light.focus { + box-shadow: 0 0 0 0 rgba(173, 181, 189, 0.5); +} + +.btn-outline-light.disabled, +.btn-outline-light:disabled { + color: #adb5bd; + background-color: transparent; +} + +.btn-outline-light:not(:disabled):not(.disabled):active, +.btn-outline-light:not(:disabled):not(.disabled).active, +.show>.btn-outline-light.dropdown-toggle { + color: #ffffff; + background-color: #adb5bd; + border-color: #adb5bd; +} + +.btn-outline-light:not(:disabled):not(.disabled):active:focus, +.btn-outline-light:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(173, 181, 189, 0.5); +} + +.btn-outline-dark { + color: #212529; + border-color: #212529; +} + +.btn-outline-dark:hover { + color: #ffffff; + background-color: #212529; + border-color: #212529; +} + +.btn-outline-dark:focus, +.btn-outline-dark.focus { + box-shadow: 0 0 0 0 rgba(33, 37, 41, 0.5); +} + +.btn-outline-dark.disabled, +.btn-outline-dark:disabled { + color: #212529; + background-color: transparent; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active, +.btn-outline-dark:not(:disabled):not(.disabled).active, +.show>.btn-outline-dark.dropdown-toggle { + color: #ffffff; + background-color: #212529; + border-color: #212529; +} + +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, +.btn-outline-dark:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(33, 37, 41, 0.5); +} + +.btn-outline-default { + color: #344675; + border-color: #344675; +} + +.btn-outline-default:hover { + color: #ffffff; + background-color: #344675; + border-color: #344675; +} + +.btn-outline-default:focus, +.btn-outline-default.focus { + box-shadow: 0 0 0 0 rgba(52, 70, 117, 0.5); +} + +.btn-outline-default.disabled, +.btn-outline-default:disabled { + color: #344675; + background-color: transparent; +} + +.btn-outline-default:not(:disabled):not(.disabled):active, +.btn-outline-default:not(:disabled):not(.disabled).active, +.show>.btn-outline-default.dropdown-toggle { + color: #ffffff; + background-color: #344675; + border-color: #344675; +} + +.btn-outline-default:not(:disabled):not(.disabled):active:focus, +.btn-outline-default:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-default.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(52, 70, 117, 0.5); +} + +.btn-outline-white { + color: #ffffff; + border-color: #ffffff; +} + +.btn-outline-white:hover { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-outline-white:focus, +.btn-outline-white.focus { + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); +} + +.btn-outline-white.disabled, +.btn-outline-white:disabled { + color: #ffffff; + background-color: transparent; +} + +.btn-outline-white:not(:disabled):not(.disabled):active, +.btn-outline-white:not(:disabled):not(.disabled).active, +.show>.btn-outline-white.dropdown-toggle { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-outline-white:not(:disabled):not(.disabled):active:focus, +.btn-outline-white:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-white.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); +} + +.btn-outline-neutral { + color: #ffffff; + border-color: #ffffff; +} + +.btn-outline-neutral:hover { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-outline-neutral:focus, +.btn-outline-neutral.focus { + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); +} + +.btn-outline-neutral.disabled, +.btn-outline-neutral:disabled { + color: #ffffff; + background-color: transparent; +} + +.btn-outline-neutral:not(:disabled):not(.disabled):active, +.btn-outline-neutral:not(:disabled):not(.disabled).active, +.show>.btn-outline-neutral.dropdown-toggle { + color: #212529; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-outline-neutral:not(:disabled):not(.disabled):active:focus, +.btn-outline-neutral:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-neutral.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); +} + +.btn-outline-darker { + color: black; + border-color: black; +} + +.btn-outline-darker:hover { + color: #ffffff; + background-color: black; + border-color: black; +} + +.btn-outline-darker:focus, +.btn-outline-darker.focus { + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5); +} + +.btn-outline-darker.disabled, +.btn-outline-darker:disabled { + color: black; + background-color: transparent; +} + +.btn-outline-darker:not(:disabled):not(.disabled):active, +.btn-outline-darker:not(:disabled):not(.disabled).active, +.show>.btn-outline-darker.dropdown-toggle { + color: #ffffff; + background-color: black; + border-color: black; +} + +.btn-outline-darker:not(:disabled):not(.disabled):active:focus, +.btn-outline-darker:not(:disabled):not(.disabled).active:focus, +.show>.btn-outline-darker.dropdown-toggle:focus { + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5); +} + +.btn-link { + font-weight: 400; + color: #e14eca; + text-decoration: none; +} + +.btn-link:hover { + color: #c221a9; + text-decoration: none; +} + +.btn-link:focus, +.btn-link.focus { + text-decoration: none; + box-shadow: none; +} + +.btn-link:disabled, +.btn-link.disabled { + color: #6c757d; + pointer-events: none; +} + +.btn-lg, +.btn-group-lg>.btn { + padding: 15px 48px; + font-size: 1em; + line-height: 1.35; + border-radius: 0.4285rem; +} + +.btn-sm, +.btn-group-sm>.btn { + padding: 5px 15px; + font-size: 0.75rem; + line-height: 1.35; + border-radius: 0.25rem; +} + +.btn-block { + display: block; + width: 100%; +} + +.btn-block+.btn-block { + margin-top: 0.5rem; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 0.875rem; + color: #525f7f; + text-align: left; + list-style: none; + background-color: #ffffff; + background-clip: padding-box; + border: 0 solid rgba(34, 42, 66, 0.15); + border-radius: 0.1428rem; + box-shadow: 0 50px 100px rgba(50, 50, 93, 0.1), 0 15px 35px rgba(50, 50, 93, 0.15), 0 5px 15px rgba(0, 0, 0, 0.1); +} + +.dropdown-menu-left { + right: auto; + left: 0; +} + +.dropdown-menu-right { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; + } + + .dropdown-menu-sm-right { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; + } + + .dropdown-menu-md-right { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; + } + + .dropdown-menu-lg-right { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; + } + + .dropdown-menu-xl-right { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropright .dropdown-toggle::after { + vertical-align: 0; +} + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropleft .dropdown-toggle::after { + display: none; +} + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-menu[x-placement^="top"], +.dropdown-menu[x-placement^="right"], +.dropdown-menu[x-placement^="bottom"], +.dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} + +.dropdown-item:hover, +.dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f6f9fc; +} + +.dropdown-item.active, +.dropdown-item:active { + color: #ffffff; + text-decoration: none; + background-color: #e14eca; +} + +.dropdown-item.disabled, +.dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.75rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group>.btn, +.btn-group-vertical>.btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group>.btn:hover, +.btn-group-vertical>.btn:hover { + z-index: 1; +} + +.btn-group>.btn:focus, +.btn-group>.btn:active, +.btn-group>.btn.active, +.btn-group-vertical>.btn:focus, +.btn-group-vertical>.btn:active, +.btn-group-vertical>.btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group>.btn:not(:first-child), +.btn-group>.btn-group:not(:first-child) { + margin-left: -1px; +} + +.btn-group>.btn:not(:last-child):not(.dropdown-toggle), +.btn-group>.btn-group:not(:last-child)>.btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group>.btn:not(:first-child), +.btn-group>.btn-group:not(:first-child)>.btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 30px; + padding-left: 30px; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropright .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropleft .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm+.dropdown-toggle-split, +.btn-group-sm>.btn+.dropdown-toggle-split { + padding-right: 11.25px; + padding-left: 11.25px; +} + +.btn-lg+.dropdown-toggle-split, +.btn-group-lg>.btn+.dropdown-toggle-split { + padding-right: 36px; + padding-left: 36px; +} + +.btn-group.show .dropdown-toggle { + box-shadow: none; +} + +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical>.btn, +.btn-group-vertical>.btn-group { + width: 100%; +} + +.btn-group-vertical>.btn:not(:first-child), +.btn-group-vertical>.btn-group:not(:first-child) { + margin-top: -1px; +} + +.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical>.btn-group:not(:last-child)>.btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical>.btn:not(:first-child), +.btn-group-vertical>.btn-group:not(:first-child)>.btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-group-toggle>.btn, +.btn-group-toggle>.btn-group>.btn { + margin-bottom: 0; +} + +.btn-group-toggle>.btn input[type="radio"], +.btn-group-toggle>.btn input[type="checkbox"], +.btn-group-toggle>.btn-group>.btn input[type="radio"], +.btn-group-toggle>.btn-group>.btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group>.form-control, +.input-group>.form-control-plaintext, +.input-group>.custom-select, +.input-group>.custom-file { + position: relative; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; +} + +.input-group>.form-control+.form-control, +.input-group>.form-control+.custom-select, +.input-group>.form-control+.custom-file, +.input-group>.form-control-plaintext+.form-control, +.input-group>.form-control-plaintext+.custom-select, +.input-group>.form-control-plaintext+.custom-file, +.input-group>.custom-select+.form-control, +.input-group>.custom-select+.custom-select, +.input-group>.custom-select+.custom-file, +.input-group>.custom-file+.form-control, +.input-group>.custom-file+.custom-select, +.input-group>.custom-file+.custom-file { + margin-left: -1px; +} + +.input-group>.form-control:focus, +.input-group>.custom-select:focus, +.input-group>.custom-file .custom-file-input:focus~.custom-file-label { + z-index: 3; +} + +.input-group>.custom-file .custom-file-input:focus { + z-index: 4; +} + +.input-group>.form-control:not(:last-child), +.input-group>.custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group>.form-control:not(:first-child), +.input-group>.custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group>.custom-file { + display: flex; + align-items: center; +} + +.input-group>.custom-file:not(:last-child) .custom-file-label, +.input-group>.custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group>.custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-prepend, +.input-group-append { + display: flex; +} + +.input-group-prepend .btn, +.input-group-append .btn { + position: relative; + z-index: 2; +} + +.input-group-prepend .btn:focus, +.input-group-append .btn:focus { + z-index: 3; +} + +.input-group-prepend .btn+.btn, +.input-group-prepend .btn+.input-group-text, +.input-group-prepend .input-group-text+.input-group-text, +.input-group-prepend .input-group-text+.btn, +.input-group-append .btn+.btn, +.input-group-append .btn+.input-group-text, +.input-group-append .input-group-text+.input-group-text, +.input-group-append .input-group-text+.btn { + margin-left: -1px; +} + +.input-group-prepend { + margin-right: -1px; +} + +.input-group-append { + margin-left: -1px; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.5rem 0.7rem; + margin-bottom: 0; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.428571; + color: #adb5bd; + text-align: center; + white-space: nowrap; + background-color: transparent; + border: 1px solid #cad1d7; + border-radius: 0.25rem; +} + +.input-group-text input[type="radio"], +.input-group-text input[type="checkbox"] { + margin-top: 0; +} + +.input-group-lg>.form-control:not(textarea), +.input-group-lg>.custom-select { + height: calc(1.35em + 1.75rem + 2px); +} + +.input-group-lg>.form-control, +.input-group-lg>.custom-select, +.input-group-lg>.input-group-prepend>.input-group-text, +.input-group-lg>.input-group-append>.input-group-text, +.input-group-lg>.input-group-prepend>.btn, +.input-group-lg>.input-group-append>.btn { + padding: 0.875rem 1rem; + font-size: 0.875rem; + line-height: 1.35; + border-radius: 0.4285rem; +} + +.input-group-sm>.form-control:not(textarea), +.input-group-sm>.custom-select { + height: calc(1.35em + 0.5rem + 2px); +} + +.input-group-sm>.form-control, +.input-group-sm>.custom-select, +.input-group-sm>.input-group-prepend>.input-group-text, +.input-group-sm>.input-group-append>.input-group-text, +.input-group-sm>.input-group-prepend>.btn, +.input-group-sm>.input-group-append>.btn { + padding: 0.25rem 0.5rem; + font-size: 0.75rem; + line-height: 1.35; + border-radius: 0.2857rem; +} + +.input-group-lg>.custom-select, +.input-group-sm>.custom-select { + padding-right: 1.7rem; +} + +.input-group>.input-group-prepend>.btn, +.input-group>.input-group-prepend>.input-group-text, +.input-group>.input-group-append:not(:last-child)>.btn, +.input-group>.input-group-append:not(:last-child)>.input-group-text, +.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle), +.input-group>.input-group-append:last-child>.input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group>.input-group-append>.btn, +.input-group>.input-group-append>.input-group-text, +.input-group>.input-group-prepend:not(:first-child)>.btn, +.input-group>.input-group-prepend:not(:first-child)>.input-group-text, +.input-group>.input-group-prepend:first-child>.btn:not(:first-child), +.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-control { + position: relative; + display: block; + min-height: 1.3125rem; + padding-left: 3rem; +} + +.custom-control-inline { + display: inline-flex; + margin-right: 1rem; +} + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; +} + +.custom-control-input:checked~.custom-control-label::before { + color: #ffffff; + border-color: #e14eca; + background-color: #e14eca; + box-shadow: none; +} + +.custom-control-input:focus~.custom-control-label::before { + box-shadow: none, none; +} + +.custom-control-input:focus:not(:checked)~.custom-control-label::before { + border-color: rgba(50, 151, 211, 0.25); +} + +.custom-control-input:not(:disabled):active~.custom-control-label::before { + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; + box-shadow: none; +} + +.custom-control-input:disabled~.custom-control-label { + color: #6c757d; +} + +.custom-control-input:disabled~.custom-control-label::before { + background-color: #e9ecef; +} + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; +} + +.custom-control-label::before { + position: absolute; + top: 0.03125rem; + left: -3rem; + display: block; + width: 1.25rem; + height: 1.25rem; + pointer-events: none; + content: ""; + background-color: transparent; + border: #cad1d7 solid 1px; + box-shadow: none; +} + +.custom-control-label::after { + position: absolute; + top: 0.03125rem; + left: -3rem; + display: block; + width: 1.25rem; + height: 1.25rem; + content: ""; + background: no-repeat 50% / 50% 50%; +} + +.custom-checkbox .custom-control-label::before { + border-radius: 0.2857rem; +} + +.custom-checkbox .custom-control-input:checked~.custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23ffffff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before { + border-color: #e14eca; + background-color: #e14eca; + box-shadow: none; +} + +.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23ffffff' d='M0 2h4'/%3e%3c/svg%3e"); +} + +.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(225, 78, 202, 0.5); +} + +.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before { + background-color: rgba(225, 78, 202, 0.5); +} + +.custom-radio .custom-control-label::before { + border-radius: 50%; +} + +.custom-radio .custom-control-input:checked~.custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); +} + +.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(225, 78, 202, 0.5); +} + +.custom-switch { + padding-left: 3.9375rem; +} + +.custom-switch .custom-control-label::before { + left: -3.9375rem; + width: 2.1875rem; + pointer-events: all; + border-radius: 0.625rem; +} + +.custom-switch .custom-control-label::after { + top: calc(0.03125rem + 2px); + left: calc(-3.9375rem + 2px); + width: calc(1.25rem - 4px); + height: calc(1.25rem - 4px); + background-color: #cad1d7; + border-radius: 0.625rem; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + transition: none; + } +} + +.custom-switch .custom-control-input:checked~.custom-control-label::after { + background-color: transparent; + transform: translateX(0.9375rem); +} + +.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before { + background-color: rgba(225, 78, 202, 0.5); +} + +.custom-select { + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + padding: 0.5rem 1.7rem 0.5rem 0.7rem; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.428571; + color: rgba(255, 255, 255, 0.8); + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%2332325d' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.7rem center/8px 10px; + background-color: transparent; + border: 1px solid #cad1d7; + border-radius: 0.25rem; + box-shadow: inset 0 1px 2px rgba(34, 42, 66, 0.075); + appearance: none; +} + +.custom-select:focus { + border-color: rgba(50, 151, 211, 0.25); + outline: 0; + box-shadow: inset 0 1px 2px rgba(34, 42, 66, 0.075), 0 0 0 0 #e14eca; +} + +.custom-select:focus::-ms-value { + color: rgba(255, 255, 255, 0.8); + background-color: transparent; +} + +.custom-select[multiple], +.custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.7rem; + background-image: none; +} + +.custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; +} + +.custom-select::-ms-expand { + display: none; +} + +.custom-select-sm { + height: calc(1.35em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.75rem; +} + +.custom-select-lg { + height: calc(1.35em + 1.75rem + 2px); + padding-top: 0.875rem; + padding-bottom: 0.875rem; + padding-left: 1rem; + font-size: 0.875rem; +} + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(2.25rem + 2px); + margin-bottom: 0; +} + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(2.25rem + 2px); + margin: 0; + opacity: 0; +} + +.custom-file-input:focus~.custom-file-label { + border-color: rgba(50, 151, 211, 0.25); + box-shadow: none; +} + +.custom-file-input:disabled~.custom-file-label { + background-color: #e9ecef; +} + +.custom-file-input:lang(en)~.custom-file-label::after { + content: "Browse"; +} + +.custom-file-input~.custom-file-label[data-browse]::after { + content: attr(data-browse); +} + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(2.25rem + 2px); + padding: 0.5rem 0.7rem; + font-weight: 400; + line-height: 1.428571; + color: rgba(255, 255, 255, 0.8); + background-color: transparent; + border: 1px solid #cad1d7; + border-radius: 0.25rem; + box-shadow: none; +} + +.custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: 2.25rem; + padding: 0.5rem 0.7rem; + line-height: 1.428571; + color: rgba(255, 255, 255, 0.8); + content: "Browse"; + background-color: transparent; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; +} + +.custom-range { + width: 100%; + height: calc(1rem + 0); + padding: 0; + background-color: transparent; + appearance: none; +} + +.custom-range:focus { + outline: none; +} + +.custom-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #1e1e2f, none; +} + +.custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #1e1e2f, none; +} + +.custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #1e1e2f, none; +} + +.custom-range::-moz-focus-outer { + border: 0; +} + +.custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #e14eca; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(34, 42, 66, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + transition: none; + } +} + +.custom-range::-webkit-slider-thumb:active { + background-color: #fbe7f8; +} + +.custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #e3e3e3; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(34, 42, 66, 0.1); +} + +.custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #e14eca; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(34, 42, 66, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + transition: none; + } +} + +.custom-range::-moz-range-thumb:active { + background-color: #fbe7f8; +} + +.custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #e3e3e3; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(34, 42, 66, 0.1); +} + +.custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0; + margin-left: 0; + background-color: #e14eca; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(34, 42, 66, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + transition: none; + } +} + +.custom-range::-ms-thumb:active { + background-color: #fbe7f8; +} + +.custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; + box-shadow: inset 0 0.25rem 0.25rem rgba(34, 42, 66, 0.1); +} + +.custom-range::-ms-fill-lower { + background-color: #e3e3e3; + border-radius: 1rem; +} + +.custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #e3e3e3; + border-radius: 1rem; +} + +.custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; +} + +.custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.custom-range:disabled::-moz-range-track { + cursor: default; +} + +.custom-range:disabled::-ms-thumb { + background-color: #adb5bd; +} + +.custom-control-label::before, +.custom-file-label, +.custom-select { + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + + .custom-control-label::before, + .custom-file-label, + .custom-select { + transition: none; + } +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; +} + +.nav-link:hover, +.nav-link:focus { + text-decoration: none; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 0.0625rem solid #e3e3e3; +} + +.nav-tabs .nav-item { + margin-bottom: -0.0625rem; +} + +.nav-tabs .nav-link { + border: 0.0625rem solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.nav-tabs .nav-link:hover, +.nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #e3e3e3; +} + +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #525f7f; + background-color: #1e1e2f; + border-color: #e3e3e3 #e3e3e3 #1e1e2f; +} + +.nav-tabs .dropdown-menu { + margin-top: -0.0625rem; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + border-radius: 0.25rem; +} + +.nav-pills .nav-link.active, +.nav-pills .show>.nav-link { + color: #ffffff; + background-color: #e14eca; +} + +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.tab-content>.tab-pane { + display: none; +} + +.tab-content>.active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: 0.625rem 0.9375rem; +} + +.navbar>.container, +.navbar>.container-fluid { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.406813rem; + padding-bottom: 0.406813rem; + margin-right: 0.9375rem; + font-size: 0.99925rem; + line-height: inherit; + white-space: nowrap; +} + +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 0.99925rem; + line-height: 1; + background-color: transparent; + border: 0.0625rem solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, +.navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +@media (max-width: 575.98px) { + + .navbar-expand-sm>.container, + .navbar-expand-sm>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-flow: row nowrap; + justify-content: flex-start; + } + + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 1rem; + padding-left: 1rem; + } + + .navbar-expand-sm>.container, + .navbar-expand-sm>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-sm .navbar-toggler { + display: none; + } +} + +@media (max-width: 767.98px) { + + .navbar-expand-md>.container, + .navbar-expand-md>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-flow: row nowrap; + justify-content: flex-start; + } + + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 1rem; + padding-left: 1rem; + } + + .navbar-expand-md>.container, + .navbar-expand-md>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +@media (max-width: 991.98px) { + + .navbar-expand-lg>.container, + .navbar-expand-lg>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-flow: row nowrap; + justify-content: flex-start; + } + + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 1rem; + padding-left: 1rem; + } + + .navbar-expand-lg>.container, + .navbar-expand-lg>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-lg .navbar-toggler { + display: none; + } +} + +@media (max-width: 1199.98px) { + + .navbar-expand-xl>.container, + .navbar-expand-xl>.container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-flow: row nowrap; + justify-content: flex-start; + } + + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 1rem; + padding-left: 1rem; + } + + .navbar-expand-xl>.container, + .navbar-expand-xl>.container-fluid { + flex-wrap: nowrap; + } + + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xl .navbar-toggler { + display: none; + } +} + +.navbar-expand { + flex-flow: row nowrap; + justify-content: flex-start; +} + +.navbar-expand>.container, +.navbar-expand>.container-fluid { + padding-right: 0; + padding-left: 0; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: 1rem; + padding-left: 1rem; +} + +.navbar-expand>.container, +.navbar-expand>.container-fluid { + flex-wrap: nowrap; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-light .navbar-brand { + color: rgba(34, 42, 66, 0.9); +} + +.navbar-light .navbar-brand:hover, +.navbar-light .navbar-brand:focus { + color: rgba(34, 42, 66, 0.9); +} + +.navbar-light .navbar-nav .nav-link { + color: rgba(34, 42, 66, 0.5); +} + +.navbar-light .navbar-nav .nav-link:hover, +.navbar-light .navbar-nav .nav-link:focus { + color: rgba(34, 42, 66, 0.7); +} + +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(34, 42, 66, 0.3); +} + +.navbar-light .navbar-nav .show>.nav-link, +.navbar-light .navbar-nav .active>.nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(34, 42, 66, 0.9); +} + +.navbar-light .navbar-toggler { + color: rgba(34, 42, 66, 0.5); + border-color: transparent; +} + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml !default;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(34, 42, 66, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-light .navbar-text { + color: rgba(34, 42, 66, 0.5); +} + +.navbar-light .navbar-text a { + color: rgba(34, 42, 66, 0.9); +} + +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(34, 42, 66, 0.9); +} + +.navbar-dark .navbar-brand { + color: rgba(255, 255, 255, 0.65); +} + +.navbar-dark .navbar-brand:hover, +.navbar-dark .navbar-brand:focus { + color: rgba(255, 255, 255, 0.65); +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.95); +} + +.navbar-dark .navbar-nav .nav-link:hover, +.navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.65); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show>.nav-link, +.navbar-dark .navbar-nav .active>.nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: rgba(255, 255, 255, 0.65); +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.95); + border-color: transparent; +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.95)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.95); +} + +.navbar-dark .navbar-text a { + color: rgba(255, 255, 255, 0.65); +} + +.navbar-dark .navbar-text a:hover, +.navbar-dark .navbar-text a:focus { + color: rgba(255, 255, 255, 0.65); +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #ffffff; + background-clip: border-box; + border: 0.0625rem solid rgba(34, 42, 66, 0.05); + border-radius: 0.2857rem; +} + +.card>hr { + margin-right: 0; + margin-left: 0; +} + +.card>.list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.2857rem; + border-top-right-radius: 0.2857rem; +} + +.card>.list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.2857rem; + border-bottom-left-radius: 0.2857rem; +} + +.card-body { + flex: 1 1 auto; + padding: 1.5rem; +} + +.card-title { + margin-bottom: 1.25rem; +} + +.card-subtitle { + margin-top: -0.625rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} + +.card-link+.card-link { + margin-left: 1.5rem; +} + +.card-header { + padding: 1.25rem 1.5rem; + margin-bottom: 0; + background-color: #f6f9fc; + border-bottom: 0.0625rem solid rgba(34, 42, 66, 0.05); +} + +.card-header:first-child { + border-radius: calc(0.2857rem - 0.0625rem) calc(0.2857rem - 0.0625rem) 0 0; +} + +.card-header+.list-group .list-group-item:first-child { + border-top: 0; +} + +.card-footer { + padding: 1.25rem 1.5rem; + background-color: #f6f9fc; + border-top: 0.0625rem solid rgba(34, 42, 66, 0.05); +} + +.card-footer:last-child { + border-radius: 0 0 calc(0.2857rem - 0.0625rem) calc(0.2857rem - 0.0625rem); +} + +.card-header-tabs { + margin-right: -0.75rem; + margin-bottom: -1.25rem; + margin-left: -0.75rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.75rem; + margin-left: -0.75rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; +} + +.card-img { + width: 100%; + border-radius: calc(0.2857rem - 0.0625rem); +} + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.2857rem - 0.0625rem); + border-top-right-radius: calc(0.2857rem - 0.0625rem); +} + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.2857rem - 0.0625rem); + border-bottom-left-radius: calc(0.2857rem - 0.0625rem); +} + +.card-deck { + display: flex; + flex-direction: column; +} + +.card-deck .card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-deck { + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; + } + + .card-deck .card { + display: flex; + flex: 1 0 0%; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; + } +} + +.card-group { + display: flex; + flex-direction: column; +} + +.card-group>.card { + margin-bottom: 15px; +} + +@media (min-width: 576px) { + .card-group { + flex-flow: row wrap; + } + + .card-group>.card { + flex: 1 0 0%; + margin-bottom: 0; + } + + .card-group>.card+.card { + margin-left: 0; + border-left: 0; + } + + .card-group>.card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .card-group>.card:not(:last-child) .card-img-top, + .card-group>.card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + + .card-group>.card:not(:last-child) .card-img-bottom, + .card-group>.card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + + .card-group>.card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .card-group>.card:not(:first-child) .card-img-top, + .card-group>.card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + + .card-group>.card:not(:first-child) .card-img-bottom, + .card-group>.card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.card-columns .card { + margin-bottom: 1.25rem; +} + +@media (min-width: 576px) { + .card-columns { + column-count: 3; + column-gap: 1.25rem; + orphans: 1; + widows: 1; + } + + .card-columns .card { + display: inline-block; + width: 100%; + } +} + +.accordion>.card { + overflow: hidden; +} + +.accordion>.card:not(:first-of-type) .card-header:first-child { + border-radius: 0; +} + +.accordion>.card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; +} + +.accordion>.card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.accordion>.card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.accordion>.card .card-header { + margin-bottom: -0.0625rem; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #1d253b; + border-radius: 0.25rem; +} + +.breadcrumb-item+.breadcrumb-item { + padding-left: 0.5rem; +} + +.breadcrumb-item+.breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #ffffff; + content: "/"; +} + +.breadcrumb-item+.breadcrumb-item:hover::before { + text-decoration: underline; +} + +.breadcrumb-item+.breadcrumb-item:hover::before { + text-decoration: none; +} + +.breadcrumb-item.active { + color: #ffffff; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; +} + +.page-link { + position: relative; + display: block; + padding: 0 0.6875rem; + margin-left: -0.0625rem; + line-height: 1.25; + color: #ffffff; + background-color: transparent; + border: 0.0625rem solid #e3e3e3; +} + +.page-link:hover { + z-index: 2; + color: #6c757d; + text-decoration: none; + background-color: #e3e3e3; + border-color: #e3e3e3; +} + +.page-link:focus { + z-index: 2; + outline: 0; + box-shadow: none; +} + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.page-item.active .page-link { + z-index: 1; + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: transparent; + border-color: #e3e3e3; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 0.99925rem; + line-height: 1.625rem; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.4285rem; + border-bottom-left-radius: 0.4285rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.4285rem; + border-bottom-right-radius: 0.4285rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.75rem; + line-height: 1.5; +} + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2857rem; + border-bottom-left-radius: 0.2857rem; +} + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2857rem; + border-bottom-right-radius: 0.2857rem; +} + +.badge { + display: inline-block; + padding: 0.25rem 0.5rem; + font-size: 0.62475rem; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .badge { + transition: none; + } +} + +a.badge:hover, +a.badge:focus { + text-decoration: none; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.badge-pill { + padding-right: 0.875em; + padding-left: 0.875em; + border-radius: 0.875rem; +} + +.badge-primary { + color: #ffffff; + background-color: #e14eca; +} + +a.badge-primary:hover, +a.badge-primary:focus { + color: #ffffff; + background-color: #d725bb; +} + +a.badge-primary:focus, +a.badge-primary.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(225, 78, 202, 0.5); +} + +.badge-secondary { + color: #212529; + background-color: #f4f5f7; +} + +a.badge-secondary:hover, +a.badge-secondary:focus { + color: #212529; + background-color: #d6dae2; +} + +a.badge-secondary:focus, +a.badge-secondary.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(244, 245, 247, 0.5); +} + +.badge-success { + color: #ffffff; + background-color: #00f2c3; +} + +a.badge-success:hover, +a.badge-success:focus { + color: #ffffff; + background-color: #00bf9a; +} + +a.badge-success:focus, +a.badge-success.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(0, 242, 195, 0.5); +} + +.badge-info { + color: #ffffff; + background-color: #1d8cf8; +} + +a.badge-info:hover, +a.badge-info:focus { + color: #ffffff; + background-color: #0772db; +} + +a.badge-info:focus, +a.badge-info.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(29, 140, 248, 0.5); +} + +.badge-warning { + color: #ffffff; + background-color: #ff8d72; +} + +a.badge-warning:hover, +a.badge-warning:focus { + color: #ffffff; + background-color: #ff643f; +} + +a.badge-warning:focus, +a.badge-warning.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(255, 141, 114, 0.5); +} + +.badge-danger { + color: #ffffff; + background-color: #fd5d93; +} + +a.badge-danger:hover, +a.badge-danger:focus { + color: #ffffff; + background-color: #fc2b71; +} + +a.badge-danger:focus, +a.badge-danger.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(253, 93, 147, 0.5); +} + +.badge-light { + color: #ffffff; + background-color: #adb5bd; +} + +a.badge-light:hover, +a.badge-light:focus { + color: #ffffff; + background-color: #919ca6; +} + +a.badge-light:focus, +a.badge-light.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(173, 181, 189, 0.5); +} + +.badge-dark { + color: #ffffff; + background-color: #212529; +} + +a.badge-dark:hover, +a.badge-dark:focus { + color: #ffffff; + background-color: #0a0c0d; +} + +a.badge-dark:focus, +a.badge-dark.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(33, 37, 41, 0.5); +} + +.badge-default { + color: #ffffff; + background-color: #344675; +} + +a.badge-default:hover, +a.badge-default:focus { + color: #ffffff; + background-color: #243152; +} + +a.badge-default:focus, +a.badge-default.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(52, 70, 117, 0.5); +} + +.badge-white { + color: #212529; + background-color: #ffffff; +} + +a.badge-white:hover, +a.badge-white:focus { + color: #212529; + background-color: #e6e6e6; +} + +a.badge-white:focus, +a.badge-white.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); +} + +.badge-neutral { + color: #212529; + background-color: #ffffff; +} + +a.badge-neutral:hover, +a.badge-neutral:focus { + color: #212529; + background-color: #e6e6e6; +} + +a.badge-neutral:focus, +a.badge-neutral.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5); +} + +.badge-darker { + color: #ffffff; + background-color: black; +} + +a.badge-darker:hover, +a.badge-darker:focus { + color: #ffffff; + background-color: black; +} + +a.badge-darker:focus, +a.badge-darker.focus { + outline: 0; + box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.5); +} + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.4285rem; +} + +@media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; + } +} + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; +} + +.alert { + position: relative; + padding: 0.9rem 1.25rem; + margin-bottom: 1rem; + border: 0.0625rem solid transparent; + border-radius: 0.2857rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 600; +} + +.alert-dismissible { + padding-right: 3.8125rem; +} + +.alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.9rem 1.25rem; + color: inherit; +} + +.alert-primary { + color: #e14eca; + background-color: #e66ad2; + border-color: #e66ad2; +} + +.alert-primary hr { + border-top-color: #e254cb; +} + +.alert-primary .alert-link { + color: #d725bb; +} + +.alert-secondary { + color: #f4f5f7; + background-color: #f6f7f8; + border-color: #f6f7f8; +} + +.alert-secondary hr { + border-top-color: #e8eaed; +} + +.alert-secondary .alert-link { + color: #d6dae2; +} + +.alert-success { + color: #00f2c3; + background-color: #29f4cd; + border-color: #29f4cd; +} + +.alert-success hr { + border-top-color: #11f3c7; +} + +.alert-success .alert-link { + color: #00bf9a; +} + +.alert-info { + color: #1d8cf8; + background-color: #419ef9; + border-color: #419ef9; +} + +.alert-info hr { + border-top-color: #2891f8; +} + +.alert-info .alert-link { + color: #0772db; +} + +.alert-warning { + color: #ff8d72; + background-color: #ff9f89; + border-color: #ff9f89; +} + +.alert-warning hr { + border-top-color: #ff8a70; +} + +.alert-warning .alert-link { + color: #ff643f; +} + +.alert-danger { + color: #fd5d93; + background-color: #fd77a4; + border-color: #fd77a4; +} + +.alert-danger hr { + border-top-color: #fd5e93; +} + +.alert-danger .alert-link { + color: #fc2b71; +} + +.alert-light { + color: #adb5bd; + background-color: #bac1c8; + border-color: #bac1c8; +} + +.alert-light hr { + border-top-color: #acb4bd; +} + +.alert-light .alert-link { + color: #919ca6; +} + +.alert-dark { + color: #212529; + background-color: #45484b; + border-color: #45484b; +} + +.alert-dark hr { + border-top-color: #393b3e; +} + +.alert-dark .alert-link { + color: #0a0c0d; +} + +.alert-default { + color: #344675; + background-color: #54648b; + border-color: #54648b; +} + +.alert-default hr { + border-top-color: #4a597b; +} + +.alert-default .alert-link { + color: #243152; +} + +.alert-white { + color: white; + background-color: white; + border-color: white; +} + +.alert-white hr { + border-top-color: #f2f2f2; +} + +.alert-white .alert-link { + color: #e6e6e6; +} + +.alert-neutral { + color: white; + background-color: white; + border-color: white; +} + +.alert-neutral hr { + border-top-color: #f2f2f2; +} + +.alert-neutral .alert-link { + color: #e6e6e6; +} + +.alert-darker { + color: black; + background-color: #292929; + border-color: #292929; +} + +.alert-darker hr { + border-top-color: #1c1c1c; +} + +.alert-darker .alert-link { + color: black; +} + +@keyframes progress-bar-stripes { + from { + background-position: 0.5rem 0; + } + + to { + background-position: 0 0; + } +} + +.progress { + display: flex; + height: 0.5rem; + overflow: hidden; + font-size: 0.65625rem; + background-color: rgba(0, 0, 0, 0.3); + border-radius: 0.875rem; + box-shadow: 0px 0px 0px 3px rgba(0, 0, 0, 0.3); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + color: #ffffff; + text-align: center; + white-space: nowrap; + background-color: #e14eca; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 0.5rem 0.5rem; +} + +.progress-bar-animated { + animation: progress-bar-stripes 1s linear infinite; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.media { + display: flex; + align-items: flex-start; +} + +.media-body { + flex: 1; +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; +} + +.list-group-item-action { + width: 100%; + color: #525f7f; + text-align: inherit; +} + +.list-group-item-action:hover, +.list-group-item-action:focus { + z-index: 1; + color: #525f7f; + text-decoration: none; + background-color: #f6f9fc; +} + +.list-group-item-action:active { + color: #525f7f; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 1rem 1rem; + margin-bottom: -0.0625rem; + background-color: #ffffff; + border: 0.0625rem solid #e9ecef; +} + +.list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.list-group-item.disabled, +.list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #ffffff; +} + +.list-group-item.active { + z-index: 2; + color: #ffffff; + background-color: #e14eca; + border-color: #e14eca; +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal .list-group-item { + margin-right: -0.0625rem; + margin-bottom: 0; +} + +.list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} + +.list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + + .list-group-horizontal-sm .list-group-item { + margin-right: -0.0625rem; + margin-bottom: 0; + } + + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + + .list-group-horizontal-md .list-group-item { + margin-right: -0.0625rem; + margin-bottom: 0; + } + + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + + .list-group-horizontal-lg .list-group-item { + margin-right: -0.0625rem; + margin-bottom: 0; + } + + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + + .list-group-horizontal-xl .list-group-item { + margin-right: -0.0625rem; + margin-bottom: 0; + } + + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } +} + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.list-group-flush .list-group-item:last-child { + margin-bottom: -0.0625rem; +} + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; +} + +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; +} + +.list-group-item-primary { + color: #853d89; + background-color: #f7cdf0; +} + +.list-group-item-primary.list-group-item-action:hover, +.list-group-item-primary.list-group-item-action:focus { + color: #853d89; + background-color: #f3b7e9; +} + +.list-group-item-primary.list-group-item-action.active { + color: #ffffff; + background-color: #853d89; + border-color: #853d89; +} + +.list-group-item-secondary { + color: #8f94a0; + background-color: #fcfcfd; +} + +.list-group-item-secondary.list-group-item-action:hover, +.list-group-item-secondary.list-group-item-action:focus { + color: #8f94a0; + background-color: #ededf3; +} + +.list-group-item-secondary.list-group-item-action.active { + color: #ffffff; + background-color: #8f94a0; + border-color: #8f94a0; +} + +.list-group-item-success { + color: #109285; + background-color: #b8fbee; +} + +.list-group-item-success.list-group-item-action:hover, +.list-group-item-success.list-group-item-action:focus { + color: #109285; + background-color: #a0fae8; +} + +.list-group-item-success.list-group-item-action.active { + color: #ffffff; + background-color: #109285; + border-color: #109285; +} + +.list-group-item-info { + color: #1f5da1; + background-color: #c0dffd; +} + +.list-group-item-info.list-group-item-action:hover, +.list-group-item-info.list-group-item-action:focus { + color: #1f5da1; + background-color: #a7d2fc; +} + +.list-group-item-info.list-group-item-action.active { + color: #ffffff; + background-color: #1f5da1; + border-color: #1f5da1; +} + +.list-group-item-warning { + color: #955d5b; + background-color: #ffdfd8; +} + +.list-group-item-warning.list-group-item-action:hover, +.list-group-item-warning.list-group-item-action:focus { + color: #955d5b; + background-color: #ffcabf; +} + +.list-group-item-warning.list-group-item-action.active { + color: #ffffff; + background-color: #955d5b; + border-color: #955d5b; +} + +.list-group-item-danger { + color: #94456c; + background-color: #fed2e1; +} + +.list-group-item-danger.list-group-item-action:hover, +.list-group-item-danger.list-group-item-action:focus { + color: #94456c; + background-color: #fdb9d0; +} + +.list-group-item-danger.list-group-item-action.active { + color: #ffffff; + background-color: #94456c; + border-color: #94456c; +} + +.list-group-item-light { + color: #6a7282; + background-color: #e8eaed; +} + +.list-group-item-light.list-group-item-action:hover, +.list-group-item-light.list-group-item-action:focus { + color: #6a7282; + background-color: #dadde2; +} + +.list-group-item-light.list-group-item-action.active { + color: #ffffff; + background-color: #6a7282; + border-color: #6a7282; +} + +.list-group-item-dark { + color: #212735; + background-color: #c1c2c3; +} + +.list-group-item-dark.list-group-item-action:hover, +.list-group-item-dark.list-group-item-action:focus { + color: #212735; + background-color: #b4b5b6; +} + +.list-group-item-dark.list-group-item-action.active { + color: #ffffff; + background-color: #212735; + border-color: #212735; +} + +.list-group-item-default { + color: #2b395d; + background-color: #c6cbd8; +} + +.list-group-item-default.list-group-item-action:hover, +.list-group-item-default.list-group-item-action:focus { + color: #2b395d; + background-color: #b7bdce; +} + +.list-group-item-default.list-group-item-action.active { + color: #ffffff; + background-color: #2b395d; + border-color: #2b395d; +} + +.list-group-item-white { + color: #9599a4; + background-color: white; +} + +.list-group-item-white.list-group-item-action:hover, +.list-group-item-white.list-group-item-action:focus { + color: #9599a4; + background-color: #f2f2f2; +} + +.list-group-item-white.list-group-item-action.active { + color: #ffffff; + background-color: #9599a4; + border-color: #9599a4; +} + +.list-group-item-neutral { + color: #9599a4; + background-color: white; +} + +.list-group-item-neutral.list-group-item-action:hover, +.list-group-item-neutral.list-group-item-action:focus { + color: #9599a4; + background-color: #f2f2f2; +} + +.list-group-item-neutral.list-group-item-action.active { + color: #ffffff; + background-color: #9599a4; + border-color: #9599a4; +} + +.list-group-item-darker { + color: #101420; + background-color: #b8b8b8; +} + +.list-group-item-darker.list-group-item-action:hover, +.list-group-item-darker.list-group-item-action:focus { + color: #101420; + background-color: #ababab; +} + +.list-group-item-darker.list-group-item-action.active { + color: #ffffff; + background-color: #101420; + border-color: #101420; +} + +.close { + float: right; + font-size: 1.3125rem; + font-weight: 600; + line-height: 1; + color: rgba(0, 0, 0, 0.6); + text-shadow: none; + opacity: .5; +} + +.close:hover { + color: rgba(0, 0, 0, 0.6); + text-decoration: none; +} + +.close:not(:disabled):not(.disabled):hover, +.close:not(:disabled):not(.disabled):focus { + opacity: .75; +} + +button.close { + padding: 0; + background-color: transparent; + border: 0; + appearance: none; +} + +a.close.disabled { + pointer-events: none; +} + +.modal-open { + overflow: hidden; +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal-dialog-scrollable { + display: flex; + max-height: calc(100% - 1rem); +} + +.modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; +} + +.modal-dialog-scrollable .modal-header, +.modal-dialog-scrollable .modal-footer { + flex-shrink: 0; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; +} + +.modal-dialog-centered.modal-dialog-scrollable { + flex-direction: column; + justify-content: center; + height: 100%; +} + +.modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; +} + +.modal-dialog-centered.modal-dialog-scrollable::before { + content: none; +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #ffffff; + background-clip: padding-box; + border: 1px solid rgba(34, 42, 66, 0.2); + border-radius: 0.2857rem; + box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.5); + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #222a42; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: 0.16; +} + +.modal-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + padding: 24px 24px 0 24px; + border-bottom: 1px solid #e9ecef; + border-top-left-radius: 0.2857rem; + border-top-right-radius: 0.2857rem; +} + +.modal-header .close { + padding: 24px 24px 0 24px; + margin: -1rem -1rem -1rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.1; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 24px 24px 16px 24px; +} + +.modal-footer { + display: flex; + align-items: center; + justify-content: flex-end; + padding: 24px 24px 16px 24px; + border-top: 1px solid #e9ecef; + border-bottom-right-radius: 0.2857rem; + border-bottom-left-radius: 0.2857rem; +} + +.modal-footer> :not(:first-child) { + margin-left: .25rem; +} + +.modal-footer> :not(:last-child) { + margin-right: .25rem; +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); + } + + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); + } + + .modal-content { + box-shadow: 0 15px 35px rgba(50, 50, 93, 0.2), 0 5px 15px rgba(0, 0, 0, 0.17); + } + + .modal-sm { + max-width: 380px; + } +} + +@media (min-width: 992px) { + + .modal-lg, + .modal-xl { + max-width: 800px; + } +} + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: "Poppins", sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.75rem; + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: 0.9; +} + +.tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} + +.tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, +.bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; +} + +.bs-tooltip-top .arrow, +.bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; +} + +.bs-tooltip-top .arrow::before, +.bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #ffffff; +} + +.bs-tooltip-right, +.bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; +} + +.bs-tooltip-right .arrow, +.bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-right .arrow::before, +.bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #ffffff; +} + +.bs-tooltip-bottom, +.bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; +} + +.bs-tooltip-bottom .arrow, +.bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; +} + +.bs-tooltip-bottom .arrow::before, +.bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #ffffff; +} + +.bs-tooltip-left, +.bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; +} + +.bs-tooltip-left .arrow, +.bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} + +.bs-tooltip-left .arrow::before, +.bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #ffffff; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #222a42; + text-align: center; + background-color: #ffffff; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: "Poppins", sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.75rem; + word-wrap: break-word; + background-color: #ffffff; + background-clip: padding-box; + border: 1px solid rgba(34, 42, 66, 0.05); + border-radius: 0.4285rem; + box-shadow: 0px 0.5rem 2rem 0px rgba(34, 42, 66, 0.2); +} + +.popover .arrow { + position: absolute; + display: block; + width: 1.5rem; + height: 0.75rem; + margin: 0 0.4285rem; +} + +.popover .arrow::before, +.popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top, +.bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.75rem; +} + +.bs-popover-top>.arrow, +.bs-popover-auto[x-placement^="top"]>.arrow { + bottom: calc((0.75rem + 1px) * -1); +} + +.bs-popover-top>.arrow::before, +.bs-popover-auto[x-placement^="top"]>.arrow::before { + bottom: 0; + border-width: 0.75rem 0.75rem 0; + border-top-color: transparent; +} + +.bs-popover-top>.arrow::after, +.bs-popover-auto[x-placement^="top"]>.arrow::after { + bottom: 1px; + border-width: 0.75rem 0.75rem 0; + border-top-color: #ffffff; +} + +.bs-popover-right, +.bs-popover-auto[x-placement^="right"] { + margin-left: 0.75rem; +} + +.bs-popover-right>.arrow, +.bs-popover-auto[x-placement^="right"]>.arrow { + left: calc((0.75rem + 1px) * -1); + width: 0.75rem; + height: 1.5rem; + margin: 0.4285rem 0; +} + +.bs-popover-right>.arrow::before, +.bs-popover-auto[x-placement^="right"]>.arrow::before { + left: 0; + border-width: 0.75rem 0.75rem 0.75rem 0; + border-right-color: transparent; +} + +.bs-popover-right>.arrow::after, +.bs-popover-auto[x-placement^="right"]>.arrow::after { + left: 1px; + border-width: 0.75rem 0.75rem 0.75rem 0; + border-right-color: #ffffff; +} + +.bs-popover-bottom, +.bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.75rem; +} + +.bs-popover-bottom>.arrow, +.bs-popover-auto[x-placement^="bottom"]>.arrow { + top: calc((0.75rem + 1px) * -1); +} + +.bs-popover-bottom>.arrow::before, +.bs-popover-auto[x-placement^="bottom"]>.arrow::before { + top: 0; + border-width: 0 0.75rem 0.75rem 0.75rem; + border-bottom-color: transparent; +} + +.bs-popover-bottom>.arrow::after, +.bs-popover-auto[x-placement^="bottom"]>.arrow::after { + top: 1px; + border-width: 0 0.75rem 0.75rem 0.75rem; + border-bottom-color: #ffffff; +} + +.bs-popover-bottom .popover-header::before, +.bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1.5rem; + margin-left: -0.75rem; + content: ""; + border-bottom: 1px solid #ffffff; +} + +.bs-popover-left, +.bs-popover-auto[x-placement^="left"] { + margin-right: 0.75rem; +} + +.bs-popover-left>.arrow, +.bs-popover-auto[x-placement^="left"]>.arrow { + right: calc((0.75rem + 1px) * -1); + width: 0.75rem; + height: 1.5rem; + margin: 0.4285rem 0; +} + +.bs-popover-left>.arrow::before, +.bs-popover-auto[x-placement^="left"]>.arrow::before { + right: 0; + border-width: 0.75rem 0 0.75rem 0.75rem; + border-left-color: transparent; +} + +.bs-popover-left>.arrow::after, +.bs-popover-auto[x-placement^="left"]>.arrow::after { + right: 1px; + border-width: 0.75rem 0 0.75rem 0.75rem; + border-left-color: #ffffff; +} + +.popover-header { + padding: 0.75rem 0.75rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #32325d; + background-color: #ffffff; + border-bottom: 1px solid #f2f2f2; + border-top-left-radius: calc(0.4285rem - 1px); + border-top-right-radius: calc(0.4285rem - 1px); +} + +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 0.75rem 0.75rem; + color: #525f7f; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + transition: 0s 0.6s opacity; +} + +@media (prefers-reduced-motion: reduce) { + + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + color: #ffffff; + text-align: center; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, +.carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; +} + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: flex; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; +} + +.carousel-indicators li { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #ffffff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.bg-primary { + background-color: #e14eca !important; +} + +a.bg-primary:hover, +a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #d725bb !important; +} + +.bg-secondary { + background-color: #f4f5f7 !important; +} + +a.bg-secondary:hover, +a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #d6dae2 !important; +} + +.bg-success { + background-color: #00f2c3 !important; +} + +a.bg-success:hover, +a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #00bf9a !important; +} + +.bg-info { + background-color: #1d8cf8 !important; +} + +a.bg-info:hover, +a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #0772db !important; +} + +.bg-warning { + background-color: #ff8d72 !important; +} + +a.bg-warning:hover, +a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #ff643f !important; +} + +.bg-danger { + background-color: #fd5d93 !important; +} + +a.bg-danger:hover, +a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #fc2b71 !important; +} + +.bg-light { + background-color: #adb5bd !important; +} + +a.bg-light:hover, +a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #919ca6 !important; +} + +.bg-dark { + background-color: #212529 !important; +} + +a.bg-dark:hover, +a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #0a0c0d !important; +} + +.bg-default { + background-color: #344675 !important; +} + +a.bg-default:hover, +a.bg-default:focus, +button.bg-default:hover, +button.bg-default:focus { + background-color: #243152 !important; +} + +.bg-white { + background-color: #ffffff !important; +} + +a.bg-white:hover, +a.bg-white:focus, +button.bg-white:hover, +button.bg-white:focus { + background-color: #e6e6e6 !important; +} + +.bg-neutral { + background-color: #ffffff !important; +} + +a.bg-neutral:hover, +a.bg-neutral:focus, +button.bg-neutral:hover, +button.bg-neutral:focus { + background-color: #e6e6e6 !important; +} + +.bg-darker { + background-color: black !important; +} + +a.bg-darker:hover, +a.bg-darker:focus, +button.bg-darker:hover, +button.bg-darker:focus { + background-color: black !important; +} + +.bg-white { + background-color: #ffffff !important; +} + +.bg-transparent { + background-color: transparent !important; +} + +.border { + border: 0.0625rem solid #e9ecef !important; +} + +.border-top { + border-top: 0.0625rem solid #e9ecef !important; +} + +.border-right { + border-right: 0.0625rem solid #e9ecef !important; +} + +.border-bottom { + border-bottom: 0.0625rem solid #e9ecef !important; +} + +.border-left { + border-left: 0.0625rem solid #e9ecef !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-right-0 { + border-right: 0 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-left-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #e14eca !important; +} + +.border-secondary { + border-color: #f4f5f7 !important; +} + +.border-success { + border-color: #00f2c3 !important; +} + +.border-info { + border-color: #1d8cf8 !important; +} + +.border-warning { + border-color: #ff8d72 !important; +} + +.border-danger { + border-color: #fd5d93 !important; +} + +.border-light { + border-color: #adb5bd !important; +} + +.border-dark { + border-color: #212529 !important; +} + +.border-default { + border-color: #344675 !important; +} + +.border-white { + border-color: #ffffff !important; +} + +.border-neutral { + border-color: #ffffff !important; +} + +.border-darker { + border-color: black !important; +} + +.border-white { + border-color: #ffffff !important; +} + +.rounded-sm { + border-radius: 0.2857rem !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-lg { + border-radius: 0.4285rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.d-none { + display: none !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; + } + + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !important; + } + + .d-sm-table { + display: table !important; + } + + .d-sm-table-row { + display: table-row !important; + } + + .d-sm-table-cell { + display: table-cell !important; + } + + .d-sm-flex { + display: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 768px) { + .d-md-none { + display: none !important; + } + + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-table { + display: table !important; + } + + .d-md-table-row { + display: table-row !important; + } + + .d-md-table-cell { + display: table-cell !important; + } + + .d-md-flex { + display: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; + } + + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !important; + } + + .d-lg-table { + display: table !important; + } + + .d-lg-table-row { + display: table-row !important; + } + + .d-lg-table-cell { + display: table-cell !important; + } + + .d-lg-flex { + display: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } +} + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; + } + + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !important; + } + + .d-xl-table { + display: table !important; + } + + .d-xl-table-row { + display: table-row !important; + } + + .d-xl-table-cell { + display: table-cell !important; + } + + .d-xl-flex { + display: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } +} + +@media print { + .d-print-none { + display: none !important; + } + + .d-print-inline { + display: inline !important; + } + + .d-print-inline-block { + display: inline-block !important; + } + + .d-print-block { + display: block !important; + } + + .d-print-table { + display: table !important; + } + + .d-print-table-row { + display: table-row !important; + } + + .d-print-table-cell { + display: table-cell !important; + } + + .d-print-flex { + display: flex !important; + } + + .d-print-inline-flex { + display: inline-flex !important; + } +} + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; +} + +.embed-responsive::before { + display: block; + content: ""; +} + +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} + +.embed-responsive-21by9::before { + padding-top: 42.857143%; +} + +.embed-responsive-16by9::before { + padding-top: 56.25%; +} + +.embed-responsive-4by3::before { + padding-top: 75%; +} + +.embed-responsive-1by1::before { + padding-top: 100%; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +@media (min-width: 576px) { + .flex-sm-row { + flex-direction: row !important; + } + + .flex-sm-column { + flex-direction: column !important; + } + + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-sm-wrap { + flex-wrap: wrap !important; + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-sm-fill { + flex: 1 1 auto !important; + } + + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-sm-start { + justify-content: flex-start !important; + } + + .justify-content-sm-end { + justify-content: flex-end !important; + } + + .justify-content-sm-center { + justify-content: center !important; + } + + .justify-content-sm-between { + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .align-items-sm-start { + align-items: flex-start !important; + } + + .align-items-sm-end { + align-items: flex-end !important; + } + + .align-items-sm-center { + align-items: center !important; + } + + .align-items-sm-baseline { + align-items: baseline !important; + } + + .align-items-sm-stretch { + align-items: stretch !important; + } + + .align-content-sm-start { + align-content: flex-start !important; + } + + .align-content-sm-end { + align-content: flex-end !important; + } + + .align-content-sm-center { + align-content: center !important; + } + + .align-content-sm-between { + align-content: space-between !important; + } + + .align-content-sm-around { + align-content: space-around !important; + } + + .align-content-sm-stretch { + align-content: stretch !important; + } + + .align-self-sm-auto { + align-self: auto !important; + } + + .align-self-sm-start { + align-self: flex-start !important; + } + + .align-self-sm-end { + align-self: flex-end !important; + } + + .align-self-sm-center { + align-self: center !important; + } + + .align-self-sm-baseline { + align-self: baseline !important; + } + + .align-self-sm-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 768px) { + .flex-md-row { + flex-direction: row !important; + } + + .flex-md-column { + flex-direction: column !important; + } + + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-md-wrap { + flex-wrap: wrap !important; + } + + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-md-fill { + flex: 1 1 auto !important; + } + + .flex-md-grow-0 { + flex-grow: 0 !important; + } + + .flex-md-grow-1 { + flex-grow: 1 !important; + } + + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-md-start { + justify-content: flex-start !important; + } + + .justify-content-md-end { + justify-content: flex-end !important; + } + + .justify-content-md-center { + justify-content: center !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .align-items-md-start { + align-items: flex-start !important; + } + + .align-items-md-end { + align-items: flex-end !important; + } + + .align-items-md-center { + align-items: center !important; + } + + .align-items-md-baseline { + align-items: baseline !important; + } + + .align-items-md-stretch { + align-items: stretch !important; + } + + .align-content-md-start { + align-content: flex-start !important; + } + + .align-content-md-end { + align-content: flex-end !important; + } + + .align-content-md-center { + align-content: center !important; + } + + .align-content-md-between { + align-content: space-between !important; + } + + .align-content-md-around { + align-content: space-around !important; + } + + .align-content-md-stretch { + align-content: stretch !important; + } + + .align-self-md-auto { + align-self: auto !important; + } + + .align-self-md-start { + align-self: flex-start !important; + } + + .align-self-md-end { + align-self: flex-end !important; + } + + .align-self-md-center { + align-self: center !important; + } + + .align-self-md-baseline { + align-self: baseline !important; + } + + .align-self-md-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 992px) { + .flex-lg-row { + flex-direction: row !important; + } + + .flex-lg-column { + flex-direction: column !important; + } + + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-lg-wrap { + flex-wrap: wrap !important; + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-lg-fill { + flex: 1 1 auto !important; + } + + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-lg-start { + justify-content: flex-start !important; + } + + .justify-content-lg-end { + justify-content: flex-end !important; + } + + .justify-content-lg-center { + justify-content: center !important; + } + + .justify-content-lg-between { + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .align-items-lg-start { + align-items: flex-start !important; + } + + .align-items-lg-end { + align-items: flex-end !important; + } + + .align-items-lg-center { + align-items: center !important; + } + + .align-items-lg-baseline { + align-items: baseline !important; + } + + .align-items-lg-stretch { + align-items: stretch !important; + } + + .align-content-lg-start { + align-content: flex-start !important; + } + + .align-content-lg-end { + align-content: flex-end !important; + } + + .align-content-lg-center { + align-content: center !important; + } + + .align-content-lg-between { + align-content: space-between !important; + } + + .align-content-lg-around { + align-content: space-around !important; + } + + .align-content-lg-stretch { + align-content: stretch !important; + } + + .align-self-lg-auto { + align-self: auto !important; + } + + .align-self-lg-start { + align-self: flex-start !important; + } + + .align-self-lg-end { + align-self: flex-end !important; + } + + .align-self-lg-center { + align-self: center !important; + } + + .align-self-lg-baseline { + align-self: baseline !important; + } + + .align-self-lg-stretch { + align-self: stretch !important; + } +} + +@media (min-width: 1200px) { + .flex-xl-row { + flex-direction: row !important; + } + + .flex-xl-column { + flex-direction: column !important; + } + + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xl-wrap { + flex-wrap: wrap !important; + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .flex-xl-fill { + flex: 1 1 auto !important; + } + + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + + .justify-content-xl-start { + justify-content: flex-start !important; + } + + .justify-content-xl-end { + justify-content: flex-end !important; + } + + .justify-content-xl-center { + justify-content: center !important; + } + + .justify-content-xl-between { + justify-content: space-between !important; + } + + .justify-content-xl-around { + justify-content: space-around !important; + } + + .align-items-xl-start { + align-items: flex-start !important; + } + + .align-items-xl-end { + align-items: flex-end !important; + } + + .align-items-xl-center { + align-items: center !important; + } + + .align-items-xl-baseline { + align-items: baseline !important; + } + + .align-items-xl-stretch { + align-items: stretch !important; + } + + .align-content-xl-start { + align-content: flex-start !important; + } + + .align-content-xl-end { + align-content: flex-end !important; + } + + .align-content-xl-center { + align-content: center !important; + } + + .align-content-xl-between { + align-content: space-between !important; + } + + .align-content-xl-around { + align-content: space-around !important; + } + + .align-content-xl-stretch { + align-content: stretch !important; + } + + .align-self-xl-auto { + align-self: auto !important; + } + + .align-self-xl-start { + align-self: flex-start !important; + } + + .align-self-xl-end { + align-self: flex-end !important; + } + + .align-self-xl-center { + align-self: center !important; + } + + .align-self-xl-baseline { + align-self: baseline !important; + } + + .align-self-xl-stretch { + align-self: stretch !important; + } +} + +.float-left { + float: left !important; +} + +.float-right { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; + } + + .float-sm-right { + float: right !important; + } + + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-left { + float: left !important; + } + + .float-md-right { + float: right !important; + } + + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; + } + + .float-lg-right { + float: right !important; + } + + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; + } + + .float-xl-right { + float: right !important; + } + + .float-xl-none { + float: none !important; + } +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +@supports (position: sticky) { + .sticky-top { + position: sticky; + top: 0; + z-index: 1020; + } +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(34, 42, 66, 0.075) !important; +} + +.shadow { + box-shadow: 0 1px 20px 0px rgba(0, 0, 0, 0.1) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(34, 42, 66, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.vw-100 { + width: 100vw !important; +} + +.vh-100 { + height: 100vh !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); +} + +.m-0 { + margin: 0 !important; +} + +.mt-0, +.my-0 { + margin-top: 0 !important; +} + +.mr-0, +.mx-0 { + margin-right: 0 !important; +} + +.mb-0, +.my-0 { + margin-bottom: 0 !important; +} + +.ml-0, +.mx-0 { + margin-left: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; +} + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; +} + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; +} + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.mt-3, +.my-3 { + margin-top: 1rem !important; +} + +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; +} + +.ml-3, +.mx-3 { + margin-left: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; +} + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; +} + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; +} + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.mt-5, +.my-5 { + margin-top: 3rem !important; +} + +.mr-5, +.mx-5 { + margin-right: 3rem !important; +} + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; +} + +.ml-5, +.mx-5 { + margin-left: 3rem !important; +} + +.m-sm { + margin: 2rem !important; +} + +.mt-sm, +.my-sm { + margin-top: 2rem !important; +} + +.mr-sm, +.mx-sm { + margin-right: 2rem !important; +} + +.mb-sm, +.my-sm { + margin-bottom: 2rem !important; +} + +.ml-sm, +.mx-sm { + margin-left: 2rem !important; +} + +.m-md { + margin: 4rem !important; +} + +.mt-md, +.my-md { + margin-top: 4rem !important; +} + +.mr-md, +.mx-md { + margin-right: 4rem !important; +} + +.mb-md, +.my-md { + margin-bottom: 4rem !important; +} + +.ml-md, +.mx-md { + margin-left: 4rem !important; +} + +.m-lg { + margin: 6rem !important; +} + +.mt-lg, +.my-lg { + margin-top: 6rem !important; +} + +.mr-lg, +.mx-lg { + margin-right: 6rem !important; +} + +.mb-lg, +.my-lg { + margin-bottom: 6rem !important; +} + +.ml-lg, +.mx-lg { + margin-left: 6rem !important; +} + +.m-xl { + margin: 8rem !important; +} + +.mt-xl, +.my-xl { + margin-top: 8rem !important; +} + +.mr-xl, +.mx-xl { + margin-right: 8rem !important; +} + +.mb-xl, +.my-xl { + margin-bottom: 8rem !important; +} + +.ml-xl, +.mx-xl { + margin-left: 8rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0, +.py-0 { + padding-top: 0 !important; +} + +.pr-0, +.px-0 { + padding-right: 0 !important; +} + +.pb-0, +.py-0 { + padding-bottom: 0 !important; +} + +.pl-0, +.px-0 { + padding-left: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; +} + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; +} + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.pt-3, +.py-3 { + padding-top: 1rem !important; +} + +.pr-3, +.px-3 { + padding-right: 1rem !important; +} + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; +} + +.pl-3, +.px-3 { + padding-left: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; +} + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; +} + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; +} + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.pt-5, +.py-5 { + padding-top: 3rem !important; +} + +.pr-5, +.px-5 { + padding-right: 3rem !important; +} + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; +} + +.pl-5, +.px-5 { + padding-left: 3rem !important; +} + +.p-sm { + padding: 2rem !important; +} + +.pt-sm, +.py-sm { + padding-top: 2rem !important; +} + +.pr-sm, +.px-sm { + padding-right: 2rem !important; +} + +.pb-sm, +.py-sm { + padding-bottom: 2rem !important; +} + +.pl-sm, +.px-sm { + padding-left: 2rem !important; +} + +.p-md { + padding: 4rem !important; +} + +.pt-md, +.py-md { + padding-top: 4rem !important; +} + +.pr-md, +.px-md { + padding-right: 4rem !important; +} + +.pb-md, +.py-md { + padding-bottom: 4rem !important; +} + +.pl-md, +.px-md { + padding-left: 4rem !important; +} + +.p-lg { + padding: 6rem !important; +} + +.pt-lg, +.py-lg { + padding-top: 6rem !important; +} + +.pr-lg, +.px-lg { + padding-right: 6rem !important; +} + +.pb-lg, +.py-lg { + padding-bottom: 6rem !important; +} + +.pl-lg, +.px-lg { + padding-left: 6rem !important; +} + +.p-xl { + padding: 8rem !important; +} + +.pt-xl, +.py-xl { + padding-top: 8rem !important; +} + +.pr-xl, +.px-xl { + padding-right: 8rem !important; +} + +.pb-xl, +.py-xl { + padding-bottom: 8rem !important; +} + +.pl-xl, +.px-xl { + padding-left: 8rem !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; +} + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; +} + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; +} + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; +} + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; +} + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; +} + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; +} + +.m-n3 { + margin: -1rem !important; +} + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; +} + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; +} + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; +} + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; +} + +.m-n4 { + margin: -1.5rem !important; +} + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; +} + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; +} + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; +} + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; +} + +.m-n5 { + margin: -3rem !important; +} + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; +} + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; +} + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; +} + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; +} + +.m-nsm { + margin: -2rem !important; +} + +.mt-nsm, +.my-nsm { + margin-top: -2rem !important; +} + +.mr-nsm, +.mx-nsm { + margin-right: -2rem !important; +} + +.mb-nsm, +.my-nsm { + margin-bottom: -2rem !important; +} + +.ml-nsm, +.mx-nsm { + margin-left: -2rem !important; +} + +.m-nmd { + margin: -4rem !important; +} + +.mt-nmd, +.my-nmd { + margin-top: -4rem !important; +} + +.mr-nmd, +.mx-nmd { + margin-right: -4rem !important; +} + +.mb-nmd, +.my-nmd { + margin-bottom: -4rem !important; +} + +.ml-nmd, +.mx-nmd { + margin-left: -4rem !important; +} + +.m-nlg { + margin: -6rem !important; +} + +.mt-nlg, +.my-nlg { + margin-top: -6rem !important; +} + +.mr-nlg, +.mx-nlg { + margin-right: -6rem !important; +} + +.mb-nlg, +.my-nlg { + margin-bottom: -6rem !important; +} + +.ml-nlg, +.mx-nlg { + margin-left: -6rem !important; +} + +.m-nxl { + margin: -8rem !important; +} + +.mt-nxl, +.my-nxl { + margin-top: -8rem !important; +} + +.mr-nxl, +.mx-nxl { + margin-right: -8rem !important; +} + +.mb-nxl, +.my-nxl { + margin-bottom: -8rem !important; +} + +.ml-nxl, +.mx-nxl { + margin-left: -8rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto, +.my-auto { + margin-top: auto !important; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.mb-auto, +.my-auto { + margin-bottom: auto !important; +} + +.ml-auto, +.mx-auto { + margin-left: auto !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; + } + + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; + } + + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; + } + + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; + } + + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; + } + + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; + } + + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; + } + + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; + } + + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; + } + + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; + } + + .m-sm-3 { + margin: 1rem !important; + } + + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; + } + + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; + } + + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; + } + + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; + } + + .m-sm-4 { + margin: 1.5rem !important; + } + + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; + } + + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; + } + + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; + } + + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; + } + + .m-sm-5 { + margin: 3rem !important; + } + + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; + } + + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; + } + + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; + } + + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; + } + + .m-sm-sm { + margin: 2rem !important; + } + + .mt-sm-sm, + .my-sm-sm { + margin-top: 2rem !important; + } + + .mr-sm-sm, + .mx-sm-sm { + margin-right: 2rem !important; + } + + .mb-sm-sm, + .my-sm-sm { + margin-bottom: 2rem !important; + } + + .ml-sm-sm, + .mx-sm-sm { + margin-left: 2rem !important; + } + + .m-sm-md { + margin: 4rem !important; + } + + .mt-sm-md, + .my-sm-md { + margin-top: 4rem !important; + } + + .mr-sm-md, + .mx-sm-md { + margin-right: 4rem !important; + } + + .mb-sm-md, + .my-sm-md { + margin-bottom: 4rem !important; + } + + .ml-sm-md, + .mx-sm-md { + margin-left: 4rem !important; + } + + .m-sm-lg { + margin: 6rem !important; + } + + .mt-sm-lg, + .my-sm-lg { + margin-top: 6rem !important; + } + + .mr-sm-lg, + .mx-sm-lg { + margin-right: 6rem !important; + } + + .mb-sm-lg, + .my-sm-lg { + margin-bottom: 6rem !important; + } + + .ml-sm-lg, + .mx-sm-lg { + margin-left: 6rem !important; + } + + .m-sm-xl { + margin: 8rem !important; + } + + .mt-sm-xl, + .my-sm-xl { + margin-top: 8rem !important; + } + + .mr-sm-xl, + .mx-sm-xl { + margin-right: 8rem !important; + } + + .mb-sm-xl, + .my-sm-xl { + margin-bottom: 8rem !important; + } + + .ml-sm-xl, + .mx-sm-xl { + margin-left: 8rem !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; + } + + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; + } + + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; + } + + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; + } + + .p-sm-1 { + padding: 0.25rem !important; + } + + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; + } + + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; + } + + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; + } + + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; + } + + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; + } + + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; + } + + .p-sm-3 { + padding: 1rem !important; + } + + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; + } + + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; + } + + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; + } + + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; + } + + .p-sm-4 { + padding: 1.5rem !important; + } + + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; + } + + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; + } + + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; + } + + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; + } + + .p-sm-5 { + padding: 3rem !important; + } + + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; + } + + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; + } + + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; + } + + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; + } + + .p-sm-sm { + padding: 2rem !important; + } + + .pt-sm-sm, + .py-sm-sm { + padding-top: 2rem !important; + } + + .pr-sm-sm, + .px-sm-sm { + padding-right: 2rem !important; + } + + .pb-sm-sm, + .py-sm-sm { + padding-bottom: 2rem !important; + } + + .pl-sm-sm, + .px-sm-sm { + padding-left: 2rem !important; + } + + .p-sm-md { + padding: 4rem !important; + } + + .pt-sm-md, + .py-sm-md { + padding-top: 4rem !important; + } + + .pr-sm-md, + .px-sm-md { + padding-right: 4rem !important; + } + + .pb-sm-md, + .py-sm-md { + padding-bottom: 4rem !important; + } + + .pl-sm-md, + .px-sm-md { + padding-left: 4rem !important; + } + + .p-sm-lg { + padding: 6rem !important; + } + + .pt-sm-lg, + .py-sm-lg { + padding-top: 6rem !important; + } + + .pr-sm-lg, + .px-sm-lg { + padding-right: 6rem !important; + } + + .pb-sm-lg, + .py-sm-lg { + padding-bottom: 6rem !important; + } + + .pl-sm-lg, + .px-sm-lg { + padding-left: 6rem !important; + } + + .p-sm-xl { + padding: 8rem !important; + } + + .pt-sm-xl, + .py-sm-xl { + padding-top: 8rem !important; + } + + .pr-sm-xl, + .px-sm-xl { + padding-right: 8rem !important; + } + + .pb-sm-xl, + .py-sm-xl { + padding-bottom: 8rem !important; + } + + .pl-sm-xl, + .px-sm-xl { + padding-left: 8rem !important; + } + + .m-sm-n1 { + margin: -0.25rem !important; + } + + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; + } + + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; + } + + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; + } + + .m-sm-n2 { + margin: -0.5rem !important; + } + + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; + } + + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; + } + + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; + } + + .m-sm-n3 { + margin: -1rem !important; + } + + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; + } + + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; + } + + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; + } + + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; + } + + .m-sm-n4 { + margin: -1.5rem !important; + } + + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; + } + + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; + } + + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; + } + + .m-sm-n5 { + margin: -3rem !important; + } + + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; + } + + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; + } + + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; + } + + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; + } + + .m-sm-nsm { + margin: -2rem !important; + } + + .mt-sm-nsm, + .my-sm-nsm { + margin-top: -2rem !important; + } + + .mr-sm-nsm, + .mx-sm-nsm { + margin-right: -2rem !important; + } + + .mb-sm-nsm, + .my-sm-nsm { + margin-bottom: -2rem !important; + } + + .ml-sm-nsm, + .mx-sm-nsm { + margin-left: -2rem !important; + } + + .m-sm-nmd { + margin: -4rem !important; + } + + .mt-sm-nmd, + .my-sm-nmd { + margin-top: -4rem !important; + } + + .mr-sm-nmd, + .mx-sm-nmd { + margin-right: -4rem !important; + } + + .mb-sm-nmd, + .my-sm-nmd { + margin-bottom: -4rem !important; + } + + .ml-sm-nmd, + .mx-sm-nmd { + margin-left: -4rem !important; + } + + .m-sm-nlg { + margin: -6rem !important; + } + + .mt-sm-nlg, + .my-sm-nlg { + margin-top: -6rem !important; + } + + .mr-sm-nlg, + .mx-sm-nlg { + margin-right: -6rem !important; + } + + .mb-sm-nlg, + .my-sm-nlg { + margin-bottom: -6rem !important; + } + + .ml-sm-nlg, + .mx-sm-nlg { + margin-left: -6rem !important; + } + + .m-sm-nxl { + margin: -8rem !important; + } + + .mt-sm-nxl, + .my-sm-nxl { + margin-top: -8rem !important; + } + + .mr-sm-nxl, + .mx-sm-nxl { + margin-right: -8rem !important; + } + + .mb-sm-nxl, + .my-sm-nxl { + margin-bottom: -8rem !important; + } + + .ml-sm-nxl, + .mx-sm-nxl { + margin-left: -8rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; + } + + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; + } + + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; + } + + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; + } + + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; + } + + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; + } + + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; + } + + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; + } + + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; + } + + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; + } + + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; + } + + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; + } + + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; + } + + .m-md-3 { + margin: 1rem !important; + } + + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; + } + + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; + } + + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; + } + + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; + } + + .m-md-4 { + margin: 1.5rem !important; + } + + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; + } + + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; + } + + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; + } + + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; + } + + .m-md-5 { + margin: 3rem !important; + } + + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; + } + + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; + } + + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; + } + + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; + } + + .m-md-sm { + margin: 2rem !important; + } + + .mt-md-sm, + .my-md-sm { + margin-top: 2rem !important; + } + + .mr-md-sm, + .mx-md-sm { + margin-right: 2rem !important; + } + + .mb-md-sm, + .my-md-sm { + margin-bottom: 2rem !important; + } + + .ml-md-sm, + .mx-md-sm { + margin-left: 2rem !important; + } + + .m-md-md { + margin: 4rem !important; + } + + .mt-md-md, + .my-md-md { + margin-top: 4rem !important; + } + + .mr-md-md, + .mx-md-md { + margin-right: 4rem !important; + } + + .mb-md-md, + .my-md-md { + margin-bottom: 4rem !important; + } + + .ml-md-md, + .mx-md-md { + margin-left: 4rem !important; + } + + .m-md-lg { + margin: 6rem !important; + } + + .mt-md-lg, + .my-md-lg { + margin-top: 6rem !important; + } + + .mr-md-lg, + .mx-md-lg { + margin-right: 6rem !important; + } + + .mb-md-lg, + .my-md-lg { + margin-bottom: 6rem !important; + } + + .ml-md-lg, + .mx-md-lg { + margin-left: 6rem !important; + } + + .m-md-xl { + margin: 8rem !important; + } + + .mt-md-xl, + .my-md-xl { + margin-top: 8rem !important; + } + + .mr-md-xl, + .mx-md-xl { + margin-right: 8rem !important; + } + + .mb-md-xl, + .my-md-xl { + margin-bottom: 8rem !important; + } + + .ml-md-xl, + .mx-md-xl { + margin-left: 8rem !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; + } + + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; + } + + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; + } + + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; + } + + .p-md-1 { + padding: 0.25rem !important; + } + + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; + } + + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; + } + + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; + } + + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; + } + + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; + } + + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; + } + + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; + } + + .p-md-3 { + padding: 1rem !important; + } + + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; + } + + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; + } + + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; + } + + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; + } + + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; + } + + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; + } + + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; + } + + .p-md-5 { + padding: 3rem !important; + } + + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; + } + + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; + } + + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; + } + + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; + } + + .p-md-sm { + padding: 2rem !important; + } + + .pt-md-sm, + .py-md-sm { + padding-top: 2rem !important; + } + + .pr-md-sm, + .px-md-sm { + padding-right: 2rem !important; + } + + .pb-md-sm, + .py-md-sm { + padding-bottom: 2rem !important; + } + + .pl-md-sm, + .px-md-sm { + padding-left: 2rem !important; + } + + .p-md-md { + padding: 4rem !important; + } + + .pt-md-md, + .py-md-md { + padding-top: 4rem !important; + } + + .pr-md-md, + .px-md-md { + padding-right: 4rem !important; + } + + .pb-md-md, + .py-md-md { + padding-bottom: 4rem !important; + } + + .pl-md-md, + .px-md-md { + padding-left: 4rem !important; + } + + .p-md-lg { + padding: 6rem !important; + } + + .pt-md-lg, + .py-md-lg { + padding-top: 6rem !important; + } + + .pr-md-lg, + .px-md-lg { + padding-right: 6rem !important; + } + + .pb-md-lg, + .py-md-lg { + padding-bottom: 6rem !important; + } + + .pl-md-lg, + .px-md-lg { + padding-left: 6rem !important; + } + + .p-md-xl { + padding: 8rem !important; + } + + .pt-md-xl, + .py-md-xl { + padding-top: 8rem !important; + } + + .pr-md-xl, + .px-md-xl { + padding-right: 8rem !important; + } + + .pb-md-xl, + .py-md-xl { + padding-bottom: 8rem !important; + } + + .pl-md-xl, + .px-md-xl { + padding-left: 8rem !important; + } + + .m-md-n1 { + margin: -0.25rem !important; + } + + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; + } + + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; + } + + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; + } + + .m-md-n2 { + margin: -0.5rem !important; + } + + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; + } + + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; + } + + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; + } + + .m-md-n3 { + margin: -1rem !important; + } + + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; + } + + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; + } + + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; + } + + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; + } + + .m-md-n4 { + margin: -1.5rem !important; + } + + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; + } + + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; + } + + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; + } + + .m-md-n5 { + margin: -3rem !important; + } + + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; + } + + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; + } + + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; + } + + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; + } + + .m-md-nsm { + margin: -2rem !important; + } + + .mt-md-nsm, + .my-md-nsm { + margin-top: -2rem !important; + } + + .mr-md-nsm, + .mx-md-nsm { + margin-right: -2rem !important; + } + + .mb-md-nsm, + .my-md-nsm { + margin-bottom: -2rem !important; + } + + .ml-md-nsm, + .mx-md-nsm { + margin-left: -2rem !important; + } + + .m-md-nmd { + margin: -4rem !important; + } + + .mt-md-nmd, + .my-md-nmd { + margin-top: -4rem !important; + } + + .mr-md-nmd, + .mx-md-nmd { + margin-right: -4rem !important; + } + + .mb-md-nmd, + .my-md-nmd { + margin-bottom: -4rem !important; + } + + .ml-md-nmd, + .mx-md-nmd { + margin-left: -4rem !important; + } + + .m-md-nlg { + margin: -6rem !important; + } + + .mt-md-nlg, + .my-md-nlg { + margin-top: -6rem !important; + } + + .mr-md-nlg, + .mx-md-nlg { + margin-right: -6rem !important; + } + + .mb-md-nlg, + .my-md-nlg { + margin-bottom: -6rem !important; + } + + .ml-md-nlg, + .mx-md-nlg { + margin-left: -6rem !important; + } + + .m-md-nxl { + margin: -8rem !important; + } + + .mt-md-nxl, + .my-md-nxl { + margin-top: -8rem !important; + } + + .mr-md-nxl, + .mx-md-nxl { + margin-right: -8rem !important; + } + + .mb-md-nxl, + .my-md-nxl { + margin-bottom: -8rem !important; + } + + .ml-md-nxl, + .mx-md-nxl { + margin-left: -8rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; + } + + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; + } + + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; + } + + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; + } + + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; + } + + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; + } + + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; + } + + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; + } + + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; + } + + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; + } + + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; + } + + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; + } + + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; + } + + .m-lg-3 { + margin: 1rem !important; + } + + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; + } + + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; + } + + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; + } + + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; + } + + .m-lg-4 { + margin: 1.5rem !important; + } + + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; + } + + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; + } + + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; + } + + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; + } + + .m-lg-5 { + margin: 3rem !important; + } + + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; + } + + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; + } + + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; + } + + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; + } + + .m-lg-sm { + margin: 2rem !important; + } + + .mt-lg-sm, + .my-lg-sm { + margin-top: 2rem !important; + } + + .mr-lg-sm, + .mx-lg-sm { + margin-right: 2rem !important; + } + + .mb-lg-sm, + .my-lg-sm { + margin-bottom: 2rem !important; + } + + .ml-lg-sm, + .mx-lg-sm { + margin-left: 2rem !important; + } + + .m-lg-md { + margin: 4rem !important; + } + + .mt-lg-md, + .my-lg-md { + margin-top: 4rem !important; + } + + .mr-lg-md, + .mx-lg-md { + margin-right: 4rem !important; + } + + .mb-lg-md, + .my-lg-md { + margin-bottom: 4rem !important; + } + + .ml-lg-md, + .mx-lg-md { + margin-left: 4rem !important; + } + + .m-lg-lg { + margin: 6rem !important; + } + + .mt-lg-lg, + .my-lg-lg { + margin-top: 6rem !important; + } + + .mr-lg-lg, + .mx-lg-lg { + margin-right: 6rem !important; + } + + .mb-lg-lg, + .my-lg-lg { + margin-bottom: 6rem !important; + } + + .ml-lg-lg, + .mx-lg-lg { + margin-left: 6rem !important; + } + + .m-lg-xl { + margin: 8rem !important; + } + + .mt-lg-xl, + .my-lg-xl { + margin-top: 8rem !important; + } + + .mr-lg-xl, + .mx-lg-xl { + margin-right: 8rem !important; + } + + .mb-lg-xl, + .my-lg-xl { + margin-bottom: 8rem !important; + } + + .ml-lg-xl, + .mx-lg-xl { + margin-left: 8rem !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; + } + + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; + } + + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; + } + + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; + } + + .p-lg-1 { + padding: 0.25rem !important; + } + + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; + } + + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; + } + + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; + } + + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; + } + + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; + } + + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; + } + + .p-lg-3 { + padding: 1rem !important; + } + + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; + } + + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; + } + + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; + } + + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; + } + + .p-lg-4 { + padding: 1.5rem !important; + } + + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; + } + + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; + } + + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; + } + + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; + } + + .p-lg-5 { + padding: 3rem !important; + } + + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; + } + + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; + } + + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; + } + + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; + } + + .p-lg-sm { + padding: 2rem !important; + } + + .pt-lg-sm, + .py-lg-sm { + padding-top: 2rem !important; + } + + .pr-lg-sm, + .px-lg-sm { + padding-right: 2rem !important; + } + + .pb-lg-sm, + .py-lg-sm { + padding-bottom: 2rem !important; + } + + .pl-lg-sm, + .px-lg-sm { + padding-left: 2rem !important; + } + + .p-lg-md { + padding: 4rem !important; + } + + .pt-lg-md, + .py-lg-md { + padding-top: 4rem !important; + } + + .pr-lg-md, + .px-lg-md { + padding-right: 4rem !important; + } + + .pb-lg-md, + .py-lg-md { + padding-bottom: 4rem !important; + } + + .pl-lg-md, + .px-lg-md { + padding-left: 4rem !important; + } + + .p-lg-lg { + padding: 6rem !important; + } + + .pt-lg-lg, + .py-lg-lg { + padding-top: 6rem !important; + } + + .pr-lg-lg, + .px-lg-lg { + padding-right: 6rem !important; + } + + .pb-lg-lg, + .py-lg-lg { + padding-bottom: 6rem !important; + } + + .pl-lg-lg, + .px-lg-lg { + padding-left: 6rem !important; + } + + .p-lg-xl { + padding: 8rem !important; + } + + .pt-lg-xl, + .py-lg-xl { + padding-top: 8rem !important; + } + + .pr-lg-xl, + .px-lg-xl { + padding-right: 8rem !important; + } + + .pb-lg-xl, + .py-lg-xl { + padding-bottom: 8rem !important; + } + + .pl-lg-xl, + .px-lg-xl { + padding-left: 8rem !important; + } + + .m-lg-n1 { + margin: -0.25rem !important; + } + + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; + } + + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; + } + + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; + } + + .m-lg-n2 { + margin: -0.5rem !important; + } + + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; + } + + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; + } + + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; + } + + .m-lg-n3 { + margin: -1rem !important; + } + + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; + } + + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; + } + + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; + } + + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; + } + + .m-lg-n4 { + margin: -1.5rem !important; + } + + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; + } + + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; + } + + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; + } + + .m-lg-n5 { + margin: -3rem !important; + } + + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; + } + + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; + } + + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; + } + + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; + } + + .m-lg-nsm { + margin: -2rem !important; + } + + .mt-lg-nsm, + .my-lg-nsm { + margin-top: -2rem !important; + } + + .mr-lg-nsm, + .mx-lg-nsm { + margin-right: -2rem !important; + } + + .mb-lg-nsm, + .my-lg-nsm { + margin-bottom: -2rem !important; + } + + .ml-lg-nsm, + .mx-lg-nsm { + margin-left: -2rem !important; + } + + .m-lg-nmd { + margin: -4rem !important; + } + + .mt-lg-nmd, + .my-lg-nmd { + margin-top: -4rem !important; + } + + .mr-lg-nmd, + .mx-lg-nmd { + margin-right: -4rem !important; + } + + .mb-lg-nmd, + .my-lg-nmd { + margin-bottom: -4rem !important; + } + + .ml-lg-nmd, + .mx-lg-nmd { + margin-left: -4rem !important; + } + + .m-lg-nlg { + margin: -6rem !important; + } + + .mt-lg-nlg, + .my-lg-nlg { + margin-top: -6rem !important; + } + + .mr-lg-nlg, + .mx-lg-nlg { + margin-right: -6rem !important; + } + + .mb-lg-nlg, + .my-lg-nlg { + margin-bottom: -6rem !important; + } + + .ml-lg-nlg, + .mx-lg-nlg { + margin-left: -6rem !important; + } + + .m-lg-nxl { + margin: -8rem !important; + } + + .mt-lg-nxl, + .my-lg-nxl { + margin-top: -8rem !important; + } + + .mr-lg-nxl, + .mx-lg-nxl { + margin-right: -8rem !important; + } + + .mb-lg-nxl, + .my-lg-nxl { + margin-bottom: -8rem !important; + } + + .ml-lg-nxl, + .mx-lg-nxl { + margin-left: -8rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; + } + + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; + } + + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; + } + + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; + } + + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; + } + + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; + } + + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; + } + + .m-xl-1 { + margin: 0.25rem !important; + } + + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; + } + + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; + } + + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; + } + + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.5rem !important; + } + + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; + } + + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; + } + + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; + } + + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; + } + + .m-xl-3 { + margin: 1rem !important; + } + + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; + } + + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; + } + + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; + } + + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; + } + + .m-xl-4 { + margin: 1.5rem !important; + } + + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; + } + + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; + } + + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; + } + + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; + } + + .m-xl-5 { + margin: 3rem !important; + } + + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; + } + + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; + } + + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; + } + + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; + } + + .m-xl-sm { + margin: 2rem !important; + } + + .mt-xl-sm, + .my-xl-sm { + margin-top: 2rem !important; + } + + .mr-xl-sm, + .mx-xl-sm { + margin-right: 2rem !important; + } + + .mb-xl-sm, + .my-xl-sm { + margin-bottom: 2rem !important; + } + + .ml-xl-sm, + .mx-xl-sm { + margin-left: 2rem !important; + } + + .m-xl-md { + margin: 4rem !important; + } + + .mt-xl-md, + .my-xl-md { + margin-top: 4rem !important; + } + + .mr-xl-md, + .mx-xl-md { + margin-right: 4rem !important; + } + + .mb-xl-md, + .my-xl-md { + margin-bottom: 4rem !important; + } + + .ml-xl-md, + .mx-xl-md { + margin-left: 4rem !important; + } + + .m-xl-lg { + margin: 6rem !important; + } + + .mt-xl-lg, + .my-xl-lg { + margin-top: 6rem !important; + } + + .mr-xl-lg, + .mx-xl-lg { + margin-right: 6rem !important; + } + + .mb-xl-lg, + .my-xl-lg { + margin-bottom: 6rem !important; + } + + .ml-xl-lg, + .mx-xl-lg { + margin-left: 6rem !important; + } + + .m-xl-xl { + margin: 8rem !important; + } + + .mt-xl-xl, + .my-xl-xl { + margin-top: 8rem !important; + } + + .mr-xl-xl, + .mx-xl-xl { + margin-right: 8rem !important; + } + + .mb-xl-xl, + .my-xl-xl { + margin-bottom: 8rem !important; + } + + .ml-xl-xl, + .mx-xl-xl { + margin-left: 8rem !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; + } + + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; + } + + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; + } + + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; + } + + .p-xl-1 { + padding: 0.25rem !important; + } + + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; + } + + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; + } + + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; + } + + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.5rem !important; + } + + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; + } + + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; + } + + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; + } + + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; + } + + .p-xl-3 { + padding: 1rem !important; + } + + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; + } + + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; + } + + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; + } + + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; + } + + .p-xl-4 { + padding: 1.5rem !important; + } + + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; + } + + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; + } + + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; + } + + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; + } + + .p-xl-5 { + padding: 3rem !important; + } + + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; + } + + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; + } + + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; + } + + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; + } + + .p-xl-sm { + padding: 2rem !important; + } + + .pt-xl-sm, + .py-xl-sm { + padding-top: 2rem !important; + } + + .pr-xl-sm, + .px-xl-sm { + padding-right: 2rem !important; + } + + .pb-xl-sm, + .py-xl-sm { + padding-bottom: 2rem !important; + } + + .pl-xl-sm, + .px-xl-sm { + padding-left: 2rem !important; + } + + .p-xl-md { + padding: 4rem !important; + } + + .pt-xl-md, + .py-xl-md { + padding-top: 4rem !important; + } + + .pr-xl-md, + .px-xl-md { + padding-right: 4rem !important; + } + + .pb-xl-md, + .py-xl-md { + padding-bottom: 4rem !important; + } + + .pl-xl-md, + .px-xl-md { + padding-left: 4rem !important; + } + + .p-xl-lg { + padding: 6rem !important; + } + + .pt-xl-lg, + .py-xl-lg { + padding-top: 6rem !important; + } + + .pr-xl-lg, + .px-xl-lg { + padding-right: 6rem !important; + } + + .pb-xl-lg, + .py-xl-lg { + padding-bottom: 6rem !important; + } + + .pl-xl-lg, + .px-xl-lg { + padding-left: 6rem !important; + } + + .p-xl-xl { + padding: 8rem !important; + } + + .pt-xl-xl, + .py-xl-xl { + padding-top: 8rem !important; + } + + .pr-xl-xl, + .px-xl-xl { + padding-right: 8rem !important; + } + + .pb-xl-xl, + .py-xl-xl { + padding-bottom: 8rem !important; + } + + .pl-xl-xl, + .px-xl-xl { + padding-left: 8rem !important; + } + + .m-xl-n1 { + margin: -0.25rem !important; + } + + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; + } + + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; + } + + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; + } + + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; + } + + .m-xl-n2 { + margin: -0.5rem !important; + } + + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; + } + + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; + } + + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; + } + + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; + } + + .m-xl-n3 { + margin: -1rem !important; + } + + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; + } + + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; + } + + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; + } + + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; + } + + .m-xl-n4 { + margin: -1.5rem !important; + } + + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; + } + + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; + } + + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; + } + + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; + } + + .m-xl-n5 { + margin: -3rem !important; + } + + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; + } + + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; + } + + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; + } + + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; + } + + .m-xl-nsm { + margin: -2rem !important; + } + + .mt-xl-nsm, + .my-xl-nsm { + margin-top: -2rem !important; + } + + .mr-xl-nsm, + .mx-xl-nsm { + margin-right: -2rem !important; + } + + .mb-xl-nsm, + .my-xl-nsm { + margin-bottom: -2rem !important; + } + + .ml-xl-nsm, + .mx-xl-nsm { + margin-left: -2rem !important; + } + + .m-xl-nmd { + margin: -4rem !important; + } + + .mt-xl-nmd, + .my-xl-nmd { + margin-top: -4rem !important; + } + + .mr-xl-nmd, + .mx-xl-nmd { + margin-right: -4rem !important; + } + + .mb-xl-nmd, + .my-xl-nmd { + margin-bottom: -4rem !important; + } + + .ml-xl-nmd, + .mx-xl-nmd { + margin-left: -4rem !important; + } + + .m-xl-nlg { + margin: -6rem !important; + } + + .mt-xl-nlg, + .my-xl-nlg { + margin-top: -6rem !important; + } + + .mr-xl-nlg, + .mx-xl-nlg { + margin-right: -6rem !important; + } + + .mb-xl-nlg, + .my-xl-nlg { + margin-bottom: -6rem !important; + } + + .ml-xl-nlg, + .mx-xl-nlg { + margin-left: -6rem !important; + } + + .m-xl-nxl { + margin: -8rem !important; + } + + .mt-xl-nxl, + .my-xl-nxl { + margin-top: -8rem !important; + } + + .mr-xl-nxl, + .mx-xl-nxl { + margin-right: -8rem !important; + } + + .mb-xl-nxl, + .my-xl-nxl { + margin-bottom: -8rem !important; + } + + .ml-xl-nxl, + .mx-xl-nxl { + margin-left: -8rem !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; + } + + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; + } + + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; + } + + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; + } +} + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; +} + +.text-justify { + text-align: justify !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text-left { + text-align: left !important; +} + +.text-right { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; + } + + .text-sm-right { + text-align: right !important; + } + + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; + } + + .text-md-right { + text-align: right !important; + } + + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; + } + + .text-lg-right { + text-align: right !important; + } + + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; + } + + .text-xl-right { + text-align: right !important; + } + + .text-xl-center { + text-align: center !important; + } +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.font-weight-light { + font-weight: 300 !important; +} + +.font-weight-lighter { + font-weight: lighter !important; +} + +.font-weight-normal { + font-weight: 400 !important; +} + +.font-weight-bold { + font-weight: 600 !important; +} + +.font-weight-bolder { + font-weight: bolder !important; +} + +.font-italic { + font-style: italic !important; +} + +.text-white { + color: #ffffff !important; +} + +.text-primary { + color: #e14eca !important; +} + +a.text-primary:hover, +a.text-primary:focus { + color: #c221a9 !important; +} + +.text-secondary { + color: #f4f5f7 !important; +} + +a.text-secondary:hover, +a.text-secondary:focus { + color: #c8cdd7 !important; +} + +.text-success { + color: #00f2c3 !important; +} + +a.text-success:hover, +a.text-success:focus { + color: #00a685 !important; +} + +.text-info { + color: #1d8cf8 !important; +} + +a.text-info:hover, +a.text-info:focus { + color: #0666c2 !important; +} + +.text-warning { + color: #ff8d72 !important; +} + +a.text-warning:hover, +a.text-warning:focus { + color: #ff4f26 !important; +} + +.text-danger { + color: #fd5d93 !important; +} + +a.text-danger:hover, +a.text-danger:focus { + color: #fc1161 !important; +} + +.text-light { + color: #adb5bd !important; +} + +a.text-light:hover, +a.text-light:focus { + color: #838f9b !important; +} + +.text-dark { + color: #212529 !important; +} + +a.text-dark:hover, +a.text-dark:focus { + color: black !important; +} + +.text-default { + color: #344675 !important; +} + +a.text-default:hover, +a.text-default:focus { + color: #1c2640 !important; +} + +.text-white { + color: #ffffff !important; +} + +a.text-white:hover, +a.text-white:focus { + color: #d9d9d9 !important; +} + +.text-neutral { + color: #ffffff !important; +} + +a.text-neutral:hover, +a.text-neutral:focus { + color: #d9d9d9 !important; +} + +.text-darker { + color: black !important; +} + +a.text-darker:hover, +a.text-darker:focus { + color: black !important; +} + +.text-body { + color: #525f7f !important; +} + +.text-muted { + color: #6c757d !important; +} + +.text-black-50 { + color: rgba(34, 42, 66, 0.5) !important; +} + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; +} + +.text-reset { + color: inherit !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media print { + + *, + *::before, + *::after { + text-shadow: none !important; + box-shadow: none !important; + } + + a:not(.btn) { + text-decoration: underline; + } + + abbr[title]::after { + content: " ("attr(title) ")"; + } + + pre { + white-space: pre-wrap !important; + } + + pre, + blockquote { + border: 0.0625rem solid #adb5bd; + page-break-inside: avoid; + } + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } + + @page { + size: a3; + } + + body { + min-width: 992px !important; + } + + .container { + min-width: 992px !important; + } + + .navbar { + display: none; + } + + .badge { + border: 0.0625rem solid #222a42; + } + + .table { + border-collapse: collapse !important; + } + + .table td, + .table th { + background-color: #ffffff !important; + } + + .table-bordered th, + .table-bordered td { + border: 1px solid #e3e3e3 !important; + } + + .table-dark { + color: inherit; + } + + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody+tbody { + border-color: #e3e3e3; + } + + .table .thead-dark th { + color: inherit; + border-color: #e3e3e3; + } +} + +.alert { + border: 0; + color: #ffffff; +} + +.alert .alert-link { + color: #ffffff; +} + +.alert.alert-success { + background-color: #00bf9a; +} + +.alert i.fa, +.alert i.tim-icons { + font-size: 1rem; +} + +.alert .close { + color: #ffffff; + opacity: .9; + text-shadow: none; + line-height: 0; + outline: 0; +} + +.alert span[data-notify="icon"] { + font-size: 22px; + display: block; + left: 19px; + position: absolute; + top: 50%; + margin-top: -11px; +} + +.alert button.close { + position: absolute; + right: 15px; + top: 50%; + margin-top: -13px; + width: 25px; + height: 25px; + padding: 3px; +} + +.alert .close~span { + display: block; + max-width: 89%; +} + +.alert.alert-with-icon { + padding-left: 65px; +} + +.alert-dismissible .close { + top: 50%; + right: 1.25rem; + padding: 0; + transform: translateY(-50%); + color: rgba(255, 255, 255, 0.6); + opacity: 1; +} + +.alert-dismissible .close:hover, +.alert-dismissible .close:focus { + color: rgba(255, 255, 255, 0.9); + opacity: 1 !important; +} + +@media (max-width: 575.98px) { + .alert-dismissible .close { + top: 1rem; + right: .5rem; + } +} + +.alert-dismissible .close>span:not(.sr-only) { + font-size: 1.5rem; + background-color: transparent; + color: rgba(255, 255, 255, 0.6); +} + +.alert-dismissible .close:hover>span:not(.sr-only), +.alert-dismissible .close:focus>span:not(.sr-only) { + background-color: transparent; + color: rgba(255, 255, 255, 0.9); +} + +.btn, +.navbar .navbar-nav>a.btn { + border-width: 2px; + border: none; + position: relative; + overflow: hidden; + margin: 4px 1px; + border-radius: 0.4285rem; + cursor: pointer; + background: #344675; + background-image: -webkit-linear-gradient(to bottom left, #344675, #263148, #344675); + background-image: -o-linear-gradient(to bottom left, #344675, #263148, #344675); + background-image: -moz-linear-gradient(to bottom left, #344675, #263148, #344675); + background-image: linear-gradient(to bottom left, #344675, #263148, #344675); + background-size: 210% 210%; + background-position: top right; + background-color: #344675; + transition: all 0.15s ease; + box-shadow: none; + color: #ffffff; +} + +.btn.animation-on-hover:hover, +.navbar .navbar-nav>a.btn.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn:hover, +.btn:focus, +.btn:active, +.btn.active, +.btn:active:focus, +.btn:active:hover, +.btn.active:focus, +.btn.active:hover, +.navbar .navbar-nav>a.btn:hover, +.navbar .navbar-nav>a.btn:focus, +.navbar .navbar-nav>a.btn:active, +.navbar .navbar-nav>a.btn.active, +.navbar .navbar-nav>a.btn:active:focus, +.navbar .navbar-nav>a.btn:active:hover, +.navbar .navbar-nav>a.btn.active:focus, +.navbar .navbar-nav>a.btn.active:hover { + background-color: #263148 !important; + background-image: linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-image: -webkit-linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-image: -o-linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-image: -moz-linear-gradient(to bottom left, #344675, #263148, #344675) !important; + color: #ffffff; + box-shadow: none; +} + +.btn:active, +.navbar .navbar-nav>a.btn:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn:not([data-action]):hover, +.navbar .navbar-nav>a.btn:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn.disabled, +.btn.disabled:hover, +.btn.disabled:focus, +.btn.disabled.focus, +.btn.disabled:active, +.btn.disabled.active, +.btn:disabled, +.btn:disabled:hover, +.btn:disabled:focus, +.btn:disabled.focus, +.btn:disabled:active, +.btn:disabled.active, +.btn[disabled], +.btn[disabled]:hover, +.btn[disabled]:focus, +.btn[disabled].focus, +.btn[disabled]:active, +.btn[disabled].active, +fieldset[disabled] .btn, +fieldset[disabled] .btn:hover, +fieldset[disabled] .btn:focus, +fieldset[disabled] .btn.focus, +fieldset[disabled] .btn:active, +fieldset[disabled] .btn.active, +.navbar .navbar-nav>a.btn.disabled, +.navbar .navbar-nav>a.btn.disabled:hover, +.navbar .navbar-nav>a.btn.disabled:focus, +.navbar .navbar-nav>a.btn.disabled.focus, +.navbar .navbar-nav>a.btn.disabled:active, +.navbar .navbar-nav>a.btn.disabled.active, +.navbar .navbar-nav>a.btn:disabled, +.navbar .navbar-nav>a.btn:disabled:hover, +.navbar .navbar-nav>a.btn:disabled:focus, +.navbar .navbar-nav>a.btn:disabled.focus, +.navbar .navbar-nav>a.btn:disabled:active, +.navbar .navbar-nav>a.btn:disabled.active, +.navbar .navbar-nav>a.btn[disabled], +.navbar .navbar-nav>a.btn[disabled]:hover, +.navbar .navbar-nav>a.btn[disabled]:focus, +.navbar .navbar-nav>a.btn[disabled].focus, +.navbar .navbar-nav>a.btn[disabled]:active, +.navbar .navbar-nav>a.btn[disabled].active, +fieldset[disabled] .navbar .navbar-nav>a.btn, +fieldset[disabled] .navbar .navbar-nav>a.btn:hover, +fieldset[disabled] .navbar .navbar-nav>a.btn:focus, +fieldset[disabled] .navbar .navbar-nav>a.btn.focus, +fieldset[disabled] .navbar .navbar-nav>a.btn:active, +fieldset[disabled] .navbar .navbar-nav>a.btn.active { + background-color: #344675; + border-color: #344675; +} + +.btn.btn-simple, +.navbar .navbar-nav>a.btn.btn-simple { + color: #344675; + border-color: #344675; + background: transparent; +} + +.btn.btn-simple:hover, +.btn.btn-simple:focus, +.btn.btn-simple:active, +.btn.btn-simple:not(:disabled):not(.disabled):active, +.navbar .navbar-nav>a.btn.btn-simple:hover, +.navbar .navbar-nav>a.btn.btn-simple:focus, +.navbar .navbar-nav>a.btn.btn-simple:active, +.navbar .navbar-nav>a.btn.btn-simple:not(:disabled):not(.disabled):active { + color: #344675; + border-color: #344675; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn.btn-simple.active, +.navbar .navbar-nav>a.btn.btn-simple.active { + border-color: #344675 !important; +} + +.btn.btn-simple.active:hover, +.btn.btn-simple.active:focus, +.btn.btn-simple.active:active, +.btn.btn-simple.active:not(:disabled):not(.disabled):active, +.navbar .navbar-nav>a.btn.btn-simple.active:hover, +.navbar .navbar-nav>a.btn.btn-simple.active:focus, +.navbar .navbar-nav>a.btn.btn-simple.active:active, +.navbar .navbar-nav>a.btn.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #344675; + background-image: linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-image: -webkit-linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-image: -o-linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-image: -moz-linear-gradient(to bottom left, #344675, #263148, #344675) !important; + background-color: #263148 !important; + box-shadow: none; +} + +.btn.btn-link, +.navbar .navbar-nav>a.btn.btn-link { + color: #344675; +} + +.btn.btn-link:hover, +.btn.btn-link:focus, +.btn.btn-link:active, +.navbar .navbar-nav>a.btn.btn-link:hover, +.navbar .navbar-nav>a.btn.btn-link:focus, +.navbar .navbar-nav>a.btn.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn:hover, +.btn:focus, +.navbar .navbar-nav>a.btn:hover, +.navbar .navbar-nav>a.btn:focus { + opacity: 1; + filter: alpha(opacity=100); + outline: 0 !important; +} + +.btn:active, +.btn.active, +.open>.btn.dropdown-toggle, +.navbar .navbar-nav>a.btn:active, +.navbar .navbar-nav>a.btn.active, +.open>.navbar .navbar-nav>a.btn.dropdown-toggle { + box-shadow: none; + outline: 0 !important; +} + +.btn .badge, +.navbar .navbar-nav>a.btn .badge { + margin: 0; +} + +.btn.btn-icon, +.navbar .navbar-nav>a.btn.btn-icon { + height: 2.375rem; + min-width: 2.375rem; + width: 2.375rem; + padding: 0; + font-size: 0.9375rem; + overflow: hidden; + position: relative; + line-height: normal; +} + +.btn.btn-icon.btn-simple, +.navbar .navbar-nav>a.btn.btn-icon.btn-simple { + padding: 0; +} + +.btn.btn-icon.btn-sm, +.btn-group-sm>.btn.btn-icon, +.navbar .navbar-nav>a.btn.btn-icon.btn-sm, +.navbar .btn-group-sm.navbar-nav>a.btn.btn-icon { + height: 1.875rem; + min-width: 1.875rem; + width: 1.875rem; +} + +.btn.btn-icon.btn-sm .fa, +.btn-group-sm>.btn.btn-icon .fa, +.btn.btn-icon.btn-sm .far, +.btn-group-sm>.btn.btn-icon .far, +.btn.btn-icon.btn-sm .fas, +.btn-group-sm>.btn.btn-icon .fas, +.btn.btn-icon.btn-sm .tim-icons, +.btn-group-sm>.btn.btn-icon .tim-icons, +.navbar .navbar-nav>a.btn.btn-icon.btn-sm .fa, +.navbar .btn-group-sm.navbar-nav>a.btn.btn-icon .fa, +.navbar .navbar-nav>a.btn.btn-icon.btn-sm .far, +.navbar .btn-group-sm.navbar-nav>a.btn.btn-icon .far, +.navbar .navbar-nav>a.btn.btn-icon.btn-sm .fas, +.navbar .btn-group-sm.navbar-nav>a.btn.btn-icon .fas, +.navbar .navbar-nav>a.btn.btn-icon.btn-sm .tim-icons, +.navbar .btn-group-sm.navbar-nav>a.btn.btn-icon .tim-icons { + font-size: 0.6875rem; +} + +.btn.btn-icon.btn-lg, +.btn-group-lg>.btn.btn-icon, +.navbar .navbar-nav>a.btn.btn-icon.btn-lg, +.navbar .btn-group-lg.navbar-nav>a.btn.btn-icon { + height: 3.6rem; + min-width: 3.6rem; + width: 3.6rem; +} + +.btn.btn-icon.btn-lg .fa, +.btn-group-lg>.btn.btn-icon .fa, +.btn.btn-icon.btn-lg .far, +.btn-group-lg>.btn.btn-icon .far, +.btn.btn-icon.btn-lg .fas, +.btn-group-lg>.btn.btn-icon .fas, +.btn.btn-icon.btn-lg .tim-icons, +.btn-group-lg>.btn.btn-icon .tim-icons, +.navbar .navbar-nav>a.btn.btn-icon.btn-lg .fa, +.navbar .btn-group-lg.navbar-nav>a.btn.btn-icon .fa, +.navbar .navbar-nav>a.btn.btn-icon.btn-lg .far, +.navbar .btn-group-lg.navbar-nav>a.btn.btn-icon .far, +.navbar .navbar-nav>a.btn.btn-icon.btn-lg .fas, +.navbar .btn-group-lg.navbar-nav>a.btn.btn-icon .fas, +.navbar .navbar-nav>a.btn.btn-icon.btn-lg .tim-icons, +.navbar .btn-group-lg.navbar-nav>a.btn.btn-icon .tim-icons { + font-size: 1.325rem; +} + +.btn.btn-icon:not(.btn-footer) .tim-icons, +.btn.btn-icon:not(.btn-footer) .fa, +.btn.btn-icon:not(.btn-footer) .far, +.btn.btn-icon:not(.btn-footer) .fas, +.navbar .navbar-nav>a.btn.btn-icon:not(.btn-footer) .tim-icons, +.navbar .navbar-nav>a.btn.btn-icon:not(.btn-footer) .fa, +.navbar .navbar-nav>a.btn.btn-icon:not(.btn-footer) .far, +.navbar .navbar-nav>a.btn.btn-icon:not(.btn-footer) .fas { + position: absolute; + font-size: 1em; + top: 50%; + left: 50%; + transform: translate(-12px, -12px); + line-height: 1.5626rem; + width: 24px; +} + +.btn:not(.btn-icon) .tim-icons, +.navbar .navbar-nav>a.btn:not(.btn-icon) .tim-icons { + position: relative; + top: 1px; +} + +.btn span, +.navbar .navbar-nav>a.btn span { + position: relative; + display: block; +} + +.btn.btn-link.dropdown-toggle, +.navbar .navbar-nav>a.btn.btn-link.dropdown-toggle { + color: #9A9A9A; +} + +.btn.dropdown-toggle:after, +.navbar .navbar-nav>a.btn.dropdown-toggle:after { + margin-left: 30px !important; +} + +.btn-primary { + background: #e14eca; + background-image: -webkit-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca); + background-image: -o-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca); + background-image: -moz-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca); + background-image: linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca); + background-size: 210% 210%; + background-position: top right; + background-color: #e14eca; + transition: all 0.15s ease; + box-shadow: none; + color: #ffffff; +} + +.btn-primary.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.btn-primary:active:focus, +.btn-primary:active:hover, +.btn-primary.active:focus, +.btn-primary.active:hover { + background-color: #ba54f5 !important; + background-image: linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-image: -webkit-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-image: -o-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-image: -moz-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + color: #ffffff; + box-shadow: none; +} + +.btn-primary:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn-primary:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-primary.disabled, +.btn-primary.disabled:hover, +.btn-primary.disabled:focus, +.btn-primary.disabled.focus, +.btn-primary.disabled:active, +.btn-primary.disabled.active, +.btn-primary:disabled, +.btn-primary:disabled:hover, +.btn-primary:disabled:focus, +.btn-primary:disabled.focus, +.btn-primary:disabled:active, +.btn-primary:disabled.active, +.btn-primary[disabled], +.btn-primary[disabled]:hover, +.btn-primary[disabled]:focus, +.btn-primary[disabled].focus, +.btn-primary[disabled]:active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary, +fieldset[disabled] .btn-primary:hover, +fieldset[disabled] .btn-primary:focus, +fieldset[disabled] .btn-primary.focus, +fieldset[disabled] .btn-primary:active, +fieldset[disabled] .btn-primary.active { + background-color: #e14eca; + border-color: #e14eca; +} + +.btn-primary.btn-simple { + color: #e14eca; + border-color: #e14eca; + background: transparent; +} + +.btn-primary.btn-simple:hover, +.btn-primary.btn-simple:focus, +.btn-primary.btn-simple:active, +.btn-primary.btn-simple:not(:disabled):not(.disabled):active { + color: #e14eca; + border-color: #e14eca; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn-primary.btn-simple.active { + border-color: #e14eca !important; +} + +.btn-primary.btn-simple.active:hover, +.btn-primary.btn-simple.active:focus, +.btn-primary.btn-simple.active:active, +.btn-primary.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #e14eca; + background-image: linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-image: -webkit-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-image: -o-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-image: -moz-linear-gradient(to bottom left, #e14eca, #ba54f5, #e14eca) !important; + background-color: #ba54f5 !important; + box-shadow: none; +} + +.btn-primary.btn-link { + color: #e14eca; +} + +.btn-primary.btn-link:hover, +.btn-primary.btn-link:focus, +.btn-primary.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn-success { + background: #00f2c3; + background-image: -webkit-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3); + background-image: -o-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3); + background-image: -moz-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3); + background-image: linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3); + background-size: 210% 210%; + background-position: top right; + background-color: #00f2c3; + transition: all 0.15s ease; + box-shadow: none; + color: #ffffff; +} + +.btn-success.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.btn-success:active:focus, +.btn-success:active:hover, +.btn-success.active:focus, +.btn-success.active:hover { + background-color: #0098f0 !important; + background-image: linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-image: -webkit-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-image: -o-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-image: -moz-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + color: #ffffff; + box-shadow: none; +} + +.btn-success:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn-success:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-success.disabled, +.btn-success.disabled:hover, +.btn-success.disabled:focus, +.btn-success.disabled.focus, +.btn-success.disabled:active, +.btn-success.disabled.active, +.btn-success:disabled, +.btn-success:disabled:hover, +.btn-success:disabled:focus, +.btn-success:disabled.focus, +.btn-success:disabled:active, +.btn-success:disabled.active, +.btn-success[disabled], +.btn-success[disabled]:hover, +.btn-success[disabled]:focus, +.btn-success[disabled].focus, +.btn-success[disabled]:active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success, +fieldset[disabled] .btn-success:hover, +fieldset[disabled] .btn-success:focus, +fieldset[disabled] .btn-success.focus, +fieldset[disabled] .btn-success:active, +fieldset[disabled] .btn-success.active { + background-color: #00f2c3; + border-color: #00f2c3; +} + +.btn-success.btn-simple { + color: #00f2c3; + border-color: #00f2c3; + background: transparent; +} + +.btn-success.btn-simple:hover, +.btn-success.btn-simple:focus, +.btn-success.btn-simple:active, +.btn-success.btn-simple:not(:disabled):not(.disabled):active { + color: #00f2c3; + border-color: #00f2c3; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn-success.btn-simple.active { + border-color: #00f2c3 !important; +} + +.btn-success.btn-simple.active:hover, +.btn-success.btn-simple.active:focus, +.btn-success.btn-simple.active:active, +.btn-success.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #00f2c3; + background-image: linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-image: -webkit-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-image: -o-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-image: -moz-linear-gradient(to bottom left, #00f2c3, #0098f0, #00f2c3) !important; + background-color: #0098f0 !important; + box-shadow: none; +} + +.btn-success.btn-link { + color: #00f2c3; +} + +.btn-success.btn-link:hover, +.btn-success.btn-link:focus, +.btn-success.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn-info { + background: #1d8cf8; + background-image: -webkit-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8); + background-image: -o-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8); + background-image: -moz-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8); + background-image: linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8); + background-size: 210% 210%; + background-position: top right; + background-color: #1d8cf8; + transition: all 0.15s ease; + box-shadow: none; + color: #ffffff; +} + +.btn-info.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.btn-info:active:focus, +.btn-info:active:hover, +.btn-info.active:focus, +.btn-info.active:hover { + background-color: #3358f4 !important; + background-image: linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-image: -webkit-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-image: -o-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-image: -moz-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + color: #ffffff; + box-shadow: none; +} + +.btn-info:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn-info:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-info.disabled, +.btn-info.disabled:hover, +.btn-info.disabled:focus, +.btn-info.disabled.focus, +.btn-info.disabled:active, +.btn-info.disabled.active, +.btn-info:disabled, +.btn-info:disabled:hover, +.btn-info:disabled:focus, +.btn-info:disabled.focus, +.btn-info:disabled:active, +.btn-info:disabled.active, +.btn-info[disabled], +.btn-info[disabled]:hover, +.btn-info[disabled]:focus, +.btn-info[disabled].focus, +.btn-info[disabled]:active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info, +fieldset[disabled] .btn-info:hover, +fieldset[disabled] .btn-info:focus, +fieldset[disabled] .btn-info.focus, +fieldset[disabled] .btn-info:active, +fieldset[disabled] .btn-info.active { + background-color: #1d8cf8; + border-color: #1d8cf8; +} + +.btn-info.btn-simple { + color: #1d8cf8; + border-color: #1d8cf8; + background: transparent; +} + +.btn-info.btn-simple:hover, +.btn-info.btn-simple:focus, +.btn-info.btn-simple:active, +.btn-info.btn-simple:not(:disabled):not(.disabled):active { + color: #1d8cf8; + border-color: #1d8cf8; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn-info.btn-simple.active { + border-color: #1d8cf8 !important; +} + +.btn-info.btn-simple.active:hover, +.btn-info.btn-simple.active:focus, +.btn-info.btn-simple.active:active, +.btn-info.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #1d8cf8; + background-image: linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-image: -webkit-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-image: -o-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-image: -moz-linear-gradient(to bottom left, #1d8cf8, #3358f4, #1d8cf8) !important; + background-color: #3358f4 !important; + box-shadow: none; +} + +.btn-info.btn-link { + color: #1d8cf8; +} + +.btn-info.btn-link:hover, +.btn-info.btn-link:focus, +.btn-info.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn-warning { + background: #ff8d72; + background-image: -webkit-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72); + background-image: -o-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72); + background-image: -moz-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72); + background-image: linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72); + background-size: 210% 210%; + background-position: top right; + background-color: #ff8d72; + transition: all 0.15s ease; + box-shadow: none; + color: #ffffff; +} + +.btn-warning.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.btn-warning:active:focus, +.btn-warning:active:hover, +.btn-warning.active:focus, +.btn-warning.active:hover { + background-color: #ff6491 !important; + background-image: linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-image: -webkit-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-image: -o-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-image: -moz-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + color: #ffffff; + box-shadow: none; +} + +.btn-warning:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn-warning:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-warning.disabled, +.btn-warning.disabled:hover, +.btn-warning.disabled:focus, +.btn-warning.disabled.focus, +.btn-warning.disabled:active, +.btn-warning.disabled.active, +.btn-warning:disabled, +.btn-warning:disabled:hover, +.btn-warning:disabled:focus, +.btn-warning:disabled.focus, +.btn-warning:disabled:active, +.btn-warning:disabled.active, +.btn-warning[disabled], +.btn-warning[disabled]:hover, +.btn-warning[disabled]:focus, +.btn-warning[disabled].focus, +.btn-warning[disabled]:active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning, +fieldset[disabled] .btn-warning:hover, +fieldset[disabled] .btn-warning:focus, +fieldset[disabled] .btn-warning.focus, +fieldset[disabled] .btn-warning:active, +fieldset[disabled] .btn-warning.active { + background-color: #ff8d72; + border-color: #ff8d72; +} + +.btn-warning.btn-simple { + color: #ff8d72; + border-color: #ff8d72; + background: transparent; +} + +.btn-warning.btn-simple:hover, +.btn-warning.btn-simple:focus, +.btn-warning.btn-simple:active, +.btn-warning.btn-simple:not(:disabled):not(.disabled):active { + color: #ff8d72; + border-color: #ff8d72; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn-warning.btn-simple.active { + border-color: #ff8d72 !important; +} + +.btn-warning.btn-simple.active:hover, +.btn-warning.btn-simple.active:focus, +.btn-warning.btn-simple.active:active, +.btn-warning.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #ff8d72; + background-image: linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-image: -webkit-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-image: -o-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-image: -moz-linear-gradient(to bottom left, #ff8d72, #ff6491, #ff8d72) !important; + background-color: #ff6491 !important; + box-shadow: none; +} + +.btn-warning.btn-link { + color: #ff8d72; +} + +.btn-warning.btn-link:hover, +.btn-warning.btn-link:focus, +.btn-warning.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn-warning:not(:disabled):not(.disabled):active { + color: #ffffff; +} + +.btn-danger { + background: #fd5d93; + background-image: -webkit-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93); + background-image: -o-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93); + background-image: -moz-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93); + background-image: linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93); + background-size: 210% 210%; + background-position: top right; + background-color: #fd5d93; + transition: all 0.15s ease; + box-shadow: none; + color: #ffffff; +} + +.btn-danger.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.btn-danger:active:focus, +.btn-danger:active:hover, +.btn-danger.active:focus, +.btn-danger.active:hover { + background-color: #ec250d !important; + background-image: linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-image: -webkit-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-image: -o-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-image: -moz-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + color: #ffffff; + box-shadow: none; +} + +.btn-danger:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn-danger:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-danger.disabled, +.btn-danger.disabled:hover, +.btn-danger.disabled:focus, +.btn-danger.disabled.focus, +.btn-danger.disabled:active, +.btn-danger.disabled.active, +.btn-danger:disabled, +.btn-danger:disabled:hover, +.btn-danger:disabled:focus, +.btn-danger:disabled.focus, +.btn-danger:disabled:active, +.btn-danger:disabled.active, +.btn-danger[disabled], +.btn-danger[disabled]:hover, +.btn-danger[disabled]:focus, +.btn-danger[disabled].focus, +.btn-danger[disabled]:active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger, +fieldset[disabled] .btn-danger:hover, +fieldset[disabled] .btn-danger:focus, +fieldset[disabled] .btn-danger.focus, +fieldset[disabled] .btn-danger:active, +fieldset[disabled] .btn-danger.active { + background-color: #fd5d93; + border-color: #fd5d93; +} + +.btn-danger.btn-simple { + color: #fd5d93; + border-color: #fd5d93; + background: transparent; +} + +.btn-danger.btn-simple:hover, +.btn-danger.btn-simple:focus, +.btn-danger.btn-simple:active, +.btn-danger.btn-simple:not(:disabled):not(.disabled):active { + color: #fd5d93; + border-color: #fd5d93; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn-danger.btn-simple.active { + border-color: #fd5d93 !important; +} + +.btn-danger.btn-simple.active:hover, +.btn-danger.btn-simple.active:focus, +.btn-danger.btn-simple.active:active, +.btn-danger.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #fd5d93; + background-image: linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-image: -webkit-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-image: -o-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-image: -moz-linear-gradient(to bottom left, #fd5d93, #ec250d, #fd5d93) !important; + background-color: #ec250d !important; + box-shadow: none; +} + +.btn-danger.btn-link { + color: #fd5d93; +} + +.btn-danger.btn-link:hover, +.btn-danger.btn-link:focus, +.btn-danger.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn-neutral { + background: #ffffff; + background-image: -webkit-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff); + background-image: -o-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff); + background-image: -moz-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff); + background-image: linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff); + background-size: 210% 210%; + background-position: top right; + background-color: #ffffff; + transition: all 0.15s ease; + box-shadow: none; + color: #e14eca; +} + +.btn-neutral.animation-on-hover:hover { + background-position: bottom left; + transition: 0.3s ease-in-out; +} + +.btn-neutral:hover, +.btn-neutral:focus, +.btn-neutral:active, +.btn-neutral.active, +.btn-neutral:active:focus, +.btn-neutral:active:hover, +.btn-neutral.active:focus, +.btn-neutral.active:hover { + background-color: #ffffff !important; + background-image: linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-image: -webkit-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-image: -o-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-image: -moz-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + color: #ffffff; + box-shadow: none; +} + +.btn-neutral:active { + box-shadow: none !important; + transform: translateY(1px) !important; + transition: all .15s ease; +} + +.btn-neutral:not([data-action]):hover { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-neutral.disabled, +.btn-neutral.disabled:hover, +.btn-neutral.disabled:focus, +.btn-neutral.disabled.focus, +.btn-neutral.disabled:active, +.btn-neutral.disabled.active, +.btn-neutral:disabled, +.btn-neutral:disabled:hover, +.btn-neutral:disabled:focus, +.btn-neutral:disabled.focus, +.btn-neutral:disabled:active, +.btn-neutral:disabled.active, +.btn-neutral[disabled], +.btn-neutral[disabled]:hover, +.btn-neutral[disabled]:focus, +.btn-neutral[disabled].focus, +.btn-neutral[disabled]:active, +.btn-neutral[disabled].active, +fieldset[disabled] .btn-neutral, +fieldset[disabled] .btn-neutral:hover, +fieldset[disabled] .btn-neutral:focus, +fieldset[disabled] .btn-neutral.focus, +fieldset[disabled] .btn-neutral:active, +fieldset[disabled] .btn-neutral.active { + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-neutral.btn-danger { + color: #fd5d93; +} + +.btn-neutral.btn-danger:hover, +.btn-neutral.btn-danger:focus, +.btn-neutral.btn-danger:active, +.btn-neutral.btn-danger:active:focus { + color: #ec250d; +} + +.btn-neutral.btn-info { + color: #1d8cf8; +} + +.btn-neutral.btn-info:hover, +.btn-neutral.btn-info:focus, +.btn-neutral.btn-info:active, +.btn-neutral.btn-info:active:focus { + color: #3358f4; +} + +.btn-neutral.btn-warning { + color: #ff8d72; +} + +.btn-neutral.btn-warning:hover, +.btn-neutral.btn-warning:focus, +.btn-neutral.btn-warning:active, +.btn-neutral.btn-warning:active:focus { + color: #ff6491; +} + +.btn-neutral.btn-success { + color: #00f2c3; +} + +.btn-neutral.btn-success:hover, +.btn-neutral.btn-success:focus, +.btn-neutral.btn-success:active, +.btn-neutral.btn-success:active:focus { + color: #0098f0; +} + +.btn-neutral.btn-default { + color: #344675; +} + +.btn-neutral.btn-default:hover, +.btn-neutral.btn-default:focus, +.btn-neutral.btn-default:active, +.btn-neutral.btn-default:active:focus { + color: #263148; +} + +.btn-neutral.active, +.btn-neutral:active, +.btn-neutral:active:focus, +.btn-neutral:active:hover, +.btn-neutral.active:focus, +.btn-neutral.active:hover, +.show>.btn-neutral.dropdown-toggle, +.show>.btn-neutral.dropdown-toggle:focus, +.show>.btn-neutral.dropdown-toggle:hover { + background-color: #ffffff; + color: #ba54f5; + box-shadow: none; +} + +.btn-neutral:hover, +.btn-neutral:focus { + color: #ba54f5; +} + +.btn-neutral:hover:not(.nav-link), +.btn-neutral:focus:not(.nav-link) { + box-shadow: none; +} + +.btn-neutral.btn-simple { + color: #ffffff; + border-color: #ffffff; + background: transparent; +} + +.btn-neutral.btn-simple:hover, +.btn-neutral.btn-simple:focus, +.btn-neutral.btn-simple:active, +.btn-neutral.btn-simple:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #ffffff; + background-color: transparent !important; + background-image: none !important; + box-shadow: none; +} + +.btn-neutral.btn-simple.active { + border-color: #ffffff !important; +} + +.btn-neutral.btn-simple.active:hover, +.btn-neutral.btn-simple.active:focus, +.btn-neutral.btn-simple.active:active, +.btn-neutral.btn-simple.active:not(:disabled):not(.disabled):active { + color: #ffffff; + border-color: #ffffff; + background-image: linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-image: -webkit-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-image: -o-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-image: -moz-linear-gradient(to bottom left, #ffffff, #ffffff, #ffffff) !important; + background-color: #ffffff !important; + box-shadow: none; +} + +.btn-neutral.btn-link { + color: #ffffff; +} + +.btn-neutral.btn-link:hover, +.btn-neutral.btn-link:focus, +.btn-neutral.btn-link:active { + background-color: transparent !important; + background-image: none !important; + color: #ffffff !important; + text-decoration: none; + box-shadow: none; +} + +.btn:disabled, +.btn[disabled], +.btn.disabled { + opacity: 0.5; + filter: alpha(opacity=50); + pointer-events: none; +} + +.btn-simple { + border: 1px solid; + border-color: #344675; + box-shadow: none; + padding: 10px 22px; + background-color: transparent; +} + +.btn-simple.disabled, +.btn-simple.disabled:hover, +.btn-simple.disabled:focus, +.btn-simple.disabled.focus, +.btn-simple.disabled:active, +.btn-simple.disabled.active, +.btn-simple:disabled, +.btn-simple:disabled:hover, +.btn-simple:disabled:focus, +.btn-simple:disabled.focus, +.btn-simple:disabled:active, +.btn-simple:disabled.active, +.btn-simple[disabled], +.btn-simple[disabled]:hover, +.btn-simple[disabled]:focus, +.btn-simple[disabled].focus, +.btn-simple[disabled]:active, +.btn-simple[disabled].active, +fieldset[disabled] .btn-simple, +fieldset[disabled] .btn-simple:hover, +fieldset[disabled] .btn-simple:focus, +fieldset[disabled] .btn-simple.focus, +fieldset[disabled] .btn-simple:active, +fieldset[disabled] .btn-simple.active, +.btn-link.disabled, +.btn-link.disabled:hover, +.btn-link.disabled:focus, +.btn-link.disabled.focus, +.btn-link.disabled:active, +.btn-link.disabled.active, +.btn-link:disabled, +.btn-link:disabled:hover, +.btn-link:disabled:focus, +.btn-link:disabled.focus, +.btn-link:disabled:active, +.btn-link:disabled.active, +.btn-link[disabled], +.btn-link[disabled]:hover, +.btn-link[disabled]:focus, +.btn-link[disabled].focus, +.btn-link[disabled]:active, +.btn-link[disabled].active, +fieldset[disabled] .btn-link, +fieldset[disabled] .btn-link:hover, +fieldset[disabled] .btn-link:focus, +fieldset[disabled] .btn-link.focus, +fieldset[disabled] .btn-link:active, +fieldset[disabled] .btn-link.active { + background: transparent; +} + +.btn:not(:disabled):not(.disabled):active, +.btn:not(:disabled):not(.disabled).active { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); +} + +.btn-link { + border: 0; + box-shadow: none; + padding: 0.5rem 0.7rem; + background: transparent; + color: #e3e3e3; + font-weight: 600; +} + +.btn-link:hover { + box-shadow: none !important; + transform: none !important; +} + +.btn-lg, +.btn-group-lg>.btn { + font-size: 0.875rem; + border-radius: 0.4285rem; + padding: 15px 48px; +} + +.btn-lg.btn-simple, +.btn-group-lg>.btn-simple.btn { + padding: 14px 47px; +} + +.btn-sm, +.btn-group-sm>.btn { + font-size: 0.875rem; + border-radius: 0.2857rem; + padding: 5px 15px; +} + +.btn-sm.btn-simple, +.btn-group-sm>.btn-simple.btn { + padding: 4px 14px; +} + +.btn-wd { + min-width: 140px; +} + +.btn-group.select { + width: 100%; +} + +.btn-group .btn.active { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-group.select .btn { + text-align: left; +} + +.btn-group.select .caret { + position: absolute; + top: 50%; + margin-top: -1px; + right: 8px; +} + +.btn-group .btn.active { + box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); + transform: translateY(-1px); + -webkit-transform: translateY(-1px); +} + +.btn-round { + border-width: 1px; + border-radius: 30px; +} + +.btn-round.btn-simple { + padding: 10px 22px; +} + +.no-caret.dropdown-toggle::after { + display: none; +} + +.btn-secondary:not(:disabled):not(.disabled):active, +.btn-secondary:not(:disabled):not(.disabled).active, +.show>.btn-secondary.dropdown-toggle { + color: #ffffff; +} + +.btn-group label.btn.active { + transform: translateY(0); + -webkit-transform: translateY(0); +} + +.dropdown-menu { + border: 0; + box-shadow: 0px 10px 50px 0px rgba(0, 0, 0, 0.2); + border-radius: 0.1428rem; + -webkit-transition: all 150ms linear; + -moz-transition: all 150ms linear; + -o-transition: all 150ms linear; + -ms-transition: all 150ms linear; + transition: all 150ms linear; +} + +.dropdown-menu.dropdown-menu-right:before, +.dropdown-menu.dropdown-menu-right:after { + left: auto; + right: 10px; +} + +.dropdown-menu.dropdown-black { + background: linear-gradient(to bottom, #222a42 0%, #1d253b 100%); + border: 1px solid #344675; +} + +.dropdown-menu.dropdown-black .dropdown-item { + color: rgba(255, 255, 255, 0.7); +} + +.dropdown-menu.dropdown-black .dropdown-divider { + border-color: #344675; +} + +.dropdown-menu.dropdown-black:before { + color: #222a42; + z-index: 2; +} + +.dropdown-menu.dropdown-black:after { + display: inline-block; + position: absolute; + width: 0; + height: 0; + z-index: 1; + vertical-align: middle; + content: ""; + top: -6px; + left: 10px; + right: auto; + color: #344675; + border-bottom: .4em solid; + border-right: .4em solid transparent; + border-left: .4em solid transparent; +} + +.dropdown-menu.dropdown-black.dropdown-menu-right:after { + left: auto; + right: 10px; +} + +.dropup .dropdown-menu.dropdown-black:after { + color: #1d253b; + z-index: 2; +} + +.dropup .dropdown-menu.dropdown-black:before { + display: inline-block; + position: absolute; + width: 0; + height: 0; + vertical-align: middle; + content: ""; + top: auto; + bottom: -6px; + right: auto; + left: 10px; + color: #555555; + border-top: .4em solid; + border-right: .4em solid transparent; + border-left: .4em solid transparent; + border-bottom: none; + z-index: 1; +} + +.dropdown-menu i { + margin-right: 5px; + position: relative; + top: 1px; +} + +.dropdown-menu .tim-icons { + margin-right: 10px; + position: relative; + top: 4px; + font-size: 18px; + margin-top: -5px; + opacity: .5; +} + +.dropdown-menu .dropdown-item.active, +.dropdown-menu .dropdown-item:active { + color: inherit; +} + +.dropup .dropdown-menu:before { + display: none; +} + +.dropup .dropdown-menu:after { + display: inline-block; + position: absolute; + width: 0; + height: 0; + vertical-align: middle; + content: ""; + top: auto; + bottom: -5px; + right: auto; + left: 10px; + color: #ffffff; + border-top: .4em solid; + border-right: .4em solid transparent; + border-left: .4em solid transparent; + border-bottom: none; +} + +.dropup .dropdown-menu.dropdown-menu-right:after, +.dropup .dropdown-menu.dropdown-menu-right:before { + right: 10px; + left: auto; +} + +.dropdown-menu:before { + display: inline-block; + position: absolute; + width: 0; + height: 0; + vertical-align: middle; + content: ""; + top: -5px; + left: 10px; + right: auto; + color: #ffffff; + border-bottom: .4em solid; + border-right: .4em solid transparent; + border-left: .4em solid transparent; +} + +.dropdown-menu.dropdown-menu-right { + right: 0 !important; + left: auto !important; +} + +.dropdown-menu .dropdown-item, +.bootstrap-select .dropdown-menu.inner li a { + font-size: 0.75rem; + padding-top: .6rem; + padding-bottom: .6rem; + margin-top: 5px; + -webkit-transition: all 150ms linear; + -moz-transition: all 150ms linear; + -o-transition: all 150ms linear; + -ms-transition: all 150ms linear; + transition: all 150ms linear; +} + +.dropdown-menu .dropdown-item:hover, +.dropdown-menu .dropdown-item:focus, +.bootstrap-select .dropdown-menu.inner li a:hover, +.bootstrap-select .dropdown-menu.inner li a:focus { + background-color: rgba(222, 222, 222, 0.3); +} + +.dropdown-menu .dropdown-item.disabled, +.dropdown-menu .dropdown-item:disabled, +.bootstrap-select .dropdown-menu.inner li a.disabled, +.bootstrap-select .dropdown-menu.inner li a:disabled { + color: rgba(182, 182, 182, 0.6); +} + +.dropdown-menu .dropdown-item.disabled:hover, +.dropdown-menu .dropdown-item.disabled:focus, +.dropdown-menu .dropdown-item:disabled:hover, +.dropdown-menu .dropdown-item:disabled:focus, +.bootstrap-select .dropdown-menu.inner li a.disabled:hover, +.bootstrap-select .dropdown-menu.inner li a.disabled:focus, +.bootstrap-select .dropdown-menu.inner li a:disabled:hover, +.bootstrap-select .dropdown-menu.inner li a:disabled:focus { + background-color: transparent; + box-shadow: none; +} + +.dropdown-menu .dropdown-divider { + background-color: rgba(222, 222, 222, 0.5); +} + +.dropdown-menu .dropdown-header:not([href]):not([tabindex]) { + color: rgba(182, 182, 182, 0.6); + font-size: 0.62475rem; + text-transform: uppercase; + font-weight: 600; +} + +.dropdown-menu.dropdown-primary { + background-color: #df41c6; +} + +.dropdown-menu.dropdown-primary:before { + color: #df41c6; +} + +.dropdown-menu.dropdown-primary .dropdown-header:not([href]):not([tabindex]) { + color: rgba(255, 255, 255, 0.8); +} + +.dropdown-menu.dropdown-primary .dropdown-item { + color: #ffffff; +} + +.dropdown-menu.dropdown-primary .dropdown-item:hover, +.dropdown-menu.dropdown-primary .dropdown-item:focus { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-primary .dropdown-divider { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-info { + background-color: #0e84f8; +} + +.dropdown-menu.dropdown-info:before { + color: #0e84f8; +} + +.dropdown-menu.dropdown-info .dropdown-header:not([href]):not([tabindex]) { + color: rgba(255, 255, 255, 0.8); +} + +.dropdown-menu.dropdown-info .dropdown-item { + color: #ffffff; +} + +.dropdown-menu.dropdown-info .dropdown-item:hover, +.dropdown-menu.dropdown-info .dropdown-item:focus { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-info .dropdown-divider { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-danger { + background-color: #fd4e89; +} + +.dropdown-menu.dropdown-danger:before { + color: #fd4e89; +} + +.dropdown-menu.dropdown-danger .dropdown-header:not([href]):not([tabindex]) { + color: rgba(255, 255, 255, 0.8); +} + +.dropdown-menu.dropdown-danger .dropdown-item { + color: #ffffff; +} + +.dropdown-menu.dropdown-danger .dropdown-item:hover, +.dropdown-menu.dropdown-danger .dropdown-item:focus { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-danger .dropdown-divider { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-success { + background-color: #00e3b7; +} + +.dropdown-menu.dropdown-success:before { + color: #00e3b7; +} + +.dropdown-menu.dropdown-success .dropdown-header:not([href]):not([tabindex]) { + color: rgba(255, 255, 255, 0.8); +} + +.dropdown-menu.dropdown-success .dropdown-item { + color: #ffffff; +} + +.dropdown-menu.dropdown-success .dropdown-item:hover, +.dropdown-menu.dropdown-success .dropdown-item:focus { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-success .dropdown-divider { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-warning { + background-color: #ff8163; +} + +.dropdown-menu.dropdown-warning:before { + color: #ff8163; +} + +.dropdown-menu.dropdown-warning .dropdown-header:not([href]):not([tabindex]) { + color: rgba(255, 255, 255, 0.8); +} + +.dropdown-menu.dropdown-warning .dropdown-item { + color: #ffffff; +} + +.dropdown-menu.dropdown-warning .dropdown-item:hover, +.dropdown-menu.dropdown-warning .dropdown-item:focus { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown-menu.dropdown-warning .dropdown-divider { + background-color: rgba(255, 255, 255, 0.2); +} + +.dropdown .dropdown-menu, +.dropup:not(.bootstrap-select) .dropdown-menu, +.bootstrap-select .dropdown-menu:not(.inner), +.dropdown-menu.bootstrap-datetimepicker-widget.bottom { + -webkit-transform: translate3d(0, -20px, 0) !important; + -moz-transform: translate3d(0, -20px, 0) !important; + -o-transform: translate3d(0, -20px, 0) !important; + -ms-transform: translate3d(0, -20px, 0) !important; + transform: translate3d(0, -20px, 0) !important; + visibility: hidden; + display: block; + opacity: 0; + filter: alpha(opacity=0); + top: 100% !important; +} + +.dropdown-menu.bootstrap-datetimepicker-widget.top { + -webkit-transform: translate3d(0, -20px, 0) !important; + -moz-transform: translate3d(0, -20px, 0) !important; + -o-transform: translate3d(0, -20px, 0) !important; + -ms-transform: translate3d(0, -20px, 0) !important; + transform: translate3d(0, -20px, 0) !important; + visibility: hidden; + display: block; + opacity: 0; + filter: alpha(opacity=0); +} + +.dropdown-menu.bootstrap-datetimepicker-widget.top, +.dropdown-menu.bootstrap-datetimepicker-widget.bottom { + -webkit-transform: translate3d(0, -20px, 0) !important; + -moz-transform: translate3d(0, -20px, 0) !important; + -o-transform: translate3d(0, -20px, 0) !important; + -ms-transform: translate3d(0, -20px, 0) !important; + transform: translate3d(0, -20px, 0) !important; +} + +.bootstrap-select.dropup .dropdown-menu:not(.inner) { + -webkit-transform: translate3d(0, 25px, 0) !important; + -moz-transform: translate3d(0, 25px, 0) !important; + -o-transform: translate3d(0, 25px, 0) !important; + -ms-transform: translate3d(0, 25px, 0) !important; + transform: translate3d(0, 25px, 0) !important; +} + +.dropup:not(.bootstrap-select) .dropdown-menu { + -webkit-transform: translate3d(0, 20px, 0) !important; + -moz-transform: translate3d(0, 20px, 0) !important; + -o-transform: translate3d(0, 20px, 0) !important; + -ms-transform: translate3d(0, 20px, 0) !important; + transform: translate3d(0, 20px, 0) !important; + top: auto !important; + bottom: 100%; +} + +.dropdown.show .dropdown-menu, +.bootstrap-select.show .dropdown-menu:not(.inner), +.dropdown-menu.bootstrap-datetimepicker-widget.top.open, +.dropdown-menu.bootstrap-datetimepicker-widget.bottom.open, +.dropup.show:not(.bootstrap-select) .dropdown-menu, +.navbar .dropdown.show .dropdown-menu { + opacity: 1; + filter: alpha(opacity=100); + visibility: visible; + -webkit-transform: translate3d(0, 1px, 0) !important; + -moz-transform: translate3d(0, 1px, 0) !important; + -o-transform: translate3d(0, 1px, 0) !important; + -ms-transform: translate3d(0, 1px, 0) !important; + transform: translate3d(0, 1px, 0) !important; +} + +.dropdown-menu.bootstrap-datetimepicker-widget.top.open, +.dropdown-menu.bootstrap-datetimepicker-widget.bottom.open { + -webkit-transform: translate3d(0, 0px, 0) !important; + -moz-transform: translate3d(0, 0px, 0) !important; + -o-transform: translate3d(0, 0px, 0) !important; + -ms-transform: translate3d(0, 0px, 0) !important; + transform: translate3d(0, 0px, 0) !important; +} + +.dropup.show:not(.bootstrap-select) .dropdown-menu { + -webkit-transform: translate3d(0, -2px, 0) !important; + -moz-transform: translate3d(0, -2px, 0) !important; + -o-transform: translate3d(0, -2px, 0) !important; + -ms-transform: translate3d(0, -2px, 0) !important; + transform: translate3d(0, -2px, 0) !important; +} + +.dropdown-menu.dropdown-navbar { + left: -80px; +} + +.dropdown-menu.dropdown-navbar:before, +.dropdown-menu.dropdown-navbar:after { + left: auto; + right: 17px; +} + +.btn { + cursor: pointer; +} + +.btn.dropdown-toggle[data-toggle="dropdown"] { + padding: 10px; + margin: 0; + margin-bottom: 5px; +} + +.btn.dropdown-toggle[data-toggle="dropdown"]:after { + content: ""; + margin-left: 5px; +} + +.btn span.bs-caret { + display: none; +} + +.btn.btn-link.dropdown-toggle { + height: 22px; + padding: 0; + margin-right: 5px; +} + +.dropdown-toggle:after { + content: unset; +} + +.btn:not(:disabled):not(.disabled).active:focus, +.btn:not(:disabled):not(.disabled):active:focus, +.show>.btn.dropdown-toggle:focus { + box-shadow: none; +} + +.dropdown-menu-sm { + min-width: 100px; + border: 0.4285rem; +} + +.dropdown-menu-lg { + min-width: 260px; + border-radius: 0.4285rem; +} + +.dropdown-menu-xl { + min-width: 450px; + border-radius: 0.4285rem; +} + +@media screen and (max-width: 991px) { + .dropdown-toggle:after { + display: inline-block; + width: 0; + height: 0; + margin-left: .255em; + vertical-align: .255em; + content: ""; + border-top: .3em solid; + border-right: .3em solid transparent; + border-bottom: 0; + border-left: .3em solid transparent; + } +} + +@media screen and (min-width: 992px) { + .dropdown-menu .dropdown-item { + color: #9A9A9A; + } +} + +.footer { + padding: 24px 0 24px 250px; +} + +.footer [class*="container-"] { + padding: 0; +} + +.footer .nav { + display: inline-block; + float: left; + margin-bottom: 0; + padding-left: 30px; + list-style: none; +} + +.footer .nav-item { + display: inline-block; +} + +.footer .nav-item:first-child a { + padding-left: 0; +} + +.footer .nav-link { + color: #ffffff; + padding: 0 0.5rem; + font-size: 0.75rem; + text-transform: uppercase; + text-decoration: none; +} + +.footer .nav-link:hover { + text-decoration: none; +} + +.footer .copyright { + font-size: 0.75rem; + line-height: 1.8; + color: #ffffff; +} + +.footer:after { + display: table; + clear: both; + content: " "; +} + +@media screen and (max-width: 991px) { + .footer { + padding-left: 0px; + } + + .footer .copyright { + text-align: right; + margin-right: 15px; + } +} + +@media screen and (min-width: 992px) { + .footer .copyright { + float: right; + padding-right: 30px; + } +} + +@media screen and (max-width: 768px) { + .footer nav { + display: block; + margin-bottom: 5px; + float: none; + } +} + +@media screen and (max-width: 576px) { + .footer { + text-align: center; + } + + .footer .copyright { + text-align: center; + } + + .footer .nav { + float: none; + padding-left: 0; + } +} + +/* Form controls */ +.form-control::-moz-placeholder { + color: #6c757c; + opacity: 1; + filter: alpha(opacity=100); +} + +.form-control:-moz-placeholder { + color: #6c757c; + opacity: 1; + filter: alpha(opacity=100); +} + +.form-control::-webkit-input-placeholder { + color: #6c757c; + opacity: 1; + filter: alpha(opacity=100); +} + +.form-control:-ms-input-placeholder { + color: #6c757c; + opacity: 1; + filter: alpha(opacity=100); +} + +.form-control { + border-color: #2b3553; + border-radius: 0.4285rem; + font-size: 0.75rem; + -webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + -moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + -o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + -ms-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; +} + +.form-control:focus { + border-color: #e14eca; + background-color: transparent; + box-shadow: none; +} + +.form-control:focus+.input-group-append .input-group-text, +.form-control:focus~.input-group-append .input-group-text, +.form-control:focus+.input-group-prepend .input-group-text, +.form-control:focus~.input-group-prepend .input-group-text { + border: 1px solid #e14eca; + border-left: none; + background-color: transparent; +} + +.has-success .form-control, +.has-error .form-control, +.has-success .form-control:focus, +.has-error .form-control:focus { + box-shadow: none; +} + +.has-danger .form-control.form-control-success, +.has-danger .form-control.form-control-danger, +.has-success .form-control.form-control-success, +.has-success .form-control.form-control-danger { + background-image: none; +} + +.form-control+.form-control-feedback { + border-radius: 0.4285rem; + margin-top: -7px; + position: absolute; + right: 10px; + top: 50%; + vertical-align: middle; +} + +.open .form-control { + border-radius: 0.4285rem 0.4285rem 0 0; + border-bottom-color: transparent; +} + +.form-control+.input-group-append .input-group-text, +.form-control+.input-group-prepend .input-group-text { + background-color: #ffffff; +} + +.has-success .input-group-append .input-group-text, +.has-success .input-group-prepend .input-group-text, +.has-success .form-control { + border-color: #2b3553; +} + +.has-success .form-control:focus, +.has-success.input-group-focus .input-group-append .input-group-text, +.has-success.input-group-focus .input-group-prepend .input-group-text { + border-color: #00bf9a; +} + +.has-danger .form-control, +.has-danger .input-group-append .input-group-text, +.has-danger .input-group-prepend .input-group-text, +.has-danger.input-group-focus .input-group-prepend .input-group-text, +.has-danger.input-group-focus .input-group-append .input-group-text { + border-color: #f33620; + color: #ec250d; + background-color: rgba(222, 222, 222, 0.1); +} + +.has-danger .form-control:focus, +.has-danger .input-group-append .input-group-text:focus, +.has-danger .input-group-prepend .input-group-text:focus, +.has-danger.input-group-focus .input-group-prepend .input-group-text:focus, +.has-danger.input-group-focus .input-group-append .input-group-text:focus { + background-color: transparent; +} + +.has-success:after, +.has-danger:after { + font-family: 'nucleo'; + content: "\ea1b"; + display: inline-block; + position: absolute; + right: 20px; + top: 13px; + color: #00f2c3; + font-size: 11px; +} + +.has-success.form-control-lg:after, +.has-danger.form-control-lg:after { + font-size: 13px; + top: 24px; +} + +.has-success.has-label:after, +.has-danger.has-label:after { + top: 37px; +} + +.has-success.form-check:after, +.has-danger.form-check:after { + display: none !important; +} + +.has-success.form-check .form-check-label, +.has-danger.form-check .form-check-label { + color: #00f2c3; +} + +.has-danger:after { + content: "\ea48"; + color: #ec250d; +} + +.has-danger.form-check .form-check-label { + color: #ec250d; +} + +img { + max-width: 100%; + border-radius: 0.2857rem; +} + +.img-raised { + box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.3); +} + +.modal-content { + border: 0; +} + +.modal-content .modal-header { + border-bottom: none; +} + +.modal-content .modal-header button { + position: absolute; + right: 27px; + top: 24px; + outline: 0; + padding: 1rem; + margin: -1rem -1rem -1rem auto; +} + +.modal-content .modal-header .title { + color: #222a42; + margin-top: 5px; + margin-bottom: 0; +} + +.modal-content .modal-header .modal-title { + color: #222a42; +} + +.modal-content .modal-header i.tim-icons { + font-size: 16px; +} + +.modal-content .modal-body { + line-height: 1.9; +} + +.modal-content .modal-body p { + color: #222a42; +} + +.modal-content .modal-footer { + border-top: 0; + -webkit-justify-content: space-between; + /* Safari 6.1+ */ + justify-content: space-between; +} + +.modal-content .modal-footer button { + margin: 0; + padding-left: 16px; + padding-right: 16px; + width: auto; +} + +.modal-content .modal-footer button.pull-left { + padding-left: 5px; + padding-right: 5px; + position: relative; + left: -5px; +} + +.modal-content .modal-body+.modal-footer { + padding-top: 0; +} + +.modal-backdrop { + background: rgba(0, 0, 0, 0.3); +} + +.modal.modal-default .modal-content { + background-color: #ffffff; + color: #222a42; +} + +.modal.modal-default .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-default .form-control::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-default .form-control:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-default .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-default .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-default .form-control { + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-default .form-control:focus { + border-color: #ffffff; + background-color: transparent; + color: #ffffff; +} + +.modal.modal-default .has-success:after, +.modal.modal-default .has-danger:after { + color: #ffffff; +} + +.modal.modal-default .has-danger .form-control { + background-color: transparent; +} + +.modal.modal-default .input-group-prepend { + margin-right: 0; +} + +.modal.modal-default .input-group-prepend .input-group-text, +.modal.modal-default .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-default .input-group-focus .input-group-prepend .input-group-text, +.modal.modal-default .input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + border-color: #ffffff; + color: #ffffff; +} + +.modal.modal-default .form-group.no-border .form-control, +.modal.modal-default .input-group.no-border .form-control { + background-color: rgba(30, 30, 47, 0.2); + color: #ffffff; +} + +.modal.modal-default .form-group.no-border .form-control:focus, +.modal.modal-default .form-group.no-border .form-control:active, +.modal.modal-default .form-group.no-border .form-control:active, +.modal.modal-default .input-group.no-border .form-control:focus, +.modal.modal-default .input-group.no-border .form-control:active, +.modal.modal-default .input-group.no-border .form-control:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-default .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-default .form-group.no-border .form-control+.input-group-append .input-group-text, +.modal.modal-default .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-default .input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); +} + +.modal.modal-default .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-default .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-default .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-default .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-default .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-default .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-default .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-default .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-default .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-default .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-default .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-default .input-group.no-border .form-control+.input-group-append .input-group-text:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-default .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-default .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.modal.modal-default .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-default .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-default .form-group.no-border .input-group-prepend .input-group-text, +.modal.modal-default .form-group.no-border .input-group-append .input-group-text, +.modal.modal-default .input-group.no-border .input-group-prepend .input-group-text, +.modal.modal-default .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border: none; + color: #ffffff; +} + +.modal.modal-default .form-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-default .form-group.no-border.input-group-focus .input-group-append .input-group-text, +.modal.modal-default .input-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-default .input-group.no-border.input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-primary .modal-content { + background-color: #e14eca; + color: #ffffff; +} + +.modal.modal-primary .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-primary .form-control::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-primary .form-control:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-primary .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-primary .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-primary .form-control { + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-primary .form-control:focus { + border-color: #ffffff; + background-color: transparent; + color: #ffffff; +} + +.modal.modal-primary .has-success:after, +.modal.modal-primary .has-danger:after { + color: #ffffff; +} + +.modal.modal-primary .has-danger .form-control { + background-color: transparent; +} + +.modal.modal-primary .input-group-prepend { + margin-right: 0; +} + +.modal.modal-primary .input-group-prepend .input-group-text, +.modal.modal-primary .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-primary .input-group-focus .input-group-prepend .input-group-text, +.modal.modal-primary .input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + border-color: #ffffff; + color: #ffffff; +} + +.modal.modal-primary .form-group.no-border .form-control, +.modal.modal-primary .input-group.no-border .form-control { + background-color: rgba(30, 30, 47, 0.2); + color: #ffffff; +} + +.modal.modal-primary .form-group.no-border .form-control:focus, +.modal.modal-primary .form-group.no-border .form-control:active, +.modal.modal-primary .form-group.no-border .form-control:active, +.modal.modal-primary .input-group.no-border .form-control:focus, +.modal.modal-primary .input-group.no-border .form-control:active, +.modal.modal-primary .input-group.no-border .form-control:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-primary .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-primary .form-group.no-border .form-control+.input-group-append .input-group-text, +.modal.modal-primary .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-primary .input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); +} + +.modal.modal-primary .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-primary .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-primary .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-primary .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-primary .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-primary .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-primary .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-primary .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-primary .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-primary .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-primary .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-primary .input-group.no-border .form-control+.input-group-append .input-group-text:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-primary .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-primary .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.modal.modal-primary .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-primary .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-primary .form-group.no-border .input-group-prepend .input-group-text, +.modal.modal-primary .form-group.no-border .input-group-append .input-group-text, +.modal.modal-primary .input-group.no-border .input-group-prepend .input-group-text, +.modal.modal-primary .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border: none; + color: #ffffff; +} + +.modal.modal-primary .form-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-primary .form-group.no-border.input-group-focus .input-group-append .input-group-text, +.modal.modal-primary .input-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-primary .input-group.no-border.input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-danger .modal-content { + background-color: #fd5d93; + color: #ffffff; +} + +.modal.modal-danger .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-danger .form-control::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-danger .form-control:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-danger .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-danger .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-danger .form-control { + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-danger .form-control:focus { + border-color: #ffffff; + background-color: transparent; + color: #ffffff; +} + +.modal.modal-danger .has-success:after, +.modal.modal-danger .has-danger:after { + color: #ffffff; +} + +.modal.modal-danger .has-danger .form-control { + background-color: transparent; +} + +.modal.modal-danger .input-group-prepend { + margin-right: 0; +} + +.modal.modal-danger .input-group-prepend .input-group-text, +.modal.modal-danger .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-danger .input-group-focus .input-group-prepend .input-group-text, +.modal.modal-danger .input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + border-color: #ffffff; + color: #ffffff; +} + +.modal.modal-danger .form-group.no-border .form-control, +.modal.modal-danger .input-group.no-border .form-control { + background-color: rgba(30, 30, 47, 0.2); + color: #ffffff; +} + +.modal.modal-danger .form-group.no-border .form-control:focus, +.modal.modal-danger .form-group.no-border .form-control:active, +.modal.modal-danger .form-group.no-border .form-control:active, +.modal.modal-danger .input-group.no-border .form-control:focus, +.modal.modal-danger .input-group.no-border .form-control:active, +.modal.modal-danger .input-group.no-border .form-control:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-danger .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-danger .form-group.no-border .form-control+.input-group-append .input-group-text, +.modal.modal-danger .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-danger .input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); +} + +.modal.modal-danger .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-danger .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-danger .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-danger .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-danger .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-danger .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-danger .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-danger .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-danger .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-danger .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-danger .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-danger .input-group.no-border .form-control+.input-group-append .input-group-text:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-danger .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-danger .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.modal.modal-danger .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-danger .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-danger .form-group.no-border .input-group-prepend .input-group-text, +.modal.modal-danger .form-group.no-border .input-group-append .input-group-text, +.modal.modal-danger .input-group.no-border .input-group-prepend .input-group-text, +.modal.modal-danger .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border: none; + color: #ffffff; +} + +.modal.modal-danger .form-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-danger .form-group.no-border.input-group-focus .input-group-append .input-group-text, +.modal.modal-danger .input-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-danger .input-group.no-border.input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-warning .modal-content { + background-color: #ff8d72; + color: #ffffff; +} + +.modal.modal-warning .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-warning .form-control::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-warning .form-control:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-warning .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-warning .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-warning .form-control { + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-warning .form-control:focus { + border-color: #ffffff; + background-color: transparent; + color: #ffffff; +} + +.modal.modal-warning .has-success:after, +.modal.modal-warning .has-danger:after { + color: #ffffff; +} + +.modal.modal-warning .has-danger .form-control { + background-color: transparent; +} + +.modal.modal-warning .input-group-prepend { + margin-right: 0; +} + +.modal.modal-warning .input-group-prepend .input-group-text, +.modal.modal-warning .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-warning .input-group-focus .input-group-prepend .input-group-text, +.modal.modal-warning .input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + border-color: #ffffff; + color: #ffffff; +} + +.modal.modal-warning .form-group.no-border .form-control, +.modal.modal-warning .input-group.no-border .form-control { + background-color: rgba(30, 30, 47, 0.2); + color: #ffffff; +} + +.modal.modal-warning .form-group.no-border .form-control:focus, +.modal.modal-warning .form-group.no-border .form-control:active, +.modal.modal-warning .form-group.no-border .form-control:active, +.modal.modal-warning .input-group.no-border .form-control:focus, +.modal.modal-warning .input-group.no-border .form-control:active, +.modal.modal-warning .input-group.no-border .form-control:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-warning .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-warning .form-group.no-border .form-control+.input-group-append .input-group-text, +.modal.modal-warning .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-warning .input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); +} + +.modal.modal-warning .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-warning .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-warning .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-warning .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-warning .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-warning .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-warning .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-warning .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-warning .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-warning .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-warning .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-warning .input-group.no-border .form-control+.input-group-append .input-group-text:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-warning .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-warning .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.modal.modal-warning .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-warning .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-warning .form-group.no-border .input-group-prepend .input-group-text, +.modal.modal-warning .form-group.no-border .input-group-append .input-group-text, +.modal.modal-warning .input-group.no-border .input-group-prepend .input-group-text, +.modal.modal-warning .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border: none; + color: #ffffff; +} + +.modal.modal-warning .form-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-warning .form-group.no-border.input-group-focus .input-group-append .input-group-text, +.modal.modal-warning .input-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-warning .input-group.no-border.input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-success .modal-content { + background-color: #00f2c3; + color: #ffffff; +} + +.modal.modal-success .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-success .form-control::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-success .form-control:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-success .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-success .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-success .form-control { + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-success .form-control:focus { + border-color: #ffffff; + background-color: transparent; + color: #ffffff; +} + +.modal.modal-success .has-success:after, +.modal.modal-success .has-danger:after { + color: #ffffff; +} + +.modal.modal-success .has-danger .form-control { + background-color: transparent; +} + +.modal.modal-success .input-group-prepend { + margin-right: 0; +} + +.modal.modal-success .input-group-prepend .input-group-text, +.modal.modal-success .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-success .input-group-focus .input-group-prepend .input-group-text, +.modal.modal-success .input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + border-color: #ffffff; + color: #ffffff; +} + +.modal.modal-success .form-group.no-border .form-control, +.modal.modal-success .input-group.no-border .form-control { + background-color: rgba(30, 30, 47, 0.2); + color: #ffffff; +} + +.modal.modal-success .form-group.no-border .form-control:focus, +.modal.modal-success .form-group.no-border .form-control:active, +.modal.modal-success .form-group.no-border .form-control:active, +.modal.modal-success .input-group.no-border .form-control:focus, +.modal.modal-success .input-group.no-border .form-control:active, +.modal.modal-success .input-group.no-border .form-control:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-success .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-success .form-group.no-border .form-control+.input-group-append .input-group-text, +.modal.modal-success .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-success .input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); +} + +.modal.modal-success .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-success .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-success .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-success .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-success .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-success .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-success .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-success .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-success .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-success .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-success .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-success .input-group.no-border .form-control+.input-group-append .input-group-text:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-success .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-success .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.modal.modal-success .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-success .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-success .form-group.no-border .input-group-prepend .input-group-text, +.modal.modal-success .form-group.no-border .input-group-append .input-group-text, +.modal.modal-success .input-group.no-border .input-group-prepend .input-group-text, +.modal.modal-success .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border: none; + color: #ffffff; +} + +.modal.modal-success .form-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-success .form-group.no-border.input-group-focus .input-group-append .input-group-text, +.modal.modal-success .input-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-success .input-group.no-border.input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-info .modal-content { + background-color: #1d8cf8; + color: #ffffff; +} + +.modal.modal-info .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-info .form-control::-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-info .form-control:-moz-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-info .form-control::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-info .form-control:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.modal.modal-info .form-control { + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-info .form-control:focus { + border-color: #ffffff; + background-color: transparent; + color: #ffffff; +} + +.modal.modal-info .has-success:after, +.modal.modal-info .has-danger:after { + color: #ffffff; +} + +.modal.modal-info .has-danger .form-control { + background-color: transparent; +} + +.modal.modal-info .input-group-prepend { + margin-right: 0; +} + +.modal.modal-info .input-group-prepend .input-group-text, +.modal.modal-info .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border-color: rgba(255, 255, 255, 0.5); + color: #ffffff; +} + +.modal.modal-info .input-group-focus .input-group-prepend .input-group-text, +.modal.modal-info .input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + border-color: #ffffff; + color: #ffffff; +} + +.modal.modal-info .form-group.no-border .form-control, +.modal.modal-info .input-group.no-border .form-control { + background-color: rgba(30, 30, 47, 0.2); + color: #ffffff; +} + +.modal.modal-info .form-group.no-border .form-control:focus, +.modal.modal-info .form-group.no-border .form-control:active, +.modal.modal-info .form-group.no-border .form-control:active, +.modal.modal-info .input-group.no-border .form-control:focus, +.modal.modal-info .input-group.no-border .form-control:active, +.modal.modal-info .input-group.no-border .form-control:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-info .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-info .form-group.no-border .form-control+.input-group-append .input-group-text, +.modal.modal-info .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.modal.modal-info .input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); +} + +.modal.modal-info .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-info .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-info .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-info .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-info .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-info .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-info .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.modal.modal-info .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-info .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.modal.modal-info .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.modal.modal-info .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.modal.modal-info .input-group.no-border .form-control+.input-group-append .input-group-text:active { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-info .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-info .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.modal.modal-info .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.modal.modal-info .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal.modal-info .form-group.no-border .input-group-prepend .input-group-text, +.modal.modal-info .form-group.no-border .input-group-append .input-group-text, +.modal.modal-info .input-group.no-border .input-group-prepend .input-group-text, +.modal.modal-info .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.2); + border: none; + color: #ffffff; +} + +.modal.modal-info .form-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-info .form-group.no-border.input-group-focus .input-group-append .input-group-text, +.modal.modal-info .input-group.no-border.input-group-focus .input-group-prepend .input-group-text, +.modal.modal-info .input-group.no-border.input-group-focus .input-group-append .input-group-text { + background-color: rgba(30, 30, 47, 0.3); + color: #ffffff; +} + +.modal .modal-header .close { + color: #fd5d93; + text-shadow: none; +} + +.modal .modal-header .close:hover, +.modal .modal-header .close:focus { + opacity: 1; +} + +.modal.modal-black .modal-content { + background: linear-gradient(to bottom, #222a42 0%, #1d253b 100%); + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-black .modal-content .modal-header .modal-title, +.modal.modal-black .modal-content .modal-header .title { + color: rgba(255, 255, 255, 0.9); +} + +.modal.modal-black .modal-content .modal-body p { + color: rgba(255, 255, 255, 0.8); +} + +.modal.modal-black h1, +.modal.modal-black h2, +.modal.modal-black h3, +.modal.modal-black h4, +.modal.modal-black h5, +.modal.modal-black h6, +.modal.modal-black p { + color: #ffffff; +} + +.modal-search .modal-dialog { + margin: 20px auto; + max-width: 650px; +} + +.modal-search .modal-dialog input { + border: none; + font-size: 17px; + font-weight: 100; +} + +.modal-search .modal-dialog span { + font-size: 35px; + color: #b7b7b7; +} + +.modal-search .modal-content .modal-header { + padding: 24px; +} + +.modal-search .modal-header .close { + color: #555555; + top: 30px !important; +} + +.modal-search .modal-footer { + border-top: 2px solid #f9f9f9; + margin: 0px 25px 20px; +} + +.navbar { + padding: 10px 30px 10px 15px; + width: 100%; + z-index: 1050; + background: #1a1e34; +} + +.navbar .photo { + display: inline-block; + height: 30px; + width: 30px; + border-radius: 50%; + vertical-align: middle; + overflow: hidden; +} + +.navbar .photo img { + width: 100%; +} + +.navbar .navbar-wrapper { + display: flex; + align-items: center; +} + +.navbar .navbar-text { + color: #ffffff; +} + +.navbar .btn { + margin: 0 5px 0 10px; +} + +.navbar.navbar-absolute { + position: absolute; + z-index: 1050; +} + +.navbar.navbar-transparent { + background: transparent !important; +} + +.navbar.bg-white .navbar-nav .search-bar.input-group i { + color: #222a42; +} + +.navbar.bg-white .navbar-nav .search-bar.input-group .form-control { + background: rgba(34, 42, 66, 0.1); + border-radius: 4px; +} + +.navbar.bg-white .navbar-nav a.nav-link { + color: #222a42 !important; +} + +.navbar.bg-white .navbar-nav a.nav-link p { + color: #222a42; +} + +.navbar.bg-white .navbar-text, +.navbar.bg-white .navbar-brand { + color: #222a42; +} + +.navbar.bg-white .form-control { + color: #222a42 !important; +} + +.navbar.bg-white .form-control::placeholder { + color: #9A9A9A !important; +} + +.navbar.bg-dark { + background: #222a42 !important; +} + +.navbar.bg-primary { + background-color: #e14eca !important; +} + +.navbar.bg-warning { + background-color: #ff8d72 !important; +} + +.navbar.bg-info { + background-color: #1d8cf8 !important; +} + +.navbar.bg-success { + background-color: #00bf9a !important; +} + +.navbar.bg-danger { + background-color: #fd5d93 !important; +} + +.navbar .navbar-brand { + position: fixed; + padding-top: .3125rem; + padding-bottom: .3125rem; + color: #ffffff; + margin-left: 17px; + margin-top: 3px; + text-transform: uppercase; + font-size: 1rem; +} + +.navbar .navbar-toggle button:focus, +.navbar .navbar-toggler { + outline: none; +} + +.navbar-minimize-fixed { + position: fixed; + margin-left: 40px; + margin-top: 14px; + transition: 0.3s ease; + color: white; + z-index: 20; + opacity: 0; + transition: 0.2s ease; +} + +.navbar-minimize-fixed button i { + font-size: 20px; +} + +.notification { + background: #fd5d93; + color: #ffffff; + border-radius: 0.875rem; + height: 6px; + width: 6px; + position: absolute; + text-align: center; + font-size: 12px; + font-weight: 800; + top: 10px; + right: 10px; + border: 1px solid #fd5d93; +} + +.navbar-nav li { + padding: 0 10px; +} + +.navbar-nav li a { + color: #ffffff; +} + +.navbar-nav li i { + vertical-align: middle; + font-size: 20px; +} + +@media screen and (max-width: 991px) { + .navbar .container-fluid { + padding-right: 15px; + padding-left: 15px; + } + + .navbar .navbar-collapse .input-group { + margin: 0; + margin-top: 5px; + } + + .navbar .navbar-nav .btn { + margin-left: -3px; + display: flex; + } + + .navbar .navbar-nav .btn i { + margin-right: 12px; + } + + .navbar .navbar-nav .btn span { + margin: 0; + text-transform: uppercase; + font-weight: 300; + } + + .navbar .navbar-nav .btn span, + .navbar .navbar-nav .btn span:hover, + .navbar .navbar-nav .btn span:focus, + .navbar .navbar-nav .btn span:active, + .navbar .navbar-nav .btn span:active:focus { + color: #222a42 !important; + } + + .navbar .navbar-nav a.nav-link i { + opacity: 1; + margin-left: 4px; + margin-right: 5px; + } + + .navbar .navbar-nav a.nav-link p { + display: inline-block; + text-transform: uppercase; + margin-left: 7px; + } + + .navbar .navbar-nav .modal-search .modal-dialog { + padding: 0 40px; + } + + .navbar .navbar-nav .dropdown { + margin: 5px 0; + } + + .navbar .navbar-nav .dropdown .nav-link { + padding-bottom: 0; + } + + .navbar .navbar-nav .dropdown .dropdown-menu .dropdown-item { + margin-top: 0; + padding-left: 24px; + } + + .navbar .dropdown.show .dropdown-menu { + display: block; + } + + .navbar .dropdown .dropdown-menu { + display: none; + } + + .navbar .dropdown .dropdown-menu li a { + color: #222a42; + } + + .navbar .dropdown.show .dropdown-menu, + .navbar .dropdown .dropdown-menu { + background-color: transparent; + border: 0; + transition: none; + -webkit-box-shadow: none; + box-shadow: none; + width: auto; + margin: 0px 1rem; + margin-top: 0px; + } + + .navbar .dropdown.show .dropdown-menu:before, + .navbar .dropdown .dropdown-menu:before { + display: none; + } + + .navbar .dropdown-menu .dropdown-item:focus, + .navbar .dropdown-menu .dropdown-item:hover { + color: #ffffff; + } + + .navbar.bg-white .dropdown-menu .dropdown-item:focus, + .navbar.bg-white .dropdown-menu .dropdown-item:hover { + color: #344675; + } + + .navbar button.navbar-toggler[data-target="#navigation"] { + padding-top: 0; + } + + .navbar .navbar-toggler-bar { + display: block; + position: relative; + width: 22px; + height: 1px; + border-radius: 1px; + background: #ffffff; + } + + .navbar .navbar-toggler-bar.navbar-kebab { + height: 4px; + width: 4px; + margin-bottom: 3px; + border-radius: 50%; + } + + .navbar .navbar-toggler-bar+.navbar-toggler-bar { + margin-top: 7px; + } + + .navbar .navbar-toggler-bar+.navbar-toggler-bar.navbar-kebab { + margin-top: 0px; + } + + .navbar .navbar-toggler-bar.bar2 { + width: 17px; + transition: width .2s linear; + } + + .navbar.bg-white:not(.navbar-transparent) .navbar-toggler-bar { + background-color: #344675; + } + + .navbar .toggled .navbar-toggler-bar { + width: 24px; + } + + .navbar .toggled .navbar-toggler-bar+.navbar-toggler-bar { + margin-top: 5px; + } + + .navbar .navbar-brand { + margin-left: 20px; + position: relative; + } + + .navbar-nav .nav-link i.fa, + .navbar-nav .nav-link i.tim-icons { + opacity: .5; + } + + .bar1, + .bar2, + .bar3 { + outline: 1px solid transparent; + } + + .bar1 { + top: 0px; + -webkit-animation: topbar-back 500ms linear 0s; + -moz-animation: topbar-back 500ms linear 0s; + animation: topbar-back 500ms 0s; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + animation-fill-mode: forwards; + } + + .bar2 { + opacity: 1; + } + + .bar3 { + bottom: 0px; + -webkit-animation: bottombar-back 500ms linear 0s; + -moz-animation: bottombar-back 500ms linear 0s; + animation: bottombar-back 500ms 0s; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + animation-fill-mode: forwards; + } + + .toggled .bar1 { + top: 6px; + -webkit-animation: topbar-x 500ms linear 0s; + -moz-animation: topbar-x 500ms linear 0s; + animation: topbar-x 500ms 0s; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + animation-fill-mode: forwards; + } + + .toggled .bar2 { + opacity: 0; + } + + .toggled .bar3 { + bottom: 6px; + -webkit-animation: bottombar-x 500ms linear 0s; + -moz-animation: bottombar-x 500ms linear 0s; + animation: bottombar-x 500ms 0s; + -webkit-animation-fill-mode: forwards; + -moz-animation-fill-mode: forwards; + animation-fill-mode: forwards; + } + + @keyframes topbar-x { + 0% { + top: 0px; + transform: rotate(0deg); + } + + 45% { + top: 6px; + transform: rotate(145deg); + } + + 75% { + transform: rotate(130deg); + } + + 100% { + transform: rotate(135deg); + } + } + + @-webkit-keyframes topbar-x { + 0% { + top: 0px; + -webkit-transform: rotate(0deg); + } + + 45% { + top: 6px; + -webkit-transform: rotate(145deg); + } + + 75% { + -webkit-transform: rotate(130deg); + } + + 100% { + -webkit-transform: rotate(135deg); + } + } + + @-moz-keyframes topbar-x { + 0% { + top: 0px; + -moz-transform: rotate(0deg); + } + + 45% { + top: 6px; + -moz-transform: rotate(145deg); + } + + 75% { + -moz-transform: rotate(130deg); + } + + 100% { + -moz-transform: rotate(135deg); + } + } + + @keyframes topbar-back { + 0% { + top: 6px; + transform: rotate(135deg); + } + + 45% { + transform: rotate(-10deg); + } + + 75% { + transform: rotate(5deg); + } + + 100% { + top: 0px; + transform: rotate(0); + } + } + + @-webkit-keyframes topbar-back { + 0% { + top: 6px; + -webkit-transform: rotate(135deg); + } + + 45% { + -webkit-transform: rotate(-10deg); + } + + 75% { + -webkit-transform: rotate(5deg); + } + + 100% { + top: 0px; + -webkit-transform: rotate(0); + } + } + + @-moz-keyframes topbar-back { + 0% { + top: 6px; + -moz-transform: rotate(135deg); + } + + 45% { + -moz-transform: rotate(-10deg); + } + + 75% { + -moz-transform: rotate(5deg); + } + + 100% { + top: 0px; + -moz-transform: rotate(0); + } + } + + @keyframes bottombar-x { + 0% { + bottom: 0px; + transform: rotate(0deg); + } + + 45% { + bottom: 6px; + transform: rotate(-145deg); + } + + 75% { + transform: rotate(-130deg); + } + + 100% { + transform: rotate(-135deg); + } + } + + @-webkit-keyframes bottombar-x { + 0% { + bottom: 0px; + -webkit-transform: rotate(0deg); + } + + 45% { + bottom: 6px; + -webkit-transform: rotate(-145deg); + } + + 75% { + -webkit-transform: rotate(-130deg); + } + + 100% { + -webkit-transform: rotate(-135deg); + } + } + + @-moz-keyframes bottombar-x { + 0% { + bottom: 0px; + -moz-transform: rotate(0deg); + } + + 45% { + bottom: 6px; + -moz-transform: rotate(-145deg); + } + + 75% { + -moz-transform: rotate(-130deg); + } + + 100% { + -moz-transform: rotate(-135deg); + } + } + + @keyframes bottombar-back { + 0% { + bottom: 6px; + transform: rotate(-135deg); + } + + 45% { + transform: rotate(10deg); + } + + 75% { + transform: rotate(-5deg); + } + + 100% { + bottom: 0px; + transform: rotate(0); + } + } + + @-webkit-keyframes bottombar-back { + 0% { + bottom: 6px; + -webkit-transform: rotate(-135deg); + } + + 45% { + -webkit-transform: rotate(10deg); + } + + 75% { + -webkit-transform: rotate(-5deg); + } + + 100% { + bottom: 0px; + -webkit-transform: rotate(0); + } + } + + @-moz-keyframes bottombar-back { + 0% { + bottom: 6px; + -moz-transform: rotate(-135deg); + } + + 45% { + -moz-transform: rotate(10deg); + } + + 75% { + -moz-transform: rotate(-5deg); + } + + 100% { + bottom: 0px; + -moz-transform: rotate(0); + } + } + + @-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } + } + + @-moz-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } + } + + @keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } + } +} + +@media screen and (min-width: 992px) { + .navbar-collapse { + background: none !important; + } + + .navbar .navbar-toggle { + display: none; + } + + .navbar-nav .nav-link.profile-photo { + padding: 0; + margin: 7px 0.7rem; + } + + .navbar .caret { + position: absolute; + left: 80%; + top: 55%; + margin-left: 0; + } + + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } +} + +@media screen and (max-width: 576px) { + .navbar[class*='navbar-toggleable-'] .container { + margin-left: 0; + margin-right: 0; + } +} + +body { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + line-height: 1.2; +} + +p { + font-weight: 300; +} + +button, +input, +optgroup, +select, +textarea { + font-family: "Poppins", sans-serif; +} + +.card h1, +.card h2, +.card h3, +.card h4, +.card h5, +.card h6, +.card p { + color: rgba(255, 255, 255, 0.8); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 400; + color: rgba(255, 255, 255, 0.8); +} + +a { + color: #ba54f5; + font-weight: 300; +} + +a:hover, +a:focus { + color: #e14eca; +} + +h1, +.h1 { + line-height: 1.05; + margin-bottom: 30px; +} + +h1 small, +.h1 small { + font-weight: 600; + text-transform: uppercase; + opacity: .8; +} + +h2, +.h2 { + margin-bottom: 30px; + line-height: 1.2; +} + +h3, +.h3 { + margin-bottom: 30px; + line-height: 1.4em; +} + +h4, +.h4 { + line-height: 1.45em; + margin-bottom: 15px; +} + +h4+.category, +h4.title+.category, +.h4+.category, +.h4.title+.category { + margin-top: -10px; +} + +h5, +.h5 { + line-height: 1.4em; + margin-bottom: 15px; +} + +h6, +.h6 { + text-transform: uppercase; + font-weight: 600; +} + +p { + color: rgba(255, 255, 255, 0.8); + margin-bottom: 5px; +} + +p.description { + font-size: 1.14em; +} + +.title { + font-weight: 600; +} + +.title.title-up { + text-transform: uppercase; +} + +.title.title-up a { + color: #222a42; + text-decoration: none; +} + +.title+.category { + margin-top: -10px; +} + +.description, +.card-description, +.footer-big p, +.card .footer .stats { + color: #9A9A9A; + font-weight: 300; +} + +.category, +.card-category { + text-transform: capitalize; + font-weight: 400; + color: rgba(255, 255, 255, 0.6); + font-size: 0.75rem; +} + +.card-category { + font-size: 0.75rem; +} + +.blockquote { + border-left: none; + border: 1px solid #344675; + padding: 20px; + font-size: 0.9625rem; + line-height: 1.8; +} + +.blockquote small { + color: #344675; + font-size: 0.75rem; + text-transform: uppercase; +} + +.blockquote.blockquote-primary { + border-color: #e14eca; + color: #e14eca; +} + +.blockquote.blockquote-primary small { + color: #e14eca; +} + +.blockquote.blockquote-danger { + border-color: #fd5d93; + color: #fd5d93; +} + +.blockquote.blockquote-danger small { + color: #fd5d93; +} + +.blockquote.blockquote-white { + border-color: rgba(255, 255, 255, 0.8); + color: #ffffff; +} + +.blockquote.blockquote-white small { + color: rgba(255, 255, 255, 0.8); +} + +ul li, +ol li { + color: #ffffff; +} + +pre { + color: rgba(255, 255, 255, 0.8); +} + +hr { + border-top: 1px solid rgba(0, 0, 0, 0.1); + margin-top: 1rem; + margin-bottom: 1rem; +} + +.table>tbody>tr>td { + color: rgba(255, 255, 255, 0.7) !important; +} + +.table>tbody>tr>td .photo { + height: 30px; + width: 30px; + border-radius: 50%; + overflow: hidden; + margin: 0 auto; +} + +.table>tbody>tr>td .photo img { + width: 100%; +} + +.table>tbody>tr.table-success>td { + background-color: #00bf9a; +} + +.table>tbody>tr.table-info>td { + background-color: #1d8cf8; +} + +.table>tbody>tr.table-primary>td { + background-color: #e14eca; +} + +.table>tbody>tr.table-warning>td { + background-color: #ff8d72; +} + +.table>tbody>tr.table-danger>td { + background-color: #fd5d93; +} + +.table .img-wrapper { + width: 40px; + height: 40px; + border-radius: 50%; + overflow: hidden; + margin: 0 auto; +} + +.table .img-row { + max-width: 60px; + width: 60px; +} + +.table .form-check { + margin: 0; + margin-top: 5px; +} + +.table .form-check label .form-check-sign::before, +.table .form-check label .form-check-sign::after { + top: -17px; + left: 4px; +} + +.table .btn { + margin: 0; +} + +.table small, +.table .small { + font-weight: 300; +} + +.card-tasks .card-body .table { + margin-bottom: 0; +} + +.card-tasks .card-body .table>thead>tr>th, +.card-tasks .card-body .table>tbody>tr>th, +.card-tasks .card-body .table>tfoot>tr>th, +.card-tasks .card-body .table>thead>tr>td, +.card-tasks .card-body .table>tbody>tr>td, +.card-tasks .card-body .table>tfoot>tr>td { + padding-top: 5px; + padding-bottom: 5px; +} + +.table>thead>tr>th { + border-bottom-width: 1px; + font-size: 12px; + text-transform: uppercase; + font-weight: 700; + border: 0; + color: rgba(255, 255, 255, 0.7); +} + +.table .radio, +.table .checkbox { + margin-top: 0; + margin-bottom: 0; + padding: 0; + width: 15px; +} + +.table .radio .icons, +.table .checkbox .icons { + position: relative; +} + +.table .radio label:after, +.table .radio label:before, +.table .checkbox label:after, +.table .checkbox label:before { + top: -17px; + left: -3px; +} + +.table>thead>tr>th, +.table>tbody>tr>th, +.table>tfoot>tr>th, +.table>thead>tr>td, +.table>tbody>tr>td, +.table>tfoot>tr>td { + border-color: rgba(255, 255, 255, 0.1); + padding: 12px 7px; + vertical-align: middle; +} + +.table.table-shopping tbody tr:last-child td { + border: none; +} + +.table .th-description { + max-width: 150px; +} + +.table .td-price { + font-size: 26px; + font-weight: 300; + margin-top: 5px; + position: relative; + top: 4px; + text-align: right; +} + +.table .td-total { + font-weight: 600; + font-size: 0.8125rem; + padding-top: 20px; + text-align: right; +} + +.table .td-actions .btn { + margin: 0px; +} + +.table>tbody>tr { + position: relative; +} + +.table>tfoot>tr { + color: rgba(255, 255, 255, 0.7); + text-transform: uppercase; +} + +.table-responsive { + overflow: scroll; + padding-bottom: 10px; +} + +#tables .table-responsive { + margin-bottom: 30px; +} + +table.tablesorter thead tr .header { + background-image: url("../img/bg.gif"); + background-repeat: no-repeat; + background-position: center right; + cursor: pointer; +} + +table.tablesorter thead tr .headerSortUp { + background-image: url("../img/asc.gif"); +} + +table.tablesorter thead tr .headerSortDown { + background-image: url("../img/desc.gif"); +} + +.dataTables_wrapper .table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); +} + +.dataTables_wrapper .form-control-sm { + font-size: 10px; +} + +.form-check { + margin-top: .5rem; + padding-left: 0; +} + +.form-check .form-check-label { + display: inline-block; + position: relative; + cursor: pointer; + padding-left: 25px; + line-height: 18px; + margin-bottom: 0; + -webkit-transition: color 0.3s linear; + -moz-transition: color 0.3s linear; + -o-transition: color 0.3s linear; + -ms-transition: color 0.3s linear; + transition: color 0.3s linear; +} + +.radio .form-check-sign { + padding-left: 28px; +} + +.form-check-radio.form-check-inline .form-check-label { + padding-left: 5px; + margin-right: 10px; +} + +.form-check .form-check-sign::before, +.form-check .form-check-sign::after { + content: " "; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + cursor: pointer; + border-radius: 3px; + top: 0; + border: 1px solid #818181; + -webkit-transition: opacity 0.3s linear; + -moz-transition: opacity 0.3s linear; + -o-transition: opacity 0.3s linear; + -ms-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} + +.form-check input[type="checkbox"]:checked+.form-check-sign::before, +.form-check input[type="checkbox"]:checked+.form-check-sign::before { + border: none; + background-color: #e14eca; +} + +.form-check .form-check-sign::after { + font-family: 'nucleo'; + content: "\ea1b"; + top: 0px; + text-align: center; + font-size: 14px; + opacity: 0; + color: #ffffff; + font-weight: 600; + border: 0; + background-color: inherit; +} + +.form-check.disabled .form-check-label, +.form-check.disabled .form-check-label { + color: #9A9A9A; + opacity: .5; + cursor: not-allowed; +} + +.form-check input[type="checkbox"], +.radio input[type="radio"] { + opacity: 0; + position: absolute; + visibility: hidden; +} + +.form-check input[type="checkbox"]:checked+.form-check-sign::after { + opacity: 1; + font-size: 10px; + margin-top: 0; +} + +.form-check input[type="checkbox"]+.form-check-sign::after { + opacity: 0; + font-size: 10px; + margin-top: 0; +} + +.form-control input[type="checkbox"]:disabled+.form-check-sign::before, +.checkbox input[type="checkbox"]:disabled+.form-check-sign::after { + cursor: not-allowed; +} + +.form-check input[type="checkbox"]:disabled+.form-check-sign, +.form-check input[type="radio"]:disabled+.form-check-sign { + pointer-events: none; +} + +.form-check-radio .form-check-label { + padding-top: 3px; +} + +.form-check-radio .form-check-sign::before, +.form-check-radio .form-check-sign::after { + content: " "; + width: 18px; + height: 18px; + border-radius: 50%; + border: 1px solid #818181; + display: inline-block; + position: absolute; + left: 0px; + top: 3px; + padding: 1px; + -webkit-transition: opacity 0.3s linear; + -moz-transition: opacity 0.3s linear; + -o-transition: opacity 0.3s linear; + -ms-transition: opacity 0.3s linear; + transition: opacity 0.3s linear; +} + +.form-check-radio input[type="radio"]+.form-check-sign:after, +.form-check-radio input[type="radio"] { + opacity: 0; +} + +.form-check-radio input[type="radio"]:checked+.form-check-sign::after { + width: 6px; + height: 6px; + background-color: #e14eca; + border-color: #e14eca; + top: 9px; + left: 6px; + opacity: 1; +} + +.form-check-radio input[type="radio"]:checked+.form-check-sign::before { + border-color: #e14eca; +} + +.form-check-radio input[type="radio"]:checked+.form-check-sign::after { + opacity: 1; +} + +.form-check-radio input[type="radio"]:disabled+.form-check-sign { + color: #9A9A9A; +} + +.form-check-radio input[type="radio"]:disabled+.form-check-sign::before, +.form-check-radio input[type="radio"]:disabled+.form-check-sign::after { + color: #9A9A9A; +} + +.fixed-plugin { + position: fixed; + right: 0; + width: 64px; + background: rgba(0, 0, 0, 0.3); + z-index: 1031; + border-radius: 8px 0 0 8px; + text-align: center; + top: 130px; +} + +.fixed-plugin li>a, +.fixed-plugin .badge { + transition: all .34s; + -webkit-transition: all .34s; + -moz-transition: all .34s; +} + +.fixed-plugin .fa-cog { + color: #ffffff; + padding: 10px; + border-radius: 0 0 6px 6px; + width: auto; +} + +.fixed-plugin .dropdown-menu { + right: 80px; + left: auto !important; + top: -52px !important; + width: 290px; + border-radius: 0.1875rem; + padding: 0 10px; + background: linear-gradient(#222a42, #1d253b); +} + +.fixed-plugin .dropdown .dropdown-menu .tim-icons { + top: 5px; +} + +.fixed-plugin .dropdown-menu:after, +.fixed-plugin .dropdown-menu:before { + right: 10px; + margin-left: auto; + left: auto; +} + +.fixed-plugin .fa-circle-thin { + color: #ffffff; +} + +.fixed-plugin .active .fa-circle-thin { + color: #00bbff; +} + +.fixed-plugin .dropdown-menu>.active>a, +.fixed-plugin .dropdown-menu>.active>a:hover, +.fixed-plugin .dropdown-menu>.active>a:focus { + color: #777777; + text-align: center; +} + +.fixed-plugin img { + border-radius: 0; + width: 100%; + height: 100px; + margin: 0 auto; +} + +.fixed-plugin .dropdown-menu li>a:hover, +.fixed-plugin .dropdown-menu li>a:focus { + box-shadow: none; +} + +.fixed-plugin .badge { + border: 2px solid #ffffff; + border-radius: 50%; + cursor: pointer; + display: inline-block; + height: 23px; + margin-right: 5px; + position: relative; + width: 23px; +} + +.fixed-plugin .badge.active, +.fixed-plugin .badge:hover { + border-color: #1d253b; +} + +.fixed-plugin .light-badge, +.fixed-plugin .dark-badge { + margin: 0; + border: 1px solid #1d8cf8; +} + +.fixed-plugin .light-badge:hover, +.fixed-plugin .dark-badge:hover { + border: 1px solid #1d8cf8; +} + +.fixed-plugin .light-badge { + background: #ffffff; +} + +.fixed-plugin .light-badge:hover { + background: #ffffff; +} + +.fixed-plugin .dark-badge { + background: #222a42; +} + +.fixed-plugin .dark-badge:hover { + background: #222a42; +} + +.fixed-plugin h5 { + margin: 10px; +} + +.fixed-plugin .dropdown-menu li { + display: block; + padding: 18px 2px; + width: 25%; + float: left; +} + +.fixed-plugin li.adjustments-line, +.fixed-plugin li.header-title, +.fixed-plugin li.button-container { + width: 100%; + height: 50px; + min-height: inherit; +} + +.fixed-plugin li.button-container { + height: auto; +} + +.fixed-plugin li.button-container div { + margin-bottom: 5px; +} + +.fixed-plugin #sharrreTitle { + text-align: center; + padding: 10px 0; + height: 50px; +} + +.fixed-plugin li.header-title { + color: #ffffff; + height: 30px; + line-height: 25px; + font-size: 12px; + font-weight: 600; + text-align: center; + text-transform: uppercase; +} + +.fixed-plugin .adjustments-line a { + color: transparent; +} + +.fixed-plugin .adjustments-line a .badge-colors { + position: relative; + top: -2px; +} + +.fixed-plugin .adjustments-line a a:hover, +.fixed-plugin .adjustments-line a a:focus { + color: transparent; +} + +.fixed-plugin .adjustments-line .togglebutton { + text-align: center; +} + +.fixed-plugin .adjustments-line .togglebutton .label-switch { + position: relative; + left: -10px; + font-size: 0.62475rem; + color: #ffffff; +} + +.fixed-plugin .adjustments-line .togglebutton .label-switch.label-right { + left: 10px; +} + +.fixed-plugin .adjustments-line .togglebutton .toggle { + margin-right: 0; +} + +.fixed-plugin .adjustments-line .color-label { + position: relative; + top: -7px; + font-size: 0.62475rem; + color: #ffffff; +} + +.fixed-plugin .adjustments-line .dropdown-menu>li.adjustments-line>a { + padding-right: 0; + padding-left: 0; + border-bottom: 1px solid #ddd; + border-radius: 0; + margin: 0; +} + +.fixed-plugin .dropdown-menu>li>a.img-holder { + font-size: 1rem; + text-align: center; + border-radius: 10px; + background-color: #ffffff; + border: 3px solid #ffffff; + padding-left: 0; + padding-right: 0; + opacity: 1; + cursor: pointer; + display: block; + max-height: 100px; + overflow: hidden; + padding: 0; +} + +.fixed-plugin .dropdown-menu>li>a.img-holder img { + margin-top: auto; +} + +.fixed-plugin .dropdown-menu>li a.switch-trigger:hover, +.fixed-plugin .dropdown-menu>li>a.switch-trigger:focus { + background-color: transparent; +} + +.fixed-plugin .dropdown-menu>li:hover>a.img-holder, +.fixed-plugin .dropdown-menu>li:focus>a.img-holder { + border-color: rgba(0, 187, 255, 0.53); +} + +.fixed-plugin .dropdown-menu>.active>a.img-holder, +.fixed-plugin .dropdown-menu>.active>a.img-holder { + border-color: #00bbff; + background-color: #ffffff; +} + +.fixed-plugin .btn-social { + width: 50%; + display: block; + width: 48%; + float: left; + font-weight: 600; +} + +.fixed-plugin .btn-social i { + margin-right: 5px; +} + +.fixed-plugin .btn-social:first-child { + margin-right: 2%; +} + +.fixed-plugin .dropdown .dropdown-menu { + -webkit-transform: translateY(-15%); + -moz-transform: translateY(-15%); + -o-transform: translateY(-15%); + -ms-transform: translateY(-15%); + transform: translateY(-15%); + top: 27px; + opacity: 0; + transform-origin: 0 0; +} + +.fixed-plugin .dropdown .dropdown-menu:before { + border-bottom: 0.4em solid rgba(0, 0, 0, 0); + border-left: 0.4em solid rgba(0, 0, 0, 0.2); + border-top: 0.4em solid rgba(0, 0, 0, 0); + right: -16px; + top: 46px; +} + +.fixed-plugin .dropdown .dropdown-menu:after { + border-bottom: 0.4em solid rgba(0, 0, 0, 0); + border-left: 0.4em solid #222a42; + border-top: 0.4em solid rgba(0, 0, 0, 0); + right: -16px; +} + +.fixed-plugin .dropdown .dropdown-menu:before, +.fixed-plugin .dropdown .dropdown-menu:after { + content: ""; + display: inline-block; + position: absolute; + top: 74px; + width: 16px; + transform: translateY(-50%); + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); +} + +.fixed-plugin .dropdown.show .dropdown-menu { + opacity: 1; + -webkit-transform: translateY(-13%); + -moz-transform: translateY(-13%); + -o-transform: translateY(-13%); + -ms-transform: translateY(-13%); + transform: translateY(-13%); + transform-origin: 0 0; +} + +.fixed-plugin .bootstrap-switch { + margin: 0; +} + +.wrapper { + position: relative; + top: 0; + height: 100vh; +} + +.wrapper.wrapper-full-page { + min-height: 100vh; + height: auto; +} + +.sidebar-wrapper ul li div.collapse ul li div.collapse ul li a, +.sidebar-wrapper ul li div.collapse ul li div.collapsing ul li a, +.sidebar-wrapper ul li div.collapsing ul li div.collapse ul li a { + margin-left: 25px; +} + +.sidebar, +.off-canvas-sidebar { + background: #ba54f5; + background: -webkit-linear-gradient(0deg, #ba54f5 0%, #e14eca 100%); + background: -o-linear-gradient(0deg, #ba54f5 0%, #e14eca 100%); + background: -moz-linear-gradient(0deg, #ba54f5 0%, #e14eca 100%); + background: linear-gradient(0deg, #ba54f5 0%, #e14eca 100%); + height: calc(100vh - 90px); + width: 230px; + position: fixed; + top: 0; + left: 0; + z-index: 1; + background-size: cover; + background-position: center center; + display: block; + box-shadow: 0px 0px 45px 0px rgba(0, 0, 0, 0.6); + margin-top: 80px; + margin-left: 20px; + border-radius: 5px; + transition: 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); +} + +.sidebar .sidebar-wrapper, +.off-canvas-sidebar .sidebar-wrapper { + width: 100%; + min-height: 100%; + max-height: calc(100vh - 705px); + z-index: 4; + position: relative; + overflow: auto; +} + +.sidebar .sidebar-wrapper .dropdown .dropdown-backdrop, +.off-canvas-sidebar .sidebar-wrapper .dropdown .dropdown-backdrop { + display: none !important; +} + +.sidebar .sidebar-wrapper .navbar-form, +.off-canvas-sidebar .sidebar-wrapper .navbar-form { + border: none; +} + +.sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a span, +.sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a span, +.off-canvas-sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a span, +.off-canvas-sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a span { + display: inline-block; +} + +.sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, +.sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, +.off-canvas-sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, +.off-canvas-sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-normal { + margin: 0; + position: relative; + transform: translateX(0px); + opacity: 1; + white-space: nowrap; + display: block; + line-height: 23px; + z-index: 1; + color: rgba(255, 255, 255, 0.8); +} + +.sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.off-canvas-sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.off-canvas-sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon { + text-transform: uppercase; + width: 34px; + margin-right: 10px; + margin-left: 0px; + font-size: 12px; + text-align: center; + line-height: 25px; + position: relative; + float: left; + z-index: 1; + display: inherit; + line-height: 24px; + color: rgba(255, 255, 255, 0.8); +} + +.sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a i, +.sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a i, +.off-canvas-sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a i, +.off-canvas-sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a i { + font-size: 17px; + line-height: 20px; + width: 26px; +} + +.sidebar .sidebar-wrapper [data-toggle="collapse"]~div>ul>li:hover>a .sidebar-mini-icon, +.sidebar .sidebar-wrapper [data-toggle="collapse"]~div>ul>li:hover>a .sidebar-normal, +.off-canvas-sidebar .sidebar-wrapper [data-toggle="collapse"]~div>ul>li:hover>a .sidebar-mini-icon, +.off-canvas-sidebar .sidebar-wrapper [data-toggle="collapse"]~div>ul>li:hover>a .sidebar-normal { + color: #ffffff; +} + +.sidebar .sidebar-wrapper .nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.off-canvas-sidebar .sidebar-wrapper .nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon { + opacity: 0; +} + +.sidebar .navbar-minimize, +.off-canvas-sidebar .navbar-minimize { + position: absolute; + right: 20px; + top: 2px; + opacity: 1; +} + +.sidebar .logo-tim, +.off-canvas-sidebar .logo-tim { + border-radius: 50%; + border: 1px solid #333; + display: block; + height: 61px; + width: 61px; + float: left; + overflow: hidden; +} + +.sidebar .logo-tim img, +.off-canvas-sidebar .logo-tim img { + width: 60px; + height: 60px; +} + +.sidebar .nav, +.off-canvas-sidebar .nav { + margin-top: 20px; + display: block; +} + +.sidebar .nav .caret, +.off-canvas-sidebar .nav .caret { + top: 14px; + position: absolute; + right: 10px; +} + +.sidebar .nav li>a+div .nav, +.off-canvas-sidebar .nav li>a+div .nav { + margin-top: 5px; +} + +.sidebar .nav li>a+div .nav li>a, +.off-canvas-sidebar .nav li>a+div .nav li>a { + margin-top: 0px; + padding: 8px 8px; +} + +.sidebar .nav li>a, +.off-canvas-sidebar .nav li>a { + margin: 10px 15px 0; + border-radius: 30px; + color: #ffffff; + display: block; + text-decoration: none; + position: relative; + text-transform: uppercase; + cursor: pointer; + font-size: 0.62475rem; + padding: 10px 8px; + line-height: 1.625rem; +} + +.sidebar .nav li:first-child>a, +.off-canvas-sidebar .nav li:first-child>a { + margin: 0 15px; +} + +.sidebar .nav li:hover:not(.active)>a p, +.sidebar .nav li:hover:not(.active)>a i, +.sidebar .nav li:focus:not(.active)>a p, +.sidebar .nav li:focus:not(.active)>a i, +.off-canvas-sidebar .nav li:hover:not(.active)>a p, +.off-canvas-sidebar .nav li:hover:not(.active)>a i, +.off-canvas-sidebar .nav li:focus:not(.active)>a p, +.off-canvas-sidebar .nav li:focus:not(.active)>a i { + color: #ffffff; +} + +.sidebar .nav li:hover:not(.active)>a i, +.sidebar .nav li:focus:not(.active)>a i, +.off-canvas-sidebar .nav li:hover:not(.active)>a i, +.off-canvas-sidebar .nav li:focus:not(.active)>a i { + color: #ffffff; +} + +.sidebar .nav li.active>a:not([data-toggle="collapse"]), +.off-canvas-sidebar .nav li.active>a:not([data-toggle="collapse"]) { + background: transparent; +} + +.sidebar .nav li.active>a:not([data-toggle="collapse"]) i, +.sidebar .nav li.active>a:not([data-toggle="collapse"]) p, +.off-canvas-sidebar .nav li.active>a:not([data-toggle="collapse"]) i, +.off-canvas-sidebar .nav li.active>a:not([data-toggle="collapse"]) p { + color: white; +} + +.sidebar .nav li.active>a:not([data-toggle="collapse"]):before, +.off-canvas-sidebar .nav li.active>a:not([data-toggle="collapse"]):before { + content: " "; + position: absolute; + height: 6px; + width: 6px; + top: 22px; + left: -4px; + background: #ffffff; + border-radius: 50%; +} + +.sidebar .nav li.active>a[data-toggle="collapse"], +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"] { + background: transparent; + box-shadow: none; + color: #ffffff; +} + +.sidebar .nav li.active>a[data-toggle="collapse"] i, +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"] i { + color: #ffffff; +} + +.sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a, +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a { + box-shadow: none; +} + +.sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a .sidebar-mini-icon, +.sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a .sidebar-normal, +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a .sidebar-mini-icon, +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a .sidebar-normal { + color: #ffffff; + font-weight: 400; +} + +.sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a:before, +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"]+div .nav .active a:before { + content: " "; + position: absolute; + height: 6px; + width: 6px; + top: 17px; + left: -4px; + background: #ffffff; + border-radius: 50%; +} + +.sidebar .nav li.active>a[data-toggle="collapse"]:before, +.off-canvas-sidebar .nav li.active>a[data-toggle="collapse"]:before { + content: " "; + position: absolute; + height: 6px; + width: 6px; + top: 22px; + left: -4px; + background: rgba(255, 255, 255, 0.6); + border-radius: 50%; +} + +.sidebar .nav p, +.off-canvas-sidebar .nav p { + margin: 0; + line-height: 30px; + position: relative; + display: block; + height: auto; + white-space: nowrap; +} + +.sidebar .nav i, +.off-canvas-sidebar .nav i { + font-size: 20px; + float: left; + margin-right: 12px; + line-height: 30px; + width: 34px; + text-align: center; + color: rgba(255, 255, 255, 0.8); + position: relative; +} + +.sidebar .logo, +.off-canvas-sidebar .logo { + position: relative; + padding: 0.5rem 0.7rem; + z-index: 4; +} + +.sidebar .logo a.logo-mini, +.off-canvas-sidebar .logo a.logo-mini { + opacity: 1; + float: left; + width: 34px; + text-align: center; + margin-left: 10px; + margin-right: 12px; +} + +.sidebar .logo a.logo-normal, +.off-canvas-sidebar .logo a.logo-normal { + display: block; + opacity: 1; + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate3d(0px, 0, 0); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); +} + +.sidebar .logo:after, +.off-canvas-sidebar .logo:after { + content: ''; + position: absolute; + bottom: 0; + right: 15px; + height: 1px; + width: calc(100% - 30px); + background: rgba(255, 255, 255, 0.5); +} + +.sidebar .logo p, +.off-canvas-sidebar .logo p { + float: left; + font-size: 20px; + margin: 10px 10px; + color: #ffffff; + line-height: 20px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.sidebar .logo .simple-text, +.off-canvas-sidebar .logo .simple-text { + text-transform: uppercase; + padding: 0.5rem 0; + display: block; + white-space: nowrap; + color: #ffffff; + text-decoration: none; + font-weight: 400; + line-height: 30px; + overflow: hidden; +} + +.sidebar .logo-tim, +.off-canvas-sidebar .logo-tim { + border-radius: 50%; + border: 1px solid #333; + display: block; + height: 61px; + width: 61px; + float: left; + overflow: hidden; +} + +.sidebar .logo-tim img, +.off-canvas-sidebar .logo-tim img { + width: 60px; + height: 60px; +} + +.sidebar[data="blue"], +.off-canvas-sidebar[data="blue"] { + background: #3358f4; + background: -webkit-linear-gradient(0deg, #3358f4 0%, #1d8cf8 100%); + background: -o-linear-gradient(0deg, #3358f4 0%, #1d8cf8 100%); + background: -moz-linear-gradient(0deg, #3358f4 0%, #1d8cf8 100%); + background: linear-gradient(0deg, #3358f4 0%, #1d8cf8 100%); +} + +.sidebar[data="green"], +.off-canvas-sidebar[data="green"] { + background: #0098f0; + background: -webkit-linear-gradient(0deg, #0098f0 0%, #00f2c3 100%); + background: -o-linear-gradient(0deg, #0098f0 0%, #00f2c3 100%); + background: -moz-linear-gradient(0deg, #0098f0 0%, #00f2c3 100%); + background: linear-gradient(0deg, #0098f0 0%, #00f2c3 100%); +} + +.sidebar .user, +.off-canvas-sidebar .user { + padding-bottom: 20px; + margin: 20px auto 0; + position: relative; +} + +.sidebar .user:after, +.off-canvas-sidebar .user:after { + content: ''; + position: absolute; + bottom: 0; + right: 15px; + height: 1px; + width: calc(100% - 30px); + background: rgba(255, 255, 255, 0.5); +} + +.sidebar .user .photo, +.off-canvas-sidebar .user .photo { + width: 34px; + height: 34px; + overflow: hidden; + float: left; + z-index: 5; + margin-right: 10px; + border-radius: 50%; + margin-left: 23px; + box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.3); +} + +.sidebar .user .photo img, +.off-canvas-sidebar .user .photo img { + width: 100%; +} + +.sidebar .user a, +.off-canvas-sidebar .user a { + color: #ffffff; + text-decoration: none; + padding: 0.5rem 15px; + white-space: nowrap; +} + +.sidebar .user .info>a, +.off-canvas-sidebar .user .info>a { + display: block; + line-height: 18px; +} + +.sidebar .user .info>a>span, +.off-canvas-sidebar .user .info>a>span { + display: block; + position: relative; + opacity: 1; +} + +.sidebar .user .info .caret, +.off-canvas-sidebar .user .info .caret { + position: absolute; + top: 8px; + right: 18px; +} + +.visible-on-sidebar-regular { + display: inline-block !important; +} + +.visible-on-sidebar-mini { + display: none !important; +} + +.off-canvas-sidebar .nav>li>a, +.off-canvas-sidebar .nav>li>a:hover { + color: #ffffff; +} + +.off-canvas-sidebar .nav>li>a:focus { + background: rgba(200, 200, 200, 0.2); +} + +.main-panel { + position: relative; + float: right; + width: 100%; + min-height: 100vh; + border-top: 2px solid #e14eca; + background: linear-gradient(#1e1e2f, #1e1e24); + -webkit-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); + -moz-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); + -o-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); + -ms-transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); + transition: all 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); +} + +.main-panel[data="blue"] { + border-top: 2px solid #1d8cf8; +} + +.main-panel[data="green"] { + border-top: 2px solid #00f2c3; +} + +.main-panel[data="primary"] { + border-top: 2px solid #e14eca; +} + +.main-panel>.content { + padding: 78px 30px 30px 280px; + min-height: calc(100vh - 70px); +} + +.main-panel>.navbar { + margin-bottom: 0; +} + +.main-panel .header { + margin-bottom: 50px; +} + +.perfect-scrollbar-on .sidebar, +.perfect-scrollbar-on .main-panel { + height: 100%; + max-height: 100%; +} + +@media (min-width: 991px) { + + .sidebar, + .main-panel, + .sidebar-wrapper { + -webkit-transition-property: top, bottom, width; + transition-property: top, bottom, width; + -webkit-transition-duration: .2s, .2s, .35s; + transition-duration: .2s, .2s, .35s; + -webkit-transition-timing-function: linear, linear, ease; + transition-timing-function: linear, linear, ease; + -webkit-overflow-scrolling: touch; + } + + .sidebar-mini .visible-on-sidebar-regular { + display: none !important; + } + + .sidebar-mini .visible-on-sidebar-mini { + display: inline-block !important; + } + + .sidebar-mini .sidebar { + width: 80px; + } + + .sidebar-mini .sidebar .sidebar-wrapper { + width: 100% !important; + } + + .sidebar-mini .sidebar { + display: block; + z-index: 1030; + box-shadow: 0px 2px 22px 0 rgba(0, 0, 0, 0.2), 0px 2px 30px 0 rgba(0, 0, 0, 0.35); + } + + .sidebar-mini .sidebar .logo a.logo-normal { + opacity: 0; + -webkit-transform: translate3d(-25px, 0, 0); + -moz-transform: translate3d(-25px, 0, 0); + -o-transform: translate3d(-25px, 0, 0); + -ms-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + } + + .sidebar-mini .sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, + .sidebar-mini .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, + .sidebar-mini .sidebar .sidebar-wrapper .user .info>a>span, + .sidebar-mini .sidebar .sidebar-wrapper>.nav li>a p { + -webkit-transform: translate3d(-25px, 0, 0); + -moz-transform: translate3d(-25px, 0, 0); + -o-transform: translate3d(-25px, 0, 0); + -ms-transform: translate3d(-25px, 0, 0); + transform: translate3d(-25px, 0, 0); + opacity: 0; + } + + .sidebar-mini .sidebar .nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon { + opacity: 1; + } + + .sidebar-mini .sidebar:hover { + width: 260px; + } + + .sidebar-mini .sidebar:hover .logo a.logo-normal { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + .sidebar-mini .sidebar:hover .navbar-minimize { + opacity: 1; + } + + .sidebar-mini .sidebar:hover .sidebar-wrapper { + width: 260px; + } + + .sidebar-mini .sidebar:hover .sidebar-wrapper>.nav li>a p, + .sidebar-mini .sidebar:hover .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, + .sidebar-mini .sidebar:hover .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, + .sidebar-mini .sidebar:hover .sidebar-wrapper .user .info>a>span { + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate3d(0px, 0, 0); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); + opacity: 1; + } + + .sidebar-mini .sidebar:hover .nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon { + opacity: 0; + } + + .sidebar-mini .main-panel>.content { + padding-left: 130px; + } + + .sidebar-mini footer { + padding-left: 130px; + } + + .navbar-minimize button { + margin-left: 10px; + } + + .navbar-minimize button i { + color: #ffffff; + font-size: 20px; + } +} + +.panel-header { + height: 260px; + padding-top: 80px; + padding-bottom: 45px; + background: #141E30; + /* fallback for old browsers */ + background: -webkit-gradient(linear, left top, right top, from(#0c2646), color-stop(60%, #204065), to(#2a5788)); + background: linear-gradient(to right, #0c2646 0%, #204065 60%, #2a5788 100%); + position: relative; + overflow: hidden; +} + +.panel-header .header .title { + color: #ffffff; +} + +.panel-header .header .category { + max-width: 600px; + color: rgba(255, 255, 255, 0.5); + margin: 0 auto; + font-size: 13px; +} + +.panel-header .header .category a { + color: #ffffff; +} + +.panel-header-sm { + height: 135px; +} + +.panel-header-lg { + height: 380px; +} + +@media screen and (max-width: 991px) { + .sidebar { + position: fixed; + display: block; + top: 0; + height: 100%; + width: 260px; + right: auto; + left: 0; + margin: 0; + border-radius: 0; + z-index: 1032; + visibility: visible; + overflow-y: visible; + padding: 0; + transition: 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); + -webkit-transform: translate3d(-260px, 0, 0); + -moz-transform: translate3d(-260px, 0, 0); + -o-transform: translate3d(-260px, 0, 0); + -ms-transform: translate3d(-260px, 0, 0); + transform: translate3d(-260px, 0, 0); + } +} + +@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) { + .sidebar { + transition: none; + } +} + +@media screen and (max-width: 991px) { + .wrapper { + transition: 0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1); + } +} + +@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) { + .wrapper { + transition: none; + } +} + +@media screen and (max-width: 991px) { + .main-panel { + width: 100%; + } + + .main-panel .content { + padding-left: 30px; + } + + .nav-open .main-panel { + right: 0; + -webkit-transform: translate3d(260px, 0, 0); + -moz-transform: translate3d(260px, 0, 0); + -o-transform: translate3d(260px, 0, 0); + -ms-transform: translate3d(260px, 0, 0); + transform: translate3d(260px, 0, 0); + } + + .nav-open .sidebar { + transition: 0.5s cubic-bezier(0.685, 0.0473, 0.346, 1); + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate3d(0px, 0, 0); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); + } +} + +@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) { + .nav-open .sidebar { + transition: none; + } +} + +@media screen and (max-width: 991px) { + .nav-open .sidebar:before { + content: unset; + } + + .nav-open body { + position: relative; + overflow-x: hidden; + } + + .nav-open .menu-on-right .main-panel { + -webkit-transform: translate3d(-260px, 0, 0); + -moz-transform: translate3d(-260px, 0, 0); + -o-transform: translate3d(-260px, 0, 0); + -ms-transform: translate3d(-260px, 0, 0); + transform: translate3d(-260px, 0, 0); + } + + .nav-open .menu-on-right .navbar-collapse, + .nav-open .menu-on-right .sidebar { + -webkit-transform: translate3d(0px, 0, 0); + -moz-transform: translate3d(0px, 0, 0); + -o-transform: translate3d(0px, 0, 0); + -ms-transform: translate3d(0px, 0, 0); + transform: translate3d(0px, 0, 0); + } + + .nav-open .menu-on-right #bodyClick { + right: 260px; + left: auto; + } + + .menu-on-right .sidebar { + left: auto; + right: 0; + -webkit-transform: translate3d(260px, 0, 0); + -moz-transform: translate3d(260px, 0, 0); + -o-transform: translate3d(260px, 0, 0); + -ms-transform: translate3d(260px, 0, 0); + transform: translate3d(260px, 0, 0); + } + + #bodyClick { + height: 100%; + width: 100%; + position: fixed; + opacity: 1; + top: 0; + right: 0; + left: 260px; + content: ""; + z-index: 9999; + overflow-x: hidden; + background-color: transparent; + transition: 0.5s, cubic-bezier(0.685, 0.0473, 0.346, 1); + } +} + +@media screen and (max-width: 991px) and (prefers-reduced-motion: reduce) { + #bodyClick { + transition: none; + } +} + +@media screen and (max-width: 768px) { + .main-panel .content { + padding-left: 15px; + padding-right: 15px; + } +} + +.color-swatch { + margin: 1rem 0; + border-radius: .25rem; + background-color: #F4F5F7; + width: 100% !important; + height: auto !important; + margin-bottom: 20px; +} + +.color-swatch:after { + content: " "; + display: table; + clear: both; +} + +.color-swatch-header { + position: relative; + height: 0; + padding-bottom: 50%; + border-radius: .25rem .25rem 0 0; + border: 1px solid transparent; +} + +.color-swatch-header.is-light { + border-color: #C1C7D0; +} + +.color-swatch-header .pass-fail { + position: absolute; + width: 100%; + bottom: 0; +} + +.color-swatch-header .pass-fail-item-wrap { + position: relative; + float: left; + left: 50%; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); +} + +.color-swatch-header .pass-fail-item-group { + display: inline-block; + padding: 0 5px; +} + +.color-swatch-header .pass-fail-item { + float: left; + display: inline-block; + text-align: center; + padding: 2px; +} + +.color-swatch-header .pass-fail-item.white .example { + color: #fff; +} + +.color-swatch-header .pass-fail-item.small .example { + font-size: 10px; +} + +.color-swatch-header .pass-fail-item .lozenge { + font-size: 11px; + text-transform: uppercase; + font-weight: 600; + background: #000; + color: #fff; + padding: 2px 4px; + line-height: 10px; + border-radius: 4px; + letter-spacing: 0.05em; +} + +.color-swatch-body { + position: relative; + left: 50%; + float: left; + padding: 10px 0; + -webkit-transform: translateX(-50%); + -ms-transform: translateX(-50%); + transform: translateX(-50%); +} + +.color-swatch-body .prop-item-wrap { + float: left; + padding: 0 15px; + min-width: 65px; +} + +.color-swatch-body .prop-item { + padding: 15px 0; +} + +.color-swatch-body .prop-item .label { + font-size: 11px; + color: #62748C; + text-transform: uppercase; + line-height: 16px; +} + +.color-swatch-body .prop-item .value { + font-size: 14px; +} + +.table-colors .swatch { + display: inline-block; + float: left; + width: 40px; + height: 40px; + margin-right: 20px; + border: 1px solid transparent; + border-radius: 4px; +} + +.table-colors td:nth-child(1), +.table-colors:first-child td:nth-child(1) { + line-height: 40px; +} + +.table-colors .lozenge { + font-size: 10px; + font-weight: 600; + line-height: 10px; + display: inline-block; + float: left; + margin: 5px 10px 0 0; + padding: 2px 4px; + letter-spacing: .05em; + text-transform: uppercase; + color: #042a53; + border-radius: 4px; + background: #97a0af; +} + +.bd-example .row>.col span, +.bd-example .row>[class^=col-] span { + font-size: 0.75rem; + display: block; + margin: 1rem 0; + padding: .75rem; + color: #393f49; + background-color: #ffffff; + border-radius: 0.2857rem; +} + +.bd-docs .navbar .navbar-brand { + position: relative; +} + +/* Animations */ +.nav-pills .nav-link, +.navbar, +.nav-tabs .nav-link, +.sidebar .nav a, +.sidebar .nav a i, +.sidebar .nav p, +.navbar-collapse .navbar-nav .nav-link, +.animation-transition-general, +.sidebar .nav p, +.off-canvas-sidebar .nav p, +.sidebar .logo a.logo-mini, +.sidebar .logo a.logo-normal, +.off-canvas-sidebar .logo a.logo-mini, +.off-canvas-sidebar .logo a.logo-normal, +.sidebar .user .photo, +.off-canvas-sidebar .user .photo, +.sidebar .user a, +.off-canvas-sidebar .user a, +.sidebar .user .info>a>span, +.off-canvas-sidebar .user .info>a>span, +.tag, +.tag [data-role="remove"], +.animation-transition-general, +.sidebar .nav p, +.off-canvas-sidebar .nav p, +.sidebar .logo a.logo-mini, +.sidebar .logo a.logo-normal, +.off-canvas-sidebar .logo a.logo-mini, +.off-canvas-sidebar .logo a.logo-normal, +.sidebar .user .photo, +.off-canvas-sidebar .user .photo, +.sidebar .user a, +.off-canvas-sidebar .user a, +.sidebar .user .info>a>span, +.off-canvas-sidebar .user .info>a>span { + -webkit-transition: all 300ms ease 0s; + -moz-transition: all 300ms ease 0s; + -o-transition: all 300ms ease 0s; + -ms-transition: all 300ms ease 0s; + transition: all 300ms ease 0s; +} + +.bootstrap-switch-label:before, +.caret { + -webkit-transition: all 150ms ease 0s; + -moz-transition: all 150ms ease 0s; + -o-transition: all 150ms ease 0s; + -ms-transition: all 150ms ease 0s; + transition: all 150ms ease 0s; +} + +.dropdown-toggle[aria-expanded="true"]:after, +a[data-toggle="collapse"][aria-expanded="true"] .caret, +.card-collapse .card a[data-toggle="collapse"][aria-expanded="true"] i, +.card-collapse .card a[data-toggle="collapse"].expanded i { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +.caret { + width: 0; + height: 0; + vertical-align: middle; + border-top: 4px dashed; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + margin-top: -5px; + position: absolute; + top: 30px; + margin-left: 5px; +} + +.pull-left { + float: left; +} + +.pull-right { + float: right; +} + +.card form label+.form-control { + margin-bottom: 20px; +} + +.card .map-title { + color: #ffffff; +} + +.card.card-chart .gmnoprint, +.card.card-chart .gm-style-cc { + display: none !important; +} + +.bd-docs h1, +.bd-docs h2, +.bd-docs h3, +.bd-docs h4, +.bd-docs h5, +.bd-docs h6, +.bd-docs p, +.bd-docs ul li, +.bd-docs ol li { + color: #2c2c2c; +} + +.bd-docs .bd-content>table>thead>tr>th { + color: #222a42; +} + +.bd-docs .blockquote, +.bd-docs .blockquote p, +.bd-docs .card p { + color: rgba(255, 255, 255, 0.8); +} + +.bd-docs .bd-example { + background: linear-gradient(#1e1e2f, #1e1e24); +} + +.bd-docs .navbar { + border-top: none; +} + +.bd-docs .navbar .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.8) !important; +} + +.bd-docs .bd-example .btn { + margin: 4px 0; +} + +.bd-docs .bd-example .btn .badge { + display: inline-block; +} + +.bd-docs .bd-example .tim-icons { + color: #ffffff; +} + +.bd-docs .bd-example .popover .popover-header { + color: rgba(181, 181, 181, 0.6); +} + +.bd-docs .bd-example .popover-body p { + color: #212529; +} + +.bd-docs .bd-example.tooltip-demo p { + color: rgba(255, 255, 255, 0.8); +} + +.bd-docs .card.card-body, +.bd-docs .card .card-body { + color: rgba(255, 255, 255, 0.8); +} + +.bd-docs label, +.bd-docs .form-check { + color: rgba(255, 255, 255, 0.8); +} + +.bd-docs .form-check+.btn { + margin-top: 20px; +} + +.bd-docs .bd-example thead th, +.bd-docs table thead th { + color: rgba(255, 255, 255, 0.8); +} + +.bd-docs .bd-example h1, +.bd-docs .bd-example h2, +.bd-docs .bd-example h3, +.bd-docs .bd-example h4, +.bd-docs .bd-example h5, +.bd-docs .bd-example h6, +.bd-docs .bd-example .h1, +.bd-docs .bd-example .h2, +.bd-docs .bd-example .h3, +.bd-docs .bd-example .h4, +.bd-docs .bd-example .h5, +.bd-docs .bd-example .h6, +.bd-docs table h1, +.bd-docs table h2, +.bd-docs table h3, +.bd-docs table h4, +.bd-docs table h5, +.bd-docs table h6, +.bd-docs table .h1, +.bd-docs table .h2, +.bd-docs table .h3, +.bd-docs table .h4, +.bd-docs table .h5, +.bd-docs table .h6 { + color: rgba(255, 255, 255, 0.8); +} + +.bd-docs .bd-example .datepicker thead th, +.bd-docs .bd-example .datepicker table thead th, +.bd-docs .bd-example .datepicker .tim-icons, +.bd-docs table .datepicker thead th, +.bd-docs table .datepicker table thead th, +.bd-docs table .datepicker .tim-icons { + color: #e14eca; +} + +.bd-docs .bd-example .picker-switch .tim-icons, +.bd-docs table .picker-switch .tim-icons { + color: #e14eca; +} + +.bd-docs .footer .container-fluid>nav { + display: inline-block; +} + +.modal.show .modal-dialog { + -webkit-transform: translate(0, 30%); + transform: translate(0, 30%); +} + +code { + color: #f3a4b5; +} + +@media screen and (max-width: 991px) { + .profile-photo .profile-photo-small { + margin-left: -2px; + } + + .button-dropdown { + display: none; + } + + #searchModal .modal-dialog { + margin: 20px; + } + + #minimizeSidebar { + display: none; + } +} + +@media screen and (max-width: 768px) { + .landing-page .section-story-overview .image-container:nth-child(2) { + margin-left: 0; + margin-bottom: 30px; + } +} + +@media screen and (max-width: 576px) { + .page-header .container h6.category-absolute { + width: 90%; + } + + .form-horizontal .col-form-label, + .form-horizontal .label-on-right { + text-align: inherit; + padding-top: 0; + } + + .form-horizontal .col-form-label code, + .form-horizontal .label-on-right code { + padding: 0 10px; + } +} + +.rtl .sidebar, +.rtl .bootstrap-navbar { + right: 0; + left: auto; + margin-right: 20px; + margin-left: 0; +} + +.rtl .sidebar .nav i, +.rtl .bootstrap-navbar .nav i { + float: right; + margin-left: 15px; + margin-right: 0; +} + +.rtl .sidebar .nav p, +.rtl .bootstrap-navbar .nav p { + margin-right: 45px; + text-align: right; +} + +.rtl .sidebar .nav .caret, +.rtl .bootstrap-navbar .nav .caret { + left: 11px; + right: auto; +} + +.rtl .sidebar .logo a.logo-mini, +.rtl .bootstrap-navbar .logo a.logo-mini { + float: right; + margin-right: 20px; + margin-left: 10px; +} + +.rtl .sidebar .logo .simple-text, +.rtl .bootstrap-navbar .logo .simple-text { + text-align: right; +} + +.rtl .sidebar .sidebar-wrapper .nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.rtl .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.rtl .bootstrap-navbar .sidebar-wrapper .nav [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon, +.rtl .bootstrap-navbar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-mini-icon { + float: right; + margin-left: 15px; + margin-right: 0; +} + +.rtl .sidebar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, +.rtl .sidebar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, +.rtl .bootstrap-navbar .sidebar-wrapper>.nav [data-toggle="collapse"]~div>ul>li>a .sidebar-normal, +.rtl .bootstrap-navbar .sidebar-wrapper .user .info [data-toggle="collapse"]~div>ul>li>a .sidebar-normal { + text-align: right; +} + +.rtl .sidebar:before, +.rtl .bootstrap-navbar:before { + right: 30px; + left: auto; +} + +.rtl .main-panel .content { + padding: 80px 280px 30px 30px; +} + +.rtl .footer { + padding: 24px 300px 24px 0; +} + +.rtl .dropdown-toggle:after { + margin-right: .255em; + margin-left: 0; +} + +.rtl .dropdown-menu.dropdown-menu-right.dropdown-navbar { + right: -220px !important; + left: auto; +} + +.rtl .dropdown-menu.dropdown-menu-right.dropdown-navbar:before { + right: auto; + left: 35px; +} + +.rtl .notification { + left: 40px; + right: auto; +} + +.rtl .dropdown-menu { + right: auto; + left: 0; +} + +.rtl .minimize-sidebar { + float: right; +} + +.rtl .alert { + left: 0; + margin-left: 0; + margin-right: 0; +} + +.rtl .alert button.close { + left: 10px !important; + right: auto !important; +} + +.rtl .alert span[data-notify="icon"] { + right: 15px; + left: auto; +} + +.rtl .alert.alert-with-icon { + padding-right: 65px; + padding-left: 15px; +} + +.rtl .alert.alert-with-icon i[data-notify="icon"] { + right: 15px; + left: auto; +} + +.rtl .search-bar { + margin-left: 0; +} + +.rtl .modal-search .modal-header .close { + margin-right: auto; + left: 10px; +} + +@media (min-width: 991px) { + .rtl.sidebar-mini .main-panel .content { + padding-right: 130px; + padding-left: 50px; + } + + .rtl.sidebar-mini footer { + padding-right: 130px; + padding-left: 50px; + } + + .rtl .navbar-minimize button { + margin-right: -5px; + } +} + +@media screen and (max-width: 991px) { + .rtl .sidebar { + margin-right: 0; + } + + .rtl .main-panel .content { + padding-right: 50px; + } + + .rtl #bodyClick { + right: 260px; + left: auto; + } + + .rtl .footer { + padding-right: 15px; + } +} + +.rtl .navbar .navbar-nav { + padding-right: 0; +} + +.rtl .navbar .navbar-nav a.nav-link { + text-align: right; +} + +.rtl .navbar .navbar-nav a.nav-link p { + margin-right: 7px; +} + +.rtl .navbar .navbar-nav .btn { + margin-right: 0; + padding: 0; +} + +.rtl .navbar .navbar-nav .btn i { + margin-left: 4px; + margin-right: 5px; +} + +.rtl .navbar .navbar-nav .search-bar span { + margin-right: 10px; +} + +.rtl .ps__rail-y { + right: auto !important; + left: 0; +} + +.rtl .main-panel { + position: fixed; + height: 100%; + overflow-y: scroll; + overflow-x: hidden; +} + +@media screen and (max-width: 768px) { + .rtl .main-panel .content { + padding-left: 15px; + padding-right: 15px; + } +} + +.form-group.has-danger .error, +.input-group.has-danger .error { + color: #ec250d; +} + +.form-group.has-success .error, +.input-group.has-success .error { + color: #00f2c3; +} + +.form-group.no-border.form-control-lg .input-group-append .input-group-text, +.input-group.no-border.form-control-lg .input-group-append .input-group-text { + padding: 15px 0 15px 19px; +} + +.form-group.no-border.form-control-lg .form-control, +.input-group.no-border.form-control-lg .form-control { + padding: 15px 19px; +} + +.form-group.no-border.form-control-lg .form-control+.input-group-prepend .input-group-text, +.form-group.no-border.form-control-lg .form-control+.input-group-append .input-group-text, +.input-group.no-border.form-control-lg .form-control+.input-group-prepend .input-group-text, +.input-group.no-border.form-control-lg .form-control+.input-group-append .input-group-text { + padding: 15px 19px 15px 0; +} + +.form-group.form-control-lg .form-control, +.input-group.form-control-lg .form-control { + padding: 14px 18px; + height: 100%; +} + +.form-group.form-control-lg .form-control+.input-group-prepend .input-group-text, +.form-group.form-control-lg .form-control+.input-group-append .input-group-text, +.input-group.form-control-lg .form-control+.input-group-prepend .input-group-text, +.input-group.form-control-lg .form-control+.input-group-append .input-group-text { + padding: 14px 18px 14px 0; +} + +.form-group.form-control-lg .input-group-prepend .input-group-text, +.form-group.form-control-lg .input-group-append .input-group-text, +.input-group.form-control-lg .input-group-prepend .input-group-text, +.input-group.form-control-lg .input-group-append .input-group-text { + padding: 14px 0 15px 18px; +} + +.form-group.form-control-lg .input-group-prepend .input-group-text+.form-control, +.form-group.form-control-lg .input-group-append .input-group-text+.form-control, +.input-group.form-control-lg .input-group-prepend .input-group-text+.form-control, +.input-group.form-control-lg .input-group-append .input-group-text+.form-control { + padding: 15px 18px 15px 16px; +} + +.form-group.no-border .form-control, +.input-group.no-border .form-control { + padding: 11px 19px; +} + +.form-group.no-border .form-control+.input-group-prepend .input-group-text, +.form-group.no-border .form-control+.input-group-append .input-group-text, +.input-group.no-border .form-control+.input-group-prepend .input-group-text, +.input-group.no-border .form-control+.input-group-append .input-group-text { + padding: 11px 19px 11px 0; +} + +.form-group.no-border .input-group-prepend .input-group-text, +.form-group.no-border .input-group-append .input-group-text, +.input-group.no-border .input-group-prepend .input-group-text, +.input-group.no-border .input-group-append .input-group-text { + padding: 11px 0 11px 19px; +} + +.form-group .form-control, +.input-group .form-control { + padding: 10px 18px 10px 18px; +} + +.form-group .form-control+.input-group-prepend .input-group-text, +.form-group .form-control+.input-group-append .input-group-text, +.input-group .form-control+.input-group-prepend .input-group-text, +.input-group .form-control+.input-group-append .input-group-text { + padding: 10px 18px 10px 0; +} + +.form-group .input-group-prepend .input-group-text, +.form-group .input-group-append .input-group-text, +.input-group .input-group-prepend .input-group-text, +.input-group .input-group-append .input-group-text { + padding: 10px 0 10px 18px; +} + +.form-group .input-group-prepend .input-group-text+.form-control, +.form-group .input-group-prepend .input-group-text~.form-control, +.form-group .input-group-append .input-group-text+.form-control, +.form-group .input-group-append .input-group-text~.form-control, +.input-group .input-group-prepend .input-group-text+.form-control, +.input-group .input-group-prepend .input-group-text~.form-control, +.input-group .input-group-append .input-group-text+.form-control, +.input-group .input-group-append .input-group-text~.form-control { + padding: 10px 19px 11px 16px; +} + +.form-group.no-border .form-control, +.form-group.no-border .form-control+.input-group-prepend .input-group-text, +.form-group.no-border .form-control+.input-group-append .input-group-text, +.input-group.no-border .form-control, +.input-group.no-border .form-control+.input-group-prepend .input-group-text, +.input-group.no-border .form-control+.input-group-append .input-group-text { + background-color: #242c45; + border: medium none; +} + +.form-group.no-border .form-control:focus, +.form-group.no-border .form-control:active, +.form-group.no-border .form-control:active, +.form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.form-group.no-border .form-control+.input-group-append .input-group-text:active, +.form-group.no-border .form-control+.input-group-append .input-group-text:active, +.input-group.no-border .form-control:focus, +.input-group.no-border .form-control:active, +.input-group.no-border .form-control:active, +.input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.input-group.no-border .form-control+.input-group-append .input-group-text:active, +.input-group.no-border .form-control+.input-group-append .input-group-text:active { + border: medium none; + background-color: #252e49; +} + +.form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: #252e49; +} + +.form-group.no-border .input-group-prepend .input-group-text, +.form-group.no-border .input-group-append .input-group-text, +.input-group.no-border .input-group-prepend .input-group-text, +.input-group.no-border .input-group-append .input-group-text { + background-color: #242c45; + border: none; +} + +.has-error .form-control-feedback, +.has-error .control-label { + color: #ec250d; +} + +.has-success .form-control-feedback, +.has-success .control-label { + color: #00f2c3; +} + +.input-group-append .input-group-text, +.input-group-prepend .input-group-text { + background-color: transparent; + border: 1px solid #2b3553; + border-radius: 0.4285rem; + color: #ffffff; + -webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + -moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + -o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + -ms-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; + transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out; +} + +.input-group-append .input-group-text i, +.input-group-prepend .input-group-text i { + opacity: .5; +} + +.has-danger.input-group-focus .input-group-append .input-group-text, +.has-danger.input-group-focus .input-group-prepend .input-group-text { + background-color: transparent; +} + +.has-success .input-group-append .input-group-text, +.has-success .input-group-prepend .input-group-text { + background-color: transparent; +} + +.has-danger .form-control:focus+.input-group-append .input-group-text, +.has-danger .form-control:focus+.input-group-prepend .input-group-text { + color: #ec250d; +} + +.has-success .form-control:focus+.input-group-append .input-group-text, +.has-success .form-control:focus+.input-group-prepend .input-group-text { + color: #00f2c3; +} + +.input-group-append .input-group-text+.form-control, +.input-group-append .input-group-text~.form-control, +.input-group-prepend .input-group-text+.form-control, +.input-group-prepend .input-group-text~.form-control { + padding: -0.5rem 0.7rem; + padding-left: 18px; +} + +.input-group-append .input-group-text i, +.input-group-prepend .input-group-text i { + width: 17px; +} + +.input-group-append, +.input-group-prepend .input-group-text, +.input-group-prepend .input-group-text { + background-color: transparent; + border: 1px solid #2b3553; + border-radius: 0.4285rem; + color: #ffffff; + margin: 0; +} + +.input-group-append .input-group-text { + border-left: none; +} + +.input-group-prepend .input-group-text { + border-right: none; +} + +.input-group-focus .input-group-prepend .input-group-text, +.input-group-focus .input-group-append .input-group-text { + background-color: #ffffff; + border-color: #e14eca; + background-color: transparent; + border-color: #e14eca; +} + +.input-group-focus.no-border .input-group-prepend .input-group-text, +.input-group-focus.no-border .input-group-append .input-group-text { + background-color: #252e49; +} + +.input-group, +.form-group { + margin-bottom: 10px; + position: relative; +} + +.input-group .form-control-static, +.form-group .form-control-static { + margin-top: 9px; +} + +.input-group[disabled] .input-group-prepend .input-group-text, +.input-group[disabled] .input-group-append .input-group-text { + background-color: #E3E3E3; +} + +.input-group .form-control:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child) { + border-radius: 0.4285rem; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: 0 none; +} + +.input-group .form-control:first-child, +.input-group-btn:first-child>.dropdown-toggle, +.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) { + border-right: 0 none; +} + +.input-group .form-control:last-child, +.input-group-btn:last-child>.dropdown-toggle, +.input-group-btn:first-child>.btn:not(:first-child) { + border-left: 0 none; +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #1d253b; + color: #344675; + cursor: not-allowed; +} + +.input-group-btn .btn { + border-width: 1px; + padding: 11px 0.7rem; +} + +.input-group-btn .btn-default:not(.btn-fill) { + border-color: #DDDDDD; +} + +.input-group-btn:last-child>.btn { + margin-left: 0; +} + +textarea.form-control { + max-width: 100%; + max-height: 80px; + padding: 10px 10px 0 0; + resize: none; + border: none; + border-bottom: 1px solid #2b3553; + border-radius: 0; + line-height: 2; +} + +textarea.form-control:focus, +textarea.form-control:active { + border-left: none; + border-top: none; + border-right: none; +} + +.has-success.form-group .form-control, +.has-success.form-group.no-border .form-control, +.has-danger.form-group .form-control, +.has-danger.form-group.no-border .form-control { + padding-right: 40px; +} + +.form.form-newsletter .form-group { + float: left; + width: 78%; + margin-right: 2%; + margin-top: 9px; +} + +.input-group .input-group-btn { + padding: 0 12px; +} + +.form-group input[type=file] { + opacity: 0; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 100; +} + +.form-text { + font-size: 0.75rem; + color: rgba(255, 255, 255, 0.8); +} + +.form-control-lg { + padding: 0; + font-size: inherit; + line-height: 0; + border-radius: 0; +} + +.form-control-lg .form-control { + height: calc(2.875rem + 2px); +} + +.form-horizontal .col-form-label, +.form-horizontal .label-on-right { + padding: 10px 5px 0 15px; + text-align: right; + max-width: 180px; +} + +.form-horizontal .checkbox-radios { + margin-bottom: 15px; +} + +.form-horizontal .checkbox-radios .form-check:first-child { + margin-top: 8px; +} + +.form-horizontal .label-on-right { + text-align: left; + padding: 10px 15px 0 5px; +} + +.form-horizontal .form-check-inline { + margin-top: 6px; +} + +.form-horizontal .form-check-inline .form-check-label { + margin-right: 1.5rem; +} + +.search-bar { + margin-left: 30px; +} + +.search-bar .btn { + margin: 0; +} + +.search-bar.input-group { + border-radius: 25px; + z-index: 4; + margin-bottom: 0; + height: 43px; + padding-right: 5px; +} + +.search-bar.input-group .input-group-addon { + padding: 10px; + background: transparent; + border: none; + color: rgba(255, 255, 255, 0.7); +} + +.search-bar.input-group i { + font-size: 20px; + color: #ffffff; + margin-top: 0 !important; +} + +.search-bar.input-group input { + background: transparent; + border: none !important; + border-radius: 0; + padding: 12px !important; + font-size: 12px; + opacity: 0.5; +} + +.search-bar.input-group input:focus { + background: transparent; +} + +.search-bar.input-group .form-control { + opacity: 1; + color: #ffffff; +} + +.search-bar.input-group .form-control::placeholder { + color: white; +} + +.modal-search .modal-dialog { + max-width: 1000px; + margin: 20px auto; +} + +.modal-search .modal-dialog .form-control { + border: none; + color: #222a42; +} + +.modal-search .modal-dialog .form-control::placeholder { + color: #222a42; +} + +.input-group-prepend { + margin-right: 0; +} + +.input-group-prepend .tim-icons, +.input-group-append .tim-icons { + font-size: 1rem; +} + +/* + * Container style + */ +.ps { + overflow: hidden !important; + overflow-anchor: none; + -ms-overflow-style: none; + touch-action: auto; + -ms-touch-action: auto; +} + +/* + * Scrollbar rail styles + */ +.ps__rail-x { + display: none; + opacity: 0; + transition: background-color .2s linear, opacity .2s linear; + -webkit-transition: background-color .2s linear, opacity .2s linear; + height: 15px; + /* there must be 'bottom' or 'top' for ps__rail-x */ + bottom: 0px; + /* please don't change 'position' */ + position: absolute; +} + +.ps__rail-y { + display: none; + opacity: 0; + transition: background-color .2s linear, opacity .2s linear; + -webkit-transition: background-color .2s linear, opacity .2s linear; + width: 15px; + /* there must be 'right' or 'left' for ps__rail-y */ + right: 0; + /* please don't change 'position' */ + position: absolute; +} + +.ps--active-x>.ps__rail-x, +.ps--active-y>.ps__rail-y { + display: block; + background-color: transparent; +} + +.ps:hover>.ps__rail-x, +.ps:hover>.ps__rail-y, +.ps--focus>.ps__rail-x, +.ps--focus>.ps__rail-y, +.ps--scrolling-x>.ps__rail-x, +.ps--scrolling-y>.ps__rail-y { + opacity: 0.6; +} + +.ps .ps__rail-x:hover, +.ps .ps__rail-y:hover, +.ps .ps__rail-x:focus, +.ps .ps__rail-y:focus, +.ps .ps__rail-x.ps--clicking, +.ps .ps__rail-y.ps--clicking { + background-color: #eee; + opacity: 0.9; +} + +/* + * Scrollbar thumb styles + */ +.ps__thumb-x { + background-color: #aaa; + border-radius: 6px; + transition: background-color .2s linear, height .2s ease-in-out; + -webkit-transition: background-color .2s linear, height .2s ease-in-out; + height: 6px; + /* there must be 'bottom' for ps__thumb-x */ + bottom: 2px; + /* please don't change 'position' */ + position: absolute; +} + +.ps__thumb-y { + background-color: #aaa; + border-radius: 6px; + transition: background-color .2s linear, width .2s ease-in-out; + -webkit-transition: background-color .2s linear, width .2s ease-in-out; + width: 6px; + /* there must be 'right' for ps__thumb-y */ + right: 2px; + /* please don't change 'position' */ + position: absolute; +} + +.ps__rail-x:hover>.ps__thumb-x, +.ps__rail-x:focus>.ps__thumb-x, +.ps__rail-x.ps--clicking .ps__thumb-x { + background-color: #999; + height: 11px; +} + +.ps__rail-y:hover>.ps__thumb-y, +.ps__rail-y:focus>.ps__thumb-y, +.ps__rail-y.ps--clicking .ps__thumb-y { + background-color: #999; + width: 11px; +} + +/* MS supports */ +@supports (-ms-overflow-style: none) { + .ps { + overflow: auto !important; + } +} + +@media screen and (-ms-high-contrast: active), +(-ms-high-contrast: none) { + .ps { + overflow: auto !important; + } +} + +/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/ +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.animated.infinite { + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; +} + +.animated.hinge { + -webkit-animation-duration: 2s; + animation-duration: 2s; +} + +.animated.bounceIn, +.animated.bounceOut { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +.animated.flipOutX, +.animated.flipOutY { + -webkit-animation-duration: .75s; + animation-duration: .75s; +} + +@-webkit-keyframes shake { + + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +@keyframes shake { + + from, + to { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } +} + +.shake { + -webkit-animation-name: shake; + animation-name: shake; +} + +@-webkit-keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +@keyframes fadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } + + to { + opacity: 1; + -webkit-transform: none; + transform: none; + } +} + +.fadeInDown { + -webkit-animation-name: fadeInDown; + animation-name: fadeInDown; +} + +@-webkit-keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes fadeOut { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +.fadeOut { + -webkit-animation-name: fadeOut; + animation-name: fadeOut; +} + +@-webkit-keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +@keyframes fadeOutDown { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + } +} + +.fadeOutDown { + -webkit-animation-name: fadeOutDown; + animation-name: fadeOutDown; +} + +@-webkit-keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +@keyframes fadeOutUp { + from { + opacity: 1; + } + + to { + opacity: 0; + -webkit-transform: translate3d(0, -100%, 0); + transform: translate3d(0, -100%, 0); + } +} + +.fadeOutUp { + -webkit-animation-name: fadeOutUp; + animation-name: fadeOutUp; +} + +.white-content { + background: #f5f6fa; +} + +.white-content .navbar.navbar-transparent .navbar-brand { + color: #1d253b; +} + +.white-content .navbar.navbar-transparent .navbar-toggler-bar { + background: #1d253b; +} + +.white-content .navbar.navbar-transparent .navbar-nav li a:not(.dropdown-item) { + color: #1d253b; +} + +.white-content .navbar.navbar-transparent .navbar-nav li a:not(.dropdown-item) i { + color: #1d253b; +} + +.white-content .navbar.navbar-transparent .navbar-minimize button i { + color: #1d253b; +} + +.white-content .navbar.navbar-transparent .search-bar.input-group i { + color: #1d253b; +} + +.white-content .navbar.navbar-transparent .search-bar.input-group .form-control { + color: #344675; +} + +.white-content .navbar.navbar-transparent .search-bar.input-group .form-control::placeholder { + color: #9A9A9A; +} + +.white-content .sidebar { + box-shadow: 0 2px 22px 0 rgba(0, 0, 0, 0.1), 0 4px 20px 0 rgba(0, 0, 0, 0.15); +} + +.white-content .sidebar p { + color: rgba(255, 255, 255, 0.8); +} + +.white-content .main-panel { + background: #f5f6fa; +} + +.white-content h1, +.white-content h2, +.white-content h3, +.white-content h4, +.white-content h5, +.white-content h6, +.white-content p, +.white-content ol li, +.white-content ul li, +.white-content pre { + color: #1d253b; +} + +.white-content .font-icon-detail i { + color: #222a42; +} + +.white-content .btn:not([data-action]):hover { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.white-content .btn-neutral.btn-link { + color: rgba(34, 42, 66, 0.7); +} + +.white-content .form-control::-moz-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.white-content .form-control:-moz-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.white-content .form-control::-webkit-input-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.white-content .form-control:-ms-input-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.white-content .has-danger .form-control, +.white-content .has-danger .input-group-prepend .input-group-text { + border-color: #ec250d; +} + +.white-content .input-group-prepend .input-group-text { + border-color: rgba(29, 37, 59, 0.5); + color: #1d253b; +} + +.white-content .form-control { + color: #222a42; + border-color: rgba(29, 37, 59, 0.5); +} + +.white-content .form-control:focus { + border-color: #e14eca; +} + +.white-content .form-group.no-border .form-control, +.white-content .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.white-content .form-group.no-border .form-control+.input-group-append .input-group-text, +.white-content .form-group.no-border .input-group-prepend .input-group-text, +.white-content .form-group.no-border .input-group-append .input-group-text, +.white-content .input-group.no-border .form-control, +.white-content .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.white-content .input-group.no-border .form-control+.input-group-append .input-group-text, +.white-content .input-group.no-border .input-group-prepend .input-group-text, +.white-content .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(222, 222, 222, 0.3); +} + +.white-content .form-group.no-border .form-control:focus, +.white-content .form-group.no-border .form-control:active, +.white-content .form-group.no-border .form-control:active, +.white-content .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.white-content .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.white-content .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.white-content .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.white-content .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.white-content .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.white-content .form-group.no-border .input-group-prepend .input-group-text:focus, +.white-content .form-group.no-border .input-group-prepend .input-group-text:active, +.white-content .form-group.no-border .input-group-prepend .input-group-text:active, +.white-content .form-group.no-border .input-group-append .input-group-text:focus, +.white-content .form-group.no-border .input-group-append .input-group-text:active, +.white-content .form-group.no-border .input-group-append .input-group-text:active, +.white-content .input-group.no-border .form-control:focus, +.white-content .input-group.no-border .form-control:active, +.white-content .input-group.no-border .form-control:active, +.white-content .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.white-content .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.white-content .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.white-content .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.white-content .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.white-content .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.white-content .input-group.no-border .input-group-prepend .input-group-text:focus, +.white-content .input-group.no-border .input-group-prepend .input-group-text:active, +.white-content .input-group.no-border .input-group-prepend .input-group-text:active, +.white-content .input-group.no-border .input-group-append .input-group-text:focus, +.white-content .input-group.no-border .input-group-append .input-group-text:active, +.white-content .input-group.no-border .input-group-append .input-group-text:active { + background-color: rgba(222, 222, 222, 0.5); +} + +.white-content .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.white-content .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.white-content .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.white-content .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: transparent; +} + +.white-content .input-group[disabled] .input-group-prepend .input-group-text, +.white-content .input-group[disabled] .input-group-append .input-group-text { + background-color: #222a42; +} + +.white-content .form-control[disabled], +.white-content .form-control[readonly], +.white-content fieldset[disabled] .form-control { + background: #E3E3E3; + border-color: rgba(29, 37, 59, 0.3); +} + +.white-content .input-group-focus .input-group-prepend .input-group-text, +.white-content .input-group-focus .input-group-append .input-group-text, +.white-content .input-group-focus .form-control { + border-color: #e14eca; +} + +.white-content .input-group-focus.no-border .input-group-prepend .input-group-text, +.white-content .input-group-focus.no-border .input-group-append .input-group-text { + background-color: rgba(222, 222, 222, 0.5); +} + +.white-content .input-group-prepend .input-group-text { + border-right: none; +} + +.white-content .input-group-append .input-group-text { + border-left: none; +} + +.white-content .has-danger .form-control:focus, +.white-content .has-success.input-group-focus .input-group-append .input-group-text, +.white-content .has-success.input-group-focus .input-group-prepend .input-group-text { + border-color: #ec250d; +} + +.white-content .has-success .form-control:focus, +.white-content .has-success.input-group-focus .input-group-append .input-group-text, +.white-content .has-success.input-group-focus .input-group-prepend .input-group-text { + border-color: #00bf9a; +} + +.white-content .btn.btn-link:hover, +.white-content .btn.btn-link:active, +.white-content .btn.btn-link:focus { + color: #9A9A9A !important; +} + +.white-content .btn-group .btn.active { + box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); +} + +.white-content .card:not(.card-white) { + background: #ffffff; + box-shadow: 0 1px 15px 0 rgba(, , , 0.05); +} + +.white-content .card:not(.card-white) .card-header { + color: #222a42; +} + +.white-content .card:not(.card-white) .card-header a[data-toggle="collapse"] { + color: #222a42; +} + +.white-content .card:not(.card-white) .card-header .card-title, +.white-content .card:not(.card-white) .card-body .card-title { + color: #1d253b; +} + +.white-content .card:not(.card-white) .card-body .card-category, +.white-content .card:not(.card-white) .card-body .card-description { + color: #1d253b; +} + +.white-content .card:not(.card-white) label:not(.btn) { + color: #344675; +} + +.white-content .card:not(.card-white).nav-pills .nav-item .nav-link { + color: #444444; + background-color: rgba(222, 222, 222, 0.3); +} + +.white-content .card:not(.card-white).nav-pills .nav-item .nav-link:not(.active):hover { + background: rgba(222, 222, 222, 0.5); +} + +.white-content .card:not(.card-white).nav-pills .nav-item .nav-link.active { + color: #ffffff; +} + +.white-content .card:not(.card-white) .tab-content .tab-pane { + color: #444444; +} + +.white-content .card:not(.card-white) .card { + box-shadow: none; +} + +.white-content .card:not(.card-white).card-plain { + background: transparent; + box-shadow: none; +} + +.white-content .card:not(.card-white).card-tasks .card-body i { + color: rgba(34, 42, 66, 0.7); +} + +.white-content .card:not(.card-white).card-tasks .card-body i:hover { + color: #222a42; +} + +.white-content .table>tbody>tr>td { + color: rgba(34, 42, 66, 0.7) !important; +} + +.white-content .table>thead>tr>th, +.white-content .table>tbody>tr>th, +.white-content .table>tfoot>tr>th, +.white-content .table>thead>tr>td, +.white-content .table>tbody>tr>td, +.white-content .table>tfoot>tr>td { + border-color: rgba(34, 42, 66, 0.2); + padding: 12px 7px; + vertical-align: middle; +} + +.white-content .table>thead>tr>th, +.white-content .table button.btn-neutral.btn-link { + color: rgba(34, 42, 66, 0.7); +} + +.white-content .footer ul li a { + color: #1d253b; +} + +.white-content .footer .copyright { + color: #1d253b; +} + +.white-content .progress-container .progress, +.white-content .progress-container.progress.sm .progress { + background: rgba(34, 42, 66, 0.1); + box-shadow: 0 0 0 3px rgba(34, 42, 66, 0.1); +} + +.white-content .progress-container .progress .progress-value, +.white-content .progress-container.progress.sm .progress .progress-value { + color: #344675; +} + +.white-content .progress-container .progress-badge, +.white-content .progress-container.progress.sm .progress-badge { + color: #1d253b; +} + +.white-content .full-page { + background: #f5f6fa; +} + +.white-content .full-page h1, +.white-content .full-page h2, +.white-content .full-page h3, +.white-content .full-page h4, +.white-content .full-page h5, +.white-content .full-page h6, +.white-content .full-page p, +.white-content .full-page ol li, +.white-content .full-page ul li, +.white-content .full-page pre { + color: #1d253b; +} + +.white-content .full-page .description { + color: #9A9A9A; +} + +.white-content .full-page .footer ul li a { + color: #1d253b; +} + +.white-content .full-page .footer .copyright { + color: #1d253b; +} + +.white-content .nav-pills .nav-item .nav-link:not(.active) { + background: #d3d7e9; + color: #1d253b; +} + +.white-content .nav-pills .nav-item .nav-link:not(.active):hover { + background: #cccccc; +} + +.card { + background: #27293d; + border: 0; + position: relative; + width: 100%; + margin-bottom: 30px; + box-shadow: 0 1px 20px 0px rgba(0, 0, 0, 0.1); +} + +.card label { + color: rgba(255, 255, 255, 0.6); +} + +.card .card-title { + margin-bottom: .75rem; +} + +.card .card-body { + padding: 15px; +} + +.card .card-body.table-full-width { + padding-left: 0; + padding-right: 0; +} + +.card .card-body .card-title { + color: #ffffff; + text-transform: inherit; + font-weight: 300; + margin-bottom: .75rem; +} + +.card .card-body .card-description, +.card .card-body .card-category { + color: rgba(255, 255, 255, 0.6); +} + +.card .card-header { + padding: 15px 15px 0; + border: 0; + color: rgba(255, 255, 255, 0.8); +} + +.card .card-header:not([data-background-color]) { + background-color: transparent; +} + +.card .card-header .card-title { + color: #ffffff; + font-weight: 100; +} + +.card .card-header .card-category { + color: #9A9A9A; + margin-bottom: 5px; + font-weight: 300; +} + +.card .map { + border-radius: 0.2857rem; +} + +.card .map.map-big { + height: 420px; +} + +.card.card-white { + background: #ffffff; +} + +.card.card-white .card-title { + color: #222a42; +} + +.card.card-white .card-category, +.card.card-white .stats { + color: #808080; +} + +.card.card-white .form-control::-moz-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.card.card-white .form-control:-moz-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.card.card-white .form-control::-webkit-input-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.card.card-white .form-control:-ms-input-placeholder { + color: rgba(34, 42, 66, 0.4); + opacity: 1; + filter: alpha(opacity=100); +} + +.card.card-white .has-danger .form-control, +.card.card-white .has-danger .input-group-prepend .input-group-text { + border-color: #ec250d; +} + +.card.card-white .input-group-prepend .input-group-text { + border-color: rgba(29, 37, 59, 0.2); + color: #1d253b; +} + +.card.card-white .form-control { + color: #222a42; + border-color: rgba(29, 37, 59, 0.2); +} + +.card.card-white .form-control:focus { + border-color: #e14eca; +} + +.card.card-white label:not(.btn) { + color: #344675; +} + +.card.card-white .form-group.no-border .form-control, +.card.card-white .form-group.no-border .form-control+.input-group-prepend .input-group-text, +.card.card-white .form-group.no-border .form-control+.input-group-append .input-group-text, +.card.card-white .form-group.no-border .input-group-prepend .input-group-text, +.card.card-white .form-group.no-border .input-group-append .input-group-text, +.card.card-white .input-group.no-border .form-control, +.card.card-white .input-group.no-border .form-control+.input-group-prepend .input-group-text, +.card.card-white .input-group.no-border .form-control+.input-group-append .input-group-text, +.card.card-white .input-group.no-border .input-group-prepend .input-group-text, +.card.card-white .input-group.no-border .input-group-append .input-group-text { + background-color: rgba(222, 222, 222, 0.3); +} + +.card.card-white .form-group.no-border .form-control:focus, +.card.card-white .form-group.no-border .form-control:active, +.card.card-white .form-group.no-border .form-control:active, +.card.card-white .form-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.card.card-white .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.card.card-white .form-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.card.card-white .form-group.no-border .form-control+.input-group-append .input-group-text:focus, +.card.card-white .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.card.card-white .form-group.no-border .form-control+.input-group-append .input-group-text:active, +.card.card-white .form-group.no-border .input-group-prepend .input-group-text:focus, +.card.card-white .form-group.no-border .input-group-prepend .input-group-text:active, +.card.card-white .form-group.no-border .input-group-prepend .input-group-text:active, +.card.card-white .form-group.no-border .input-group-append .input-group-text:focus, +.card.card-white .form-group.no-border .input-group-append .input-group-text:active, +.card.card-white .form-group.no-border .input-group-append .input-group-text:active, +.card.card-white .input-group.no-border .form-control:focus, +.card.card-white .input-group.no-border .form-control:active, +.card.card-white .input-group.no-border .form-control:active, +.card.card-white .input-group.no-border .form-control+.input-group-prepend .input-group-text:focus, +.card.card-white .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.card.card-white .input-group.no-border .form-control+.input-group-prepend .input-group-text:active, +.card.card-white .input-group.no-border .form-control+.input-group-append .input-group-text:focus, +.card.card-white .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.card.card-white .input-group.no-border .form-control+.input-group-append .input-group-text:active, +.card.card-white .input-group.no-border .input-group-prepend .input-group-text:focus, +.card.card-white .input-group.no-border .input-group-prepend .input-group-text:active, +.card.card-white .input-group.no-border .input-group-prepend .input-group-text:active, +.card.card-white .input-group.no-border .input-group-append .input-group-text:focus, +.card.card-white .input-group.no-border .input-group-append .input-group-text:active, +.card.card-white .input-group.no-border .input-group-append .input-group-text:active { + background-color: rgba(222, 222, 222, 0.5); +} + +.card.card-white .form-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.card.card-white .form-group.no-border .form-control:focus+.input-group-append .input-group-text, +.card.card-white .input-group.no-border .form-control:focus+.input-group-prepend .input-group-text, +.card.card-white .input-group.no-border .form-control:focus+.input-group-append .input-group-text { + background-color: transparent; +} + +.card.card-white .input-group[disabled] .input-group-prepend .input-group-text, +.card.card-white .input-group[disabled] .input-group-append .input-group-text { + background-color: #222a42; +} + +.card.card-white .form-control[disabled], +.card.card-white .form-control[readonly], +.card.card-white fieldset[disabled] .form-control { + background: #E3E3E3; + border-color: rgba(29, 37, 59, 0.3); +} + +.card.card-white .input-group-focus .input-group-prepend .input-group-text, +.card.card-white .input-group-focus .input-group-append .input-group-text, +.card.card-white .input-group-focus .form-control { + background-color: #ffffff; + border-color: #e14eca; +} + +.card.card-white .input-group-focus.no-border .input-group-prepend .input-group-text, +.card.card-white .input-group-focus.no-border .input-group-append .input-group-text { + background-color: rgba(222, 222, 222, 0.5); +} + +.card.card-white .input-group-prepend .input-group-text { + border-right: none; +} + +.card.card-white .input-group-append .input-group-text { + border-left: none; +} + +.card.card-white .has-danger .form-control:focus, +.card.card-white .has-success.input-group-focus .input-group-append .input-group-text, +.card.card-white .has-success.input-group-focus .input-group-prepend .input-group-text { + border-color: #ec250d; +} + +.card.card-white .has-success .form-control:focus, +.card.card-white .has-success.input-group-focus .input-group-append .input-group-text, +.card.card-white .has-success.input-group-focus .input-group-prepend .input-group-text { + border-color: #00bf9a; +} + +.card.card-plain { + background: transparent; + box-shadow: none; +} + +.card .image { + overflow: hidden; + height: 200px; + position: relative; +} + +.card .avatar { + width: 30px; + height: 30px; + overflow: hidden; + border-radius: 50%; + margin-bottom: 15px; +} + +.card label { + font-size: 0.75rem; + margin-bottom: 5px; +} + +.card .card-footer { + background-color: transparent; + border: 0; + padding: 15px; +} + +.card .card-footer .stats i { + margin-right: 5px; + position: relative; +} + +.card .card-footer h6 { + margin-bottom: 0; + padding: 7px 0; +} + +.card-body { + padding: 1.25rem; +} + +@media (max-width: 767.98px) { + .card.card-chart .card-header .btn-group-toggle .tim-icons { + font-size: .875rem; + top: -1px; + } +} + +.card-chart { + overflow: hidden; +} + +.card-chart .card-header .card-title i { + font-size: 16px; + margin-right: 5px; + margin-bottom: 3px; +} + +.card-chart .card-header .card-category { + margin-bottom: 5px; +} + +.card-chart .card-body { + padding-left: 5px; + padding-right: 5px; +} + +.card-chart .card-body .tab-space { + padding: 0; +} + +.card-chart .table { + margin-bottom: 0; +} + +.card-chart .table td { + border-top: none; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +.card-chart .card-progress { + margin-top: 30px; + padding: 0 10px; +} + +.card-chart .chart-area { + height: 220px; + width: 100%; +} + +.card-chart .card-footer { + margin-top: 15px; +} + +.card-chart .card-footer .stats { + color: #9A9A9A; +} + +.card-chart .dropdown { + position: absolute; + right: 20px; + top: 20px; +} + +.card-chart .dropdown .btn { + margin: 0; +} + +.card-chart.card-chart-pie .chart-area { + padding: 10px 0 25px; + height: auto; +} + +.card-chart.card-chart-pie .card-title { + margin-bottom: 10px; +} + +.card-chart.card-chart-pie .card-title i { + font-size: 1rem; +} + +.map { + height: 500px; +} + +.card-user { + overflow: hidden; +} + +.card-user .image { + height: 120px; +} + +.card-user .author { + text-align: center; + text-transform: none; + margin-top: 25px; +} + +.card-user .author a+p.description { + margin-top: -7px; +} + +.card-user .author .block { + position: absolute; + height: 100px; + width: 250px; +} + +.card-user .author .block.block-one { + background: rgba(225, 78, 202, 0.6); + background: -webkit-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -o-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -moz-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=10); + -webkit-transform: rotate(150deg); + -moz-transform: rotate(150deg); + -ms-transform: rotate(150deg); + -o-transform: rotate(150deg); + transform: rotate(150deg); + margin-top: -90px; + margin-left: -50px; +} + +.card-user .author .block.block-two { + background: rgba(225, 78, 202, 0.6); + background: -webkit-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -o-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -moz-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=10); + -webkit-transform: rotate(30deg); + -moz-transform: rotate(30deg); + -ms-transform: rotate(30deg); + -o-transform: rotate(30deg); + transform: rotate(30deg); + margin-top: -40px; + margin-left: -100px; +} + +.card-user .author .block.block-three { + background: rgba(225, 78, 202, 0.6); + background: -webkit-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -o-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -moz-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=10); + -webkit-transform: rotate(170deg); + -moz-transform: rotate(170deg); + -ms-transform: rotate(170deg); + -o-transform: rotate(170deg); + transform: rotate(170deg); + margin-top: -70px; + right: -45px; +} + +.card-user .author .block.block-four { + background: rgba(225, 78, 202, 0.6); + background: -webkit-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -o-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: -moz-linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + background: linear-gradient(to right, rgba(225, 78, 202, 0.6) 0%, rgba(225, 78, 202, 0) 100%); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=10); + -webkit-transform: rotate(150deg); + -moz-transform: rotate(150deg); + -ms-transform: rotate(150deg); + -o-transform: rotate(150deg); + transform: rotate(150deg); + margin-top: -25px; + right: -45px; +} + +.card-user .avatar { + width: 124px; + height: 124px; + border: 5px solid #2b3553; + border-bottom-color: transparent; + background-color: transparent; + position: relative; +} + +.card-user .card-body { + min-height: 240px; +} + +.card-user hr { + margin: 5px 15px; +} + +.card-user .button-container { + margin-bottom: 6px; + text-align: center; +} + +.card-user .card-description { + margin-top: 30px; +} + +.card-tasks { + height: 473px; +} + +.card-tasks .table-full-width { + max-height: 410px; + position: relative; +} + +.card-tasks .card-header .title { + margin-right: 20px; + font-weight: 400; +} + +.card-tasks .card-header .dropdown { + float: right; + color: #cccccc; +} + +.card-tasks .card-body i { + color: #9A9A9A; + font-size: 1.4em; +} + +.card-tasks .card-body i:hover { + color: #ffffff; +} + +.card-plain { + background: transparent; + box-shadow: none; +} + +.card-plain .card-header, +.card-plain .card-footer { + margin-left: 0; + margin-right: 0; + background-color: transparent; +} + +.card-plain:not(.card-subcategories).card-body { + padding-left: 0; + padding-right: 0; +} + +/*# sourceMappingURL=dashboard-free.css.map */ diff --git a/static/assets/css/black-dashboard.css.map b/static/assets/css/black-dashboard.css.map new file mode 100644 index 0000000..4cb75eb --- /dev/null +++ b/static/assets/css/black-dashboard.css.map @@ -0,0 +1,266 @@ +{ + "version": 3, + "file": "dashboard-free.css", + "sources": [ + "../scss/dashboard-free.scss", + "../scss/custom/_functions.scss", + "../scss/bootstrap/_functions.scss", + "../scss/custom/_variables.scss", + "../scss/bootstrap/_variables.scss", + "../scss/custom/_mixins.scss", + "../scss/custom/mixins/_alert.scss", + "../scss/custom/mixins/_badges.scss", + "../scss/custom/mixins/_background-variant.scss", + "../scss/custom/mixins/_buttons.scss", + "../scss/custom/mixins/_forms.scss", + "../scss/custom/mixins/_icon.scss", + "../scss/custom/mixins/_modals.scss", + "../scss/custom/mixins/_popovers.scss", + "../scss/custom/mixins/_page-header.scss", + "../scss/custom/mixins/_vendor-prefixes.scss", + "../scss/custom/mixins/opacity.scss", + "../scss/custom/mixins/_modals.scss", + "../scss/custom/mixins/_inputs.scss", + "../scss/custom/mixins/_dropdown.scss", + "../scss/custom/mixins/_wizard.scss", + "../scss/bootstrap/_mixins.scss", + "../scss/bootstrap/vendor/_rfs.scss", + "../scss/bootstrap/mixins/_deprecate.scss", + "../scss/bootstrap/mixins/_breakpoints.scss", + "../scss/bootstrap/mixins/_hover.scss", + "../scss/bootstrap/mixins/_image.scss", + "../scss/bootstrap/mixins/_badge.scss", + "../scss/bootstrap/mixins/_resize.scss", + "../scss/bootstrap/mixins/_screen-reader.scss", + "../scss/bootstrap/mixins/_size.scss", + "../scss/bootstrap/mixins/_reset-text.scss", + "../scss/bootstrap/mixins/_text-emphasis.scss", + "../scss/bootstrap/mixins/_text-hide.scss", + "../scss/bootstrap/mixins/_text-truncate.scss", + "../scss/bootstrap/mixins/_visibility.scss", + "../scss/bootstrap/mixins/_alert.scss", + "../scss/bootstrap/mixins/_buttons.scss", + "../scss/bootstrap/mixins/_caret.scss", + "../scss/bootstrap/mixins/_pagination.scss", + "../scss/bootstrap/mixins/_lists.scss", + "../scss/bootstrap/mixins/_list-group.scss", + "../scss/bootstrap/mixins/_nav-divider.scss", + "../scss/bootstrap/mixins/_forms.scss", + "../scss/bootstrap/mixins/_table-row.scss", + "../scss/bootstrap/mixins/_background-variant.scss", + "../scss/bootstrap/mixins/_border-radius.scss", + "../scss/bootstrap/mixins/_box-shadow.scss", + "../scss/bootstrap/mixins/_gradients.scss", + "../scss/bootstrap/mixins/_transition.scss", + "../scss/bootstrap/mixins/_clearfix.scss", + "../scss/bootstrap/mixins/_grid-framework.scss", + "../scss/bootstrap/mixins/_grid.scss", + "../scss/bootstrap/mixins/_float.scss", + "../scss/bootstrap/_root.scss", + "../scss/bootstrap/_reboot.scss", + "../scss/bootstrap/_type.scss", + "../scss/bootstrap/_images.scss", + "../scss/bootstrap/_code.scss", + "../scss/bootstrap/_grid.scss", + "../scss/bootstrap/_tables.scss", + "../scss/bootstrap/_forms.scss", + "../scss/bootstrap/_buttons.scss", + "../scss/bootstrap/_transitions.scss", + "../scss/bootstrap/_dropdown.scss", + "../scss/bootstrap/_button-group.scss", + "../scss/bootstrap/_input-group.scss", + "../scss/bootstrap/_custom-forms.scss", + "../scss/bootstrap/_nav.scss", + "../scss/bootstrap/_navbar.scss", + "../scss/bootstrap/_card.scss", + "../scss/bootstrap/_breadcrumb.scss", + "../scss/bootstrap/_pagination.scss", + "../scss/bootstrap/_badge.scss", + "../scss/bootstrap/_jumbotron.scss", + "../scss/bootstrap/_alert.scss", + "../scss/bootstrap/_progress.scss", + "../scss/bootstrap/_media.scss", + "../scss/bootstrap/_list-group.scss", + "../scss/bootstrap/_close.scss", + "../scss/bootstrap/_modal.scss", + "../scss/bootstrap/_tooltip.scss", + "../scss/bootstrap/_popover.scss", + "../scss/bootstrap/_carousel.scss", + "../scss/bootstrap/_utilities.scss", + "../scss/bootstrap/utilities/_align.scss", + "../scss/bootstrap/utilities/_background.scss", + "../scss/bootstrap/utilities/_borders.scss", + "../scss/bootstrap/utilities/_clearfix.scss", + "../scss/bootstrap/utilities/_display.scss", + "../scss/bootstrap/utilities/_embed.scss", + "../scss/bootstrap/utilities/_flex.scss", + "../scss/bootstrap/utilities/_float.scss", + "../scss/bootstrap/utilities/_overflow.scss", + "../scss/bootstrap/utilities/_position.scss", + "../scss/bootstrap/utilities/_screenreaders.scss", + "../scss/bootstrap/utilities/_shadows.scss", + "../scss/bootstrap/utilities/_sizing.scss", + "../scss/bootstrap/utilities/_stretched-link.scss", + "../scss/bootstrap/utilities/_spacing.scss", + "../scss/bootstrap/utilities/_text.scss", + "../scss/bootstrap/utilities/_visibility.scss", + "../scss/bootstrap/_print.scss", + "../scss/custom/_alerts.scss", + "../scss/custom/_buttons.scss", + "../scss/custom/_dropdown.scss", + "../scss/custom/_footer.scss", + "../scss/custom/_forms.scss", + "../scss/custom/_images.scss", + "../scss/custom/_modal.scss", + "../scss/custom/_navbar.scss", + "../scss/custom/_type.scss", + "../scss/custom/_tables.scss", + "../scss/custom/_checkboxes-radio.scss", + "../scss/custom/_fixed-plugin.scss", + "../scss/custom/_sidebar-and-main-panel.scss", + "../scss/custom/_misc.scss", + "../scss/custom/_rtl.scss", + "../scss/custom/_input-group.scss", + "../scss/custom/vendor/_plugin-perfect-scrollbar.scss", + "../scss/custom/vendor/_plugin-animate-bootstrap-notify.scss", + "../scss/custom/_white-content.scss", + "../scss/custom/_card.scss", + "../scss/custom/cards/_card-chart.scss", + "../scss/custom/cards/_card-map.scss", + "../scss/custom/cards/_card-user.scss", + "../scss/custom/cards/_card-task.scss", + "../scss/custom/cards/_card-plain.scss" + ], + "sourcesContent": [ + "\n/*!\n\n=========================================================\n* Black Dashboard - v1.0.1\n=========================================================\n\n* Product Page: https://www.creative-tim.com/product/black-dashboard\n* Copyright 2019 Creative Tim (https://www.creative-tim.com)\n\n\n* Coded by Creative Tim\n\n=========================================================\n\n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n*/\n\n // Core\n\n@import \"custom/functions\";\n@import \"bootstrap/functions\";\n\n@import \"custom/variables\";\n@import \"bootstrap/variables\";\n\n@import \"custom/mixins\";\n@import \"bootstrap/mixins\";\n\n // Bootstrap components\n\n@import \"bootstrap/root\";\n@import \"bootstrap/reboot\";\n@import \"bootstrap/type\";\n@import \"bootstrap/images\";\n@import \"bootstrap/code\";\n@import \"bootstrap/grid\";\n@import \"bootstrap/tables\";\n@import \"bootstrap/forms\";\n@import \"bootstrap/buttons\";\n@import \"bootstrap/transitions\";\n@import \"bootstrap/dropdown\";\n@import \"bootstrap/button-group\";\n@import \"bootstrap/input-group\";\n@import \"bootstrap/custom-forms\";\n@import \"bootstrap/nav\";\n@import \"bootstrap/navbar\";\n@import \"bootstrap/card\";\n@import \"bootstrap/breadcrumb\";\n@import \"bootstrap/pagination\";\n@import \"bootstrap/badge\";\n@import \"bootstrap/jumbotron\";\n@import \"bootstrap/alert\";\n@import \"bootstrap/progress\";\n@import \"bootstrap/media\";\n@import \"bootstrap/list-group\";\n@import \"bootstrap/close\";\n@import \"bootstrap/modal\";\n@import \"bootstrap/tooltip\";\n@import \"bootstrap/popover\";\n@import \"bootstrap/carousel\";\n@import \"bootstrap/utilities\";\n@import \"bootstrap/print\";\n\n // Custom components\n\n @import \"custom/alerts.scss\";\n @import \"custom/buttons.scss\";\n @import \"custom/dropdown.scss\";\n @import \"custom/footer.scss\";\n @import \"custom/forms.scss\";\n @import \"custom/images.scss\";\n @import \"custom/modal.scss\";\n @import \"custom/navbar.scss\";\n @import \"custom/type.scss\";\n @import \"custom/tables\";\n @import \"custom/checkboxes-radio\";\n @import \"custom/fixed-plugin\";\n @import \"custom/sidebar-and-main-panel.scss\";\n @import \"custom/misc.scss\";\n @import \"custom/rtl.scss\";\n @import \"custom/input-group.scss\";\n\n\n // Vendor / Plugins\n\n@import \"custom/vendor/plugin-perfect-scrollbar.scss\";\n@import \"custom/vendor/plugin-animate-bootstrap-notify.scss\";\n\n// light mode\n\n@import \"custom/white-content.scss\";\n\n// Cards\n\n@import 'custom/card';\n@import \"custom/cards/card-chart\";\n@import \"custom/cards/card-map\";\n@import \"custom/cards/card-user\";\n@import \"custom/cards/card-task\";\n@import \"custom/cards/card-plain\";\n", + "// Retrieve color Sass maps\n\n@function section-color($key: \"primary\") {\n\t@return map-get($section-colors, $key);\n}\n\n// Lines colors\n\n@function shapes-primary-color($key: \"step-1-gradient-bg\") {\n\t@return map-get($shapes-primary-colors, $key);\n}\n\n@function shapes-default-color($key: \"step-1-gradient-bg\") {\n\t@return map-get($shapes-default-colors, $key);\n}\n\n@function lines-light-color($key: \"step-1-gradient-bg\") {\n\t@return map-get($shapes-light-colors, $key);\n}\n\n@function shapes-dark-color($key: \"step-1-gradient-bg\") {\n\t@return map-get($shapes-dark-colors, $key);\n}", + "// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n $prev-key: null;\n $prev-num: null;\n @each $key, $num in $map {\n @if $prev-num == null or unit($num) == \"%\" {\n // Do nothing\n } @else if not comparable($prev-num, $num) {\n @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n } @else if $prev-num >= $num {\n @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n }\n $prev-key: $key;\n $prev-num: $num;\n }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n $values: map-values($map);\n $first-value: nth($values, 1);\n @if $first-value != 0 {\n @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n $index: str-index($string, $search);\n\n @if $index {\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n }\n\n @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n @if ($yiq >= $yiq-contrasted-threshold) {\n @return $dark;\n } @else {\n @return $light;\n }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n @return map-get($grays, $key);\n}\n\n// Request a theme color level\n@function theme-color-level($color-name: \"primary\", $level: 0) {\n $color: theme-color($color-name);\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n", + "\n// Global settings\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: true !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-grid-classes: true !default;\n$enable-print-styles: true !default;\n\n\n// Color system\n\n$white: #ffffff !default;\n$gray-100: #f6f9fc !default;\n$gray-200: #e9ecef !default;\n$gray-300: #e3e3e3 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default; // Line footer color\n$gray-700: #525f7f !default; // Line p color\n$gray-800: #32325d !default; // Line heading color\n$gray-900: #212529 !default;\n$link-disabled: #666666 !default;\n$transparent-bg: transparent !default;\n$light-bg: #f5f6fa !default;\n$dark-background: #555555 !default;\n\n\n$grays: () !default;\n$grays: map-merge((\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n), $grays);\n\n$blue: #5e72e4 !default;\n$indigo: #5603ad !default;\n$purple: #8965e0 !default;\n$pink: #f3a4b5 !default;\n$red: #f5365c !default;\n$orange: #fb6340 !default;\n$yellow: #ffd600 !default;\n$green: #2dce89 !default;\n$teal: #11cdef !default;\n$cyan: #2bffc6 !default;\n\n$line-height-lg: 1.625rem !default;\n$line-height-sm: 1.5 !default;\n$line-height: 1.35em !default;\n\n\n$opacity-gray-3: rgba(222,222,222, .3) !default;\n$opacity-gray-5: rgba(222,222,222, .5) !default;\n$opacity-gray-8: rgba(222,222,222, .8) !default;\n\n\n$opacity-5: rgba(255,255,255, .5) !default;\n$opacity-6: rgba(255,255,255, .6) !default;\n$opacity-8: rgba(255,255,255, .8) !default;\n\n\n\n$opacity-1: rgba(255,255,255, .1) !default;\n$opacity-2: rgba(255,255,255, .2) !default;\n\n\n// end beniamin\n\n$colors: () !default;\n$colors: map-merge((\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"light\": $gray-400,\n \"lighter\": $gray-200,\n \"gray-dark\": $gray-800\n), $colors);\n\n$default-color-opacity: rgba(182, 182, 182, .6) !default;\n$orange-color: #f96332 !default;\n\n$default: #344675 !default;\n$primary: #e14eca !default;\n$secondary: #f4f5f7 !default;\n$success: #00f2c3 !default;\n$info: #1d8cf8 !default;\n$warning: #ff8d72 !default;\n$danger: #fd5d93 !default;\n$black: #222a42 !default;\n\n\n// gradient\n$default-states: #263148 !default;\n$primary-states: #ba54f5 !default;\n$success-states: #0098f0 !default;\n$info-states: #3358f4 !default;\n$warning-states: #ff6491 !default;\n$danger-states: #ec250d !default;\n$black-states: #1d253b !default;\n\n$background-black: #1e1e2f !default;\n$background-states-black: #1e1e24 !default;\n\n// opacity\n$default-opacity: rgba(182, 182, 182, .6) !default;\n$primary-opacity: rgba(249, 99, 50, .3) !default;\n$success-opacity: rgba(24, 206, 15, .3) !default;\n$info-opacity: rgba(44, 168, 255, .3) !default;\n$warning-opacity: rgba(255, 178, 54, .3) !default;\n$danger-opacity: rgba(255, 54, 54, .3) !default;\n\n$light-gray: #E3E3E3 !default;\n$medium-gray: #DDDDDD !default;\n$dark-gray: #9A9A9A !default;\n$card-stats-gray: #808080 !default;\n$active-gray: #777777 !default;\n$nav-gray: #444444 !default;\n$search-gray: #b7b7b7 !default;\n$calendar-gray: #9499a7 !default;\n$active-blue: #00bbff !default;\n\n\n\n$light: $gray-500 !default;\n$dark: $gray-900 !default;\n$darker: darken($gray-900, 15%) !default;\n\n$facebook: #3b5998 !default;\n$facebook-states: darken($facebook, 5%) !default;\n$twitter: #55acee !default;\n$twitter-states: darken($twitter, 5%) !default;\n$google-plus: #dd4b39 !default;\n$google-plus-states: darken($google-plus, 5%) !default;\n$instagram: #125688 !default;\n$instagram-states: lighten($instagram, 6%) !default;\n$linkedin: #0077B5 !default;\n$linkedin-states: darken($linkedin, 5%) !default;\n$pinterest: #cc2127 !default;\n$pinterest-states: lighten($pinterest, 6%) !default;\n$youtube: #e52d27 !default;\n$youtube-states: lighten($youtube, 6%) !default;\n$dribbble: #ea4c89 !default;\n$dribbble-states: lighten($dribbble, 6%) !default;\n$github: #333333 !default;\n$github-states: #ccc !default;\n$reddit: #ff4500 !default;\n$reddit-states: lighten($reddit, 6%) !default;\n$tumblr: #35465c !default;\n$tumblr-states: lighten($tumblr, 6%) !default;\n$behance: #1769ff !default;\n$behance-states: lighten($behance, 6%) !default;\n\n$theme-colors: () !default;\n$theme-colors: map-merge((\n \"default\": $default,\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"white\": $white,\n \"neutral\": $white,\n \"dark\": $dark,\n \"darker\": $darker\n), $theme-colors);\n\n$brand-colors: () !default;\n$brand-colors: map-merge((\n \"facebook\": $facebook,\n \"twitter\": $twitter,\n \"google-plus\": $google-plus,\n \"instagram\": $instagram,\n \"pinterest\": $pinterest,\n \"youtube\": $youtube,\n \"dribbble\": $dribbble,\n \"github\": $github,\n \"reddit\": $reddit,\n \"behance\": $behance,\n \"tumblr\": $tumblr,\n \"linkedin\": $linkedin,\n), $brand-colors);\n\n\n/* brand Colors */\n$brand-primary: $primary !default;\n$brand-info: $info !default;\n$brand-success: $success !default;\n$brand-warning: $warning !default;\n$brand-danger: $danger !default;\n$brand-inverse: $black !default;\n\n$topbar-x: topbar-x !default;\n$topbar-back: topbar-back !default;\n$bottombar-x: bottombar-x !default;\n$bottombar-back: bottombar-back !default;\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 200 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n// Action colors\n\n$star-rating-color: $gray-400 !default;\n$star-rating-color-active: $yellow !default;\n\n$favorite-color: $yellow !default;\n$like-color: $blue !default;\n$love-color: $red !default;\n\n\n// Body\n\n$body-bg: $background-black !default;\n$body-color: $gray-700 !default;\n\n\n// Sections\n\n$section-colors: () !default;\n$section-colors: map-merge((\n \"primary\": $body-bg,\n \"secondary\": $secondary,\n \"light\": $gray-400,\n \"dark\": $dark,\n \"darker\": $darker\n), $section-colors);\n\n// Links\n\n$link-color: $primary !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%);\n$link-hover-decoration: none !default;\n\n// Grid breakpoints\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n);\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints);\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n\n// Spacing\n\n$spacer: 1rem !default;\n$spacers: () !default;\n$spacers: map-merge((\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3),\n 'sm': ($spacer * 2),\n 'md': ($spacer * 4),\n 'lg': ($spacer * 6),\n 'xl': ($spacer * 8)\n), $spacers);\n\n$padding-base-vertical: .5rem !default;\n$padding-base-horizontal: .7rem !default;\n\n$padding-btn-vertical: 11px !default;\n$padding-btn-horizontal: 40px !default;\n\n$padding-round-horizontal: 23px !default;\n\n$padding-lg-vertical: 15px !default;\n\n$padding-input-vertical: 11px !default;\n$padding-input-horizontal: 19px !default;\n\n\n$margin-lg-vertical: 30px !default;\n$margin-base-vertical: 15px !default;\n\n// This variable affects the `.h-*` and `.w-*` classes.\n\n$sizes: () !default;\n$sizes: map-merge((\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%\n), $sizes);\n\n// Components\n\n$shape-height-xl: 1.5 !default;\n$shape-height-lg: 1.5 !default;\n$shape-height-sm: 1.5 !default;\n\n// border\n$none: 0 !default;\n$border-thin: 1px !default;\n$border-thick: 2px !default;\n$border-width: .0625rem !default;\n$border-color: $gray-200 !default;\n\n$border-radius: .25rem !default;\n$border-radius-xl: 0.875rem !default;\n$border-radius-lg: 0.4285rem !default;\n$border-radius-sm: 0.2857rem !default;\n$border-radius-xs: 0.1428rem !default;\n\n$margin-bottom: 10px !default;\n$border: 1px solid !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075);\n$box-shadow: 0 15px 35px rgba(50,50,93,.1), 0 5px 15px rgba(0,0,0,.07);\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175);\n\n$dropdown-shadow: 1px 2px 3px 0px rgba(0, 0, 0, 0.125);\n$box-shadow-raised: 0px 10px 25px 0px rgba(0, 0, 0, 0.3);\n$box-shadow: 0 1px 20px 0px rgba(0, 0, 0, 0.1);\n$sidebar-box-shadow: 0px 2px 22px 0 rgba(0, 0, 0,.20), 0px 2px 30px 0 rgba(0, 0, 0,.35);\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n$component-active-border-color: theme-color(\"primary\") !default;\n\n$component-hover-color: $gray-300 !default;\n$component-hover-bg: $gray-300 !default;\n$component-hover-border-color: $gray-300 !default;\n\n$caret-width: .3em !default;\n\n$transition-base: all .15s ease !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$fast-transition-time: 150ms !default;\n\n$transition-linear: linear !default;\n$transition-bezier: cubic-bezier(0.34, 1.61, 0.7, 1) !default;\n$transition-ease: ease 0s;\n\n$select-coordinates: 50% -40px !default;\n$general-transition-time: 300ms !default;\n\n\n// Fonts\n\n$font-family-base: 'Poppins', sans-serif !default;\n$font-family-alt: 'Poppins', sans-serif !default;\n\n$font-size-dash: .875rem !default;\n\n$font-size-base: $font-size-dash !default; // Assumes the browser default, typically `16px`\n$font-size-xl: ($font-size-base * 1.428);\n$font-size-lg: ($font-size-base * 1.142);\n$font-size-sm: ($font-size-base * .85714286);\n$font-size-xs: ($font-size-base * .714);\n\n$h1-font-size: $font-size-base * 2.35714285 !default; //2.1875rem\n$h2-font-size: $font-size-base * 1.9285714 !default;\n$h3-font-size: $font-size-base * 1.642857 !default;\n$h4-font-size: $font-size-base * 1.2142857 !default;\n$h5-font-size: $font-size-base * 0.9285714 !default;\n$h6-font-size: $font-size-base * 0.8571428 !default;\n\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 600 !default;\n$font-weight-extra-bold: 700 !default;\n\n$font-paragraph: 1rem !default;\n\n$font-weight-base: $font-weight-normal !default;\n$shape-height-base: 1.428571 !default;\n\n$headings-margin-bottom: ($spacer / 2);\n$headings-font-family: inherit !default;\n$headings-font-weight: $font-weight-normal !default;\n$headings-line-height: 1.2 !default;\n$headings-color: $gray-800 !default;\n\n$heading-letter-spacing: .025em !default;\n$heading-font-size: .95rem !default;\n$heading-text-transform: uppercase !default;\n$heading-font-weight: $headings-font-weight !default;\n\n$heading-title-letter-spacing: .025em !default;\n$heading-title-font-size: 1.375rem !default;\n$heading-title-font-weight: $font-weight-bold !default;\n$heading-title-text-transform: uppercase !default;\n\n$heading-section-letter-spacing: .025em !default;\n$heading-section-font-size: 1.375rem !default;\n$heading-section-font-weight: $font-weight-bold !default;\n$heading-section-text-transform: uppercase !default;\n\n$display1-size: 3.3rem !default;\n$display2-size: 2.75rem !default;\n$display3-size: 2.1875rem !default;\n$display4-size: 1.6275rem !default;\n\n$display1-weight: $font-weight-bold !default;\n$display2-weight: $font-weight-bold !default;\n$display3-weight: $font-weight-bold !default;\n$display4-weight: $font-weight-bold !default;\n$display-line-height: $headings-line-height !default;\n\n$paragraph-font-size: 0.625rem !default;\n$paragraph-font-weight: 300 !default;\n$paragraph-line-height: 1.7 !default;\n\n$lead-font-size: ($paragraph-font-size * 1.25);\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-font-size: ($font-size-base * 1.1);\n\n$hr-border-color: rgba($black, .1);\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer * 2 !default;\n\n\n// Icons\n\n$icon-size: auto !default;\n$icon-size-regular: 2.375rem !default;\n$icon-font-size-regular: 0.9375rem !default;\n$icon-font-size-sm: 0.6875rem !default;\n$icon-size-sm: 1.875rem !default;\n$icon-font-size-lg: 1.325rem !default;\n$icon-size-lg: 3.6rem !default;\n$icon-size-xl: 5rem !default;\n\n\n// Tables\n\n$table-cell-padding: 1rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-bg: transparent !default;\n$table-accent-bg: rgba($black, .05);\n$table-hover-bg: rgba($black, .075);\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $gray-300 !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-bg: $gray-900 !default;\n$table-dark-accent-bg: rgba($white, .05);\n$table-dark-hover-bg: rgba($white, .075);\n$table-dark-border-color: lighten($gray-900, 7.5%);\n$table-dark-color: $body-bg !default;\n\n\n// Buttons + Forms\n\n$input-btn-padding-y: .5rem !default;\n$input-btn-padding-x: .7rem !default;\n$input-btn-line-height: $shape-height-base !default;\n\n$input-btn-focus-width: 0 !default;\n$input-btn-focus-color: rgba($component-active-bg, 1);\n//$input-btn-focus-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.04);\n$input-btn-focus-box-shadow: none !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-line-height-sm: 1.35 !default;\n\n$input-btn-padding-y-lg: .875rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-line-height-lg: 1.35 !default;\n\n$input-btn-border-width: 1px !default;\n\n$input-btn-font-size-sm: .75rem !default;\n$input-btn-font-size: .875rem !default;\n$input-btn-font-size-lg: .875rem !default;\n\n$input-padding-vertical: 11px !default;\n$input-padding-horizontal: 19px !default;\n\n// Buttons\n\n$btn-padding-y: 11px !default;\n$btn-padding-x: 40px !default;\n$btn-line-height: $line-height !default;\n\n$btn-padding-y-sm: 5px !default;\n$btn-padding-x-sm: 15px !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: 15px !default;\n$btn-padding-x-lg: 48px !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-size-lg: 1em !default;\n$btn-font-weight: 600 !default;\n$btn-text-transform: uppercase !default;\n$btn-letter-spacing: .025em !default;\n$btn-box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);\n$btn-hover-box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.08);\n$btn-focus-box-shadow: $btn-hover-box-shadow !default;\n$btn-focus-width: $input-btn-focus-width !default;\n\n\n$btn-active-box-shadow: none !default;\n$btn-round-radius: 30px !default;\n\n\n\n// Forms\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-xl: $border-radius-xl !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-bg: $transparent-bg !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-muted-bg: #EDF0F5 !default;\n\n$input-alternative-box-shadow: 0 1px 3px rgba(50,50,93,.15), 0 1px 0 rgba(0,0,0,.02);\n$input-focus-alternative-box-shadow: 0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08);\n\n$input-color: $opacity-8 !default;\n$input-border-color: #cad1d7 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: none !default; // 0 1px 3px 0 $gray-400 !default;\n\n$input-focus-bg: $white !default;\n$input-focus-border-color: rgba(50,151,211,.25);\n$input-focus-color: $input-color !default;\n$input-focus-width: 0 !default;\n$input-focus-box-shadow: none !default; //0 1px 3px 0 $gray-500 !default;\n\n$input-placeholder-color: $gray-500 !default;\n$input-focus-placeholder-color: $gray-500 !default;\n\n$input-height-border: $input-border-width * 2 !default;\n$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;\n$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;\n\n$input-transition: all .2s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n\n\n// Input groups\n\n$input-group-addon-color: $input-placeholder-color !default;\n$input-group-addon-bg: $input-bg !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$input-group-addon-focus-color: $input-focus-color !default;\n$input-group-addon-focus-bg: $input-focus-bg !default;\n$input-group-addon-focus-border-color: $input-focus-border-color !default;\n\n\n// Custom forms\n\n$custom-control-gutter: 1.75rem !default;\n$custom-control-spacer-x: 1rem !default;\n$custom-control-indicator-size: 1.25rem !default;\n\n$custom-control-indicator-bg: $input-bg !default;\n$custom-control-indicator-border-width: 1px !default;\n$custom-control-indicator-border-color: $input-border-color !default;\n$custom-control-indicator-box-shadow: none !default;\n\n$custom-control-indicator-focus-box-shadow: $custom-control-indicator-box-shadow !default;\n\n$custom-control-indicator-hover-color: $component-hover-color !default;\n$custom-control-indicator-hover-bg: $component-hover-bg !default;\n$custom-control-indicator-hover-border-color: $component-hover-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: $component-active-bg !default;\n$custom-control-indicator-active-border-color: $component-active-border-color !default;\n$custom-control-indicator-active-box-shadow: $custom-control-indicator-box-shadow !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-border-color: $component-active-border-color !default;\n$custom-control-indicator-checked-box-shadow: $custom-control-indicator-box-shadow !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5);\n\n$custom-control-indicator-disabled-bg: $gray-200 !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius-sm !default;\n//$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml !default;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n\n$custom-toggle-slider-bg: #ddd !default;\n$custom-toggle-checked-bg: theme-color(\"primary\") !default;\n\n// Form validation\n\n$form-feedback-valid-bg: lighten($success, 15%);\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-bg: lighten($warning, 15%);\n$form-feedback-invalid-color: theme-color(\"warning\") !default;\n\n\n// Allows for customizing button radius independently from global border radius\n\n$btn-border-radius: $input-border-radius !default;\n$btn-border-radius-xl: $input-border-radius-xl !default;\n$btn-border-radius-lg: $input-border-radius-lg !default;\n$btn-border-radius-sm: $input-border-radius !default;\n\n\n// No UI Slider\n\n$noui-target-bg: #eceeef !default;\n$noui-target-thickness: 5px !default;\n$noui-target-border-radius: 5px !default;\n$noui-target-border-color: 0 !default;\n$noui-target-box-shadow: inset 0 1px 2px rgba(90,97,105,.1);\n\n$noui-slider-connect-bg: $primary !default;\n$noui-slider-connect-disabled-bg: #b2b2b2 !default;\n\n$noui-handle-width: 15px !default;\n$noui-handle-bg: theme-color(\"primary\") !default;\n$noui-handle-border: 0 !default;\n$noui-handle-border-radius: 100% !default;\n\n$noui-origin-border-radius: 2px !default;\n\n\n// Dropdown\n\n$dropdown-bg: $white !default;\n$dropdown-border-width: 0 !default;\n$dropdown-border-color: rgba($black, .15);\n$dropdown-border-radius: $border-radius-xs !default;\n$dropdown-box-shadow: 0 50px 100px rgba(50, 50, 93, .1), 0 15px 35px rgba(50, 50, 93, .15), 0 5px 15px rgba(0, 0, 0, .1);\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-color: $gray-700 !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-pills-padding-y: .75rem !default;\n$nav-pills-padding-x: 1rem !default;\n\n$nav-pills-space-x: 1rem !default;\n\n$nav-pills-bg: $white;\n$nav-pills-border-width: 1px !default;\n$nav-pills-border-color: theme-color(\"primary\") !default;\n$nav-pills-border-radius: $border-radius !default;\n\n$nav-pills-link-color: theme-color(\"primary\") !default;\n$nav-pills-link-hover-color: darken(theme-color(\"primary\"), 5%);\n$nav-pills-link-active-color: color-yiq(theme-color(\"primary\"));\n$nav-pills-link-active-bg: theme-color(\"primary\") !default;\n$nav-pills-box-shadow: $btn-box-shadow !default;\n\n// Navbar\n\n$navbar-transition: all .15s linear !default;\n$navbar-padding-y: .625rem !default;\n$navbar-padding-x: .9375rem !default;\n\n$navbar-nav-link-padding-x: 1rem !default;\n$navbar-nav-link-padding-y: 1rem !default;\n\n$navbar-nav-link-font-family: $font-family-alt !default;\n$navbar-nav-link-font-size: .9rem !default;\n$navbar-nav-link-font-weight: 400 !default;\n$navbar-nav-link-text-transform: normal !default;\n$navbar-nav-link-letter-spacing: 0 !default;\n$navbar-nav-link-border-radius: $border-radius !default;\n\n/* navbar color */\n$navbar-color: #1a1e34 !default;\n$navbar-dark-bg: transparent !default;\n$navbar-dark-hover-bg: rgba(255, 255, 255, .1);\n$navbar-dark-active-bg: rgba(255, 255, 255, .1);\n$navbar-dark-color: rgba($white, .95);\n$navbar-dark-hover-color: rgba($white, .65);\n$navbar-dark-active-color: rgba($white, .65);\n$navbar-dark-disabled-color: rgba($white, .25);\n$navbar-dark-toggler-border-color: transparent !default;\n\n$navbar-light-bg: transparent !default;\n$navbar-light-hover-bg: rgba(0, 0, 0, .1);\n$navbar-light-active-bg: rgba(0, 0, 0, .1);\n$navbar-light-color: rgba($black, .5);\n$navbar-light-hover-color: rgba($black, .7);\n$navbar-light-active-color: rgba($black, .9);\n$navbar-light-disabled-color: rgba($black, .3);\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml !default;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: transparent !default;\n$full-width: 100% !default;\n$navbar-padding: 10px 15px !default;\n\n\n// Alerts\n\n$alert-padding-y: .9rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-border-radius: $border-radius-sm !default;\n\n$alert-bg-level: -2 !default;\n$alert-border-level: -2 !default;\n$alert-color-level: 0 !default;\n\n\n// List group\n\n$list-group-bg: $white !default;\n$list-group-border-color: $border-color !default; //rgba($black, .125);\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: 1rem !default;\n$list-group-item-padding-x: 1rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $list-group-action-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-bg: transparent !default;\n$close-hover-bg: transparent !default;\n$close-color: rgba(0, 0, 0, .6);\n$close-hover-color: rgba(0, 0, 0, .9);\n$close-text-shadow: none !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: 1px !default;\n$popover-border-color: rgba($black, .05);\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0px .5rem 2rem 0px rgba($black, .2);\n\n$popover-header-bg: $popover-bg !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .75rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1.5rem !default;\n$popover-arrow-height: .75rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: transparent !default;\n\n// Breadcrumbs\n\n$breadcrumb-bg: $black-states !default;\n$breadcrumb-divider-color: $white !default;\n$breadcrumb-active-color: $white !default;\n\n\n\n\n// Badges\n\n$badge-font-size: $font-size-xs !default;\n$badge-font-weight: $font-weight-extra-bold !default;\n$badge-padding-y: .25rem !default;\n$badge-padding-x: .5rem !default;\n$badge-border-radius: $border-radius !default;\n$badge-text-transfom: uppercase;\n\n$badge-pill-padding-x: .875em !default;\n$badge-pill-border-radius: $border-radius-xl !default;\n\n$badge-circle-size: 2rem;\n\n// Pagination\n\n$pagination-padding-y: 0 !default;\n$pagination-padding-x: .6875rem !default;\n\n\n$pagination-color: $white !default;\n$pagination-bg: transparent !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n//$pagination-focus-box-shadow: $btn-hover-box-shadow !default;\n\n$pagination-hover-color: $gray-600 !default;\n$pagination-hover-bg: $gray-300 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n$pagination-active-box-shadow: $btn-hover-box-shadow !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: transparent !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Cards\n\n$card-spacer-y: 1.25rem !default;\n$card-spacer-x: 1.5rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius-sm !default;\n$card-border-color: rgba($black, .05);\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width});\n$card-cap-bg: $gray-100 !default;\n$card-bg: $white !default;\n$card-black-background: #27293d !default;\n$card-img-overlay-padding: 1.25rem !default;\n\n//$card-group-margin: ($grid-gutter-width / 2);\n//$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $black !default;\n$tooltip-bg: $white !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Modals\n\n$modal-inner-padding: 24px 24px 16px 24px !default;\n\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 380px !default;\n$modal-title-line-height: 1.1;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2);\n$modal-content-border-width: 1px !default;\n$modal-content-border-radius: $border-radius-sm !default;\n$modal-content-box-shadow-xs: 0px 10px 50px 0px rgba(0, 0, 0, 0.5);\n$modal-content-box-shadow-sm-up: 0 15px 35px rgba(50,50,93,.2), 0 5px 15px rgba(0,0,0,.17);\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .16 !default;\n$modal-header-border-color: $gray-200 !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding: 24px 24px 0 24px !default;\n\n// Progress bars\n\n$progress-height: .5rem !default;\n$progress-bg: rgba(0, 0, 0, 0.3) !default;\n$progress-border-radius: $border-radius-xl !default;\n$progress-box-shadow: 0px 0px 0px 3px rgba(0, 0, 0, 0.3) !default;\n$progress-bar-color: $white !default;\n\n// Datepicker\n\n$datepicker-border-radius: $card-border-radius !default;\n$datepicker-dropdown-padding: 20px 22px !default;\n\n$datepicker-cell-transition: $transition-base !default;\n$datepicker-cell-hover-background: lighten($gray-400, 55%);\n$datepicker-cell-border-radius: 50% !default;\n$datepicker-cell-width: 36px !default;\n$datepicker-cell-height: 36px !default;\n\n$datepicker-disabled-cell-color: $gray-300 !default;\n$datepicker-disabled-old-new-color: $gray-500 !default;\n\n$datepicker-header-cell-border-radius: $border-radius !default;\n\n$datepicker-active-color: $white !default;\n$datepicker-active-background: theme-color(\"primary\") !default;\n$datepicker-active-box-shadow: none !default;\n\n$datepicker-range-background: theme-color(\"primary\") !default;\n$datepicker-range-cell-focused-background: darken($datepicker-range-background, 5%);\n$datepicker-range-color: $white !default;\n$datepicker-range-highlighted-bg: $gray-200 !default;\n\n$datepicker-dropdown-border: lighten($gray-400, 40%);\n$datepicker-dropdown-bg: $white !default;\n$datepicker-highlighted-bg: $datepicker-active-background !default;\n\n\n// Footer\n\n$footer-link-font-size: .85rem !default;\n$footer-bg: theme-color(\"secondary\") !default;\n$footer-color: $gray-600 !default;\n$footer-link-color: $gray-600 !default;\n$footer-link-hover-color: $gray-700 !default;\n$footer-heading-color: $gray-600 !default;\n$footer-heading-font-size: $font-size-sm !default;\n", + "// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n ),\n $grays\n);\n\n$blue: #007bff !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #e83e8c !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !default;\n\n$colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$colors: map-merge(\n (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n ),\n $colors\n);\n\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-800 !default;\n\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n ),\n $theme-colors\n);\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold: 150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark: $gray-900 !default;\n$yiq-text-light: $white !default;\n\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-prefers-reduced-motion-media-query: true !default;\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\n$enable-grid-classes: true !default;\n$enable-pointer-cursor-for-buttons: true !default;\n$enable-print-styles: true !default;\n$enable-responsive-font-sizes: false !default;\n$enable-validation-icons: true !default;\n$enable-deprecation-messages: true !default;\n\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n$spacer: 1rem !default;\n$spacers: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$spacers: map-merge(\n (\n 0: 0,\n 1: ($spacer * .25),\n 2: ($spacer * .5),\n 3: $spacer,\n 4: ($spacer * 1.5),\n 5: ($spacer * 3)\n ),\n $spacers\n);\n\n// This variable affects the `.h-*` and `.w-*` classes.\n$sizes: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$sizes: map-merge(\n (\n 25: 25%,\n 50: 50%,\n 75: 75%,\n 100: 100%,\n auto: auto\n ),\n $sizes\n);\n\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: theme-color(\"primary\") !default;\n$link-decoration: none !default;\n$link-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: underline !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n) !default;\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px\n) !default;\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 30px !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg: 1.5 !default;\n$line-height-sm: 1.5 !default;\n\n$border-width: 1px !default;\n$border-color: $gray-300 !default;\n\n$border-radius: .25rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-sm: .2rem !default;\n\n$rounded-pill: 50rem !default;\n\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n\n$component-active-color: $white !default;\n$component-active-bg: theme-color(\"primary\") !default;\n\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n$transition-collapse: height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n (\n (21 9),\n (16 9),\n (4 3),\n (1 1),\n ),\n $embed-responsive-aspect-ratios\n);\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base: $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-lg: $font-size-base * 1.25 !default;\n$font-size-sm: $font-size-base * .875 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n$line-height-base: 1.5 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n\n$headings-margin-bottom: $spacer / 2 !default;\n$headings-font-family: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n\n$display1-size: 6rem !default;\n$display2-size: 5.5rem !default;\n$display3-size: 4.5rem !default;\n$display4-size: 3.5rem !default;\n\n$display1-weight: 300 !default;\n$display2-weight: 300 !default;\n$display3-weight: 300 !default;\n$display4-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: 80% !default;\n\n$text-muted: $gray-600 !default;\n\n$blockquote-small-color: $gray-600 !default;\n$blockquote-small-font-size: $small-font-size !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n\n$hr-border-color: rgba($black, .1) !default;\n$hr-border-width: $border-width !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y: $spacer !default;\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n$table-cell-padding: .75rem !default;\n$table-cell-padding-sm: .3rem !default;\n\n$table-color: $body-color !default;\n$table-bg: null !default;\n$table-accent-bg: rgba($black, .05) !default;\n$table-hover-color: $table-color !default;\n$table-hover-bg: rgba($black, .075) !default;\n$table-active-bg: $table-hover-bg !default;\n\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-head-bg: $gray-200 !default;\n$table-head-color: $gray-700 !default;\n\n$table-dark-color: $white !default;\n$table-dark-bg: $gray-800 !default;\n$table-dark-accent-bg: rgba($white, .05) !default;\n$table-dark-hover-color: $table-dark-color !default;\n$table-dark-hover-bg: rgba($white, .075) !default;\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\n$table-dark-color: $white !default;\n\n$table-striped-order: odd !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n$table-border-level: -6 !default;\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .2rem !default;\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n$input-btn-line-height-sm: $line-height-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n$input-btn-line-height-lg: $line-height-lg !default;\n\n$input-btn-border-width: $border-width !default;\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n$btn-line-height-sm: $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n$btn-line-height-lg: $input-btn-line-height-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color: $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n\n// Forms\n\n$label-margin-bottom: .5rem !default;\n\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n$input-line-height-sm: $input-btn-line-height-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n$input-line-height-lg: $input-btn-line-height-lg !default;\n\n$input-bg: $white !default;\n$input-disabled-bg: $gray-200 !default;\n\n$input-color: $gray-700 !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-lg: $border-radius-lg !default;\n$input-border-radius-sm: $border-radius-sm !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default;\n$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;\n$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;\n\n$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default;\n$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default;\n$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top: .25rem !default;\n\n$form-check-input-gutter: 1.25rem !default;\n$form-check-input-margin-y: .3rem !default;\n$form-check-input-margin-x: .25rem !default;\n\n$form-check-inline-margin-x: .75rem !default;\n$form-check-inline-input-margin-x: .3125rem !default;\n\n$form-grid-gutter-width: 10px !default;\n$form-group-margin-bottom: 1rem !default;\n\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter: .5rem !default;\n$custom-control-spacer-x: 1rem !default;\n\n$custom-control-indicator-size: 1rem !default;\n$custom-control-indicator-bg: $input-bg !default;\n\n$custom-control-indicator-bg-size: 50% 50% !default;\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\n$custom-control-indicator-border-color: $gray-500 !default;\n$custom-control-indicator-border-width: $input-border-width !default;\n\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\n$custom-control-label-disabled-color: $gray-600 !default;\n\n$custom-control-indicator-checked-color: $component-active-color !default;\n$custom-control-indicator-checked-bg: $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-box-shadow: none !default;\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\n\n$custom-control-indicator-active-color: $component-active-color !default;\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-box-shadow: none !default;\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-border-radius: $border-radius !default;\n$custom-checkbox-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-icon-indeterminate: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\n\n$custom-radio-indicator-border-radius: 50% !default;\n$custom-radio-indicator-icon-checked: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;\n\n$custom-select-padding-y: $input-padding-y !default;\n$custom-select-padding-x: $input-padding-x !default;\n$custom-select-font-family: $input-font-family !default;\n$custom-select-font-size: $input-font-size !default;\n$custom-select-height: $input-height !default;\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight: $input-font-weight !default;\n$custom-select-line-height: $input-line-height !default;\n$custom-select-color: $input-color !default;\n$custom-select-disabled-color: $gray-600 !default;\n$custom-select-bg: $input-bg !default;\n$custom-select-disabled-bg: $gray-200 !default;\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\n$custom-select-indicator-color: $gray-800 !default;\n$custom-select-indicator: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n\n$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default;\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width: $input-border-width !default;\n$custom-select-border-color: $input-border-color !default;\n$custom-select-border-radius: $border-radius !default;\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-border-color: $input-focus-border-color !default;\n$custom-select-focus-width: $input-focus-width !default;\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\n$custom-select-font-size-sm: $input-font-size-sm !default;\n$custom-select-height-sm: $input-height-sm !default;\n\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\n$custom-select-font-size-lg: $input-font-size-lg !default;\n$custom-select-height-lg: $input-height-lg !default;\n\n$custom-range-track-width: 100% !default;\n$custom-range-track-height: .5rem !default;\n$custom-range-track-cursor: pointer !default;\n$custom-range-track-bg: $gray-300 !default;\n$custom-range-track-border-radius: 1rem !default;\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width: 1rem !default;\n$custom-range-thumb-height: $custom-range-thumb-width !default;\n$custom-range-thumb-bg: $component-active-bg !default;\n$custom-range-thumb-border: 0 !default;\n$custom-range-thumb-border-radius: 1rem !default;\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg: $gray-500 !default;\n\n$custom-file-height: $input-height !default;\n$custom-file-height-inner: $input-height-inner !default;\n$custom-file-focus-border-color: $input-focus-border-color !default;\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\n$custom-file-disabled-bg: $input-disabled-bg !default;\n\n$custom-file-padding-y: $input-padding-y !default;\n$custom-file-padding-x: $input-padding-x !default;\n$custom-file-line-height: $input-line-height !default;\n$custom-file-font-family: $input-font-family !default;\n$custom-file-font-weight: $input-font-weight !default;\n$custom-file-color: $input-color !default;\n$custom-file-bg: $input-bg !default;\n$custom-file-border-width: $input-border-width !default;\n$custom-file-border-color: $input-border-color !default;\n$custom-file-border-radius: $input-border-radius !default;\n$custom-file-box-shadow: $input-box-shadow !default;\n$custom-file-button-color: $custom-file-color !default;\n$custom-file-button-bg: $input-group-addon-bg !default;\n$custom-file-text: (\n en: \"Browse\"\n) !default;\n\n\n// Form validation\n\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $small-font-size !default;\n$form-feedback-valid-color: theme-color(\"success\") !default;\n$form-feedback-invalid-color: theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\"), \"#\", \"%23\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n ),\n ),\n $form-validation-states\n);\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-modal-backdrop: 1040 !default;\n$zindex-modal: 1050 !default;\n$zindex-popover: 1060 !default;\n$zindex-tooltip: 1070 !default;\n\n\n// Navs\n\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n\n$nav-divider-color: $gray-200 !default;\n$nav-divider-margin-y: $spacer / 2 !default;\n\n\n// Navbar\n\n$navbar-padding-y: $spacer / 2 !default;\n$navbar-padding-x: $spacer !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n\n$navbar-dark-color: rgba($white, .5) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .5) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg: $gray-200 !default;\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\n$dropdown-link-hover-bg: $gray-100 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-600 !default;\n\n$dropdown-item-padding-y: .25rem !default;\n$dropdown-item-padding-x: 1.5rem !default;\n\n$dropdown-header-color: $gray-600 !default;\n\n\n// Pagination\n\n$pagination-padding-y: .5rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n$pagination-line-height: 1.25 !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n\n// Jumbotron\n\n$jumbotron-padding: 2rem !default;\n$jumbotron-color: null !default;\n$jumbotron-bg: $gray-200 !default;\n\n\n// Cards\n\n$card-spacer-y: .75rem !default;\n$card-spacer-x: 1.25rem !default;\n$card-border-width: $border-width !default;\n$card-border-radius: $border-radius !default;\n$card-border-color: rgba($black, .125) !default;\n$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n\n$card-img-overlay-padding: 1.25rem !default;\n\n$card-group-margin: $grid-gutter-width / 2 !default;\n$card-deck-margin: $card-group-margin !default;\n\n$card-columns-count: 3 !default;\n$card-columns-gap: 1.25rem !default;\n$card-columns-margin: $card-spacer-y !default;\n\n\n// Tooltips\n\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: .25rem !default;\n$tooltip-padding-x: .5rem !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: $line-height-base !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n\n\n// Popovers\n\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\n\n$popover-header-bg: darken($popover-bg, 3%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: .75rem !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $popover-header-padding-y !default;\n$popover-body-padding-x: $popover-header-padding-x !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n\n\n// Toasts\n\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .25rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: .25rem !default;\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n\n\n// Badges\n\n$badge-font-size: 75% !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-padding-y: .25em !default;\n$badge-padding-x: .4em !default;\n$badge-border-radius: $border-radius !default;\n\n$badge-transition: $btn-transition !default;\n$badge-focus-width: $input-btn-focus-width !default;\n\n$badge-pill-padding-x: .6em !default;\n// Use a higher than normal value to ensure completely rounded edges when\n// customizing padding or font-size on labels.\n$badge-pill-border-radius: 10rem !default;\n\n\n// Modals\n\n// Padding applied to the modal body\n$modal-inner-padding: 1rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: 1rem !default;\n$modal-header-padding-x: 1rem !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-xl: 1140px !default;\n$modal-lg: 800px !default;\n$modal-md: 500px !default;\n$modal-sm: 300px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n$alert-padding-y: .75rem !default;\n$alert-padding-x: 1.25rem !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n\n$alert-bg-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\n\n\n// Progress bars\n\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: theme-color(\"primary\") !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n\n\n// List group\n\n$list-group-color: null !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: .75rem !default;\n$list-group-item-padding-x: 1.25rem !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n\n\n// Image thumbnails\n\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\n\n\n// Figures\n\n$figure-caption-font-size: 90% !default;\n$figure-caption-color: $gray-600 !default;\n\n\n// Breadcrumbs\n\n$breadcrumb-padding-y: .75rem !default;\n$breadcrumb-padding-x: 1rem !default;\n$breadcrumb-item-padding: .5rem !default;\n\n$breadcrumb-margin-bottom: 1rem !default;\n\n$breadcrumb-bg: $gray-200 !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n\n$breadcrumb-border-radius: $border-radius !default;\n\n\n// Carousel\n\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n\n$carousel-control-icon-width: 20px !default;\n\n$carousel-control-prev-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n$carousel-control-next-icon-bg: str-replace(url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"), \"#\", \"%23\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n\n// Spinners\n\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-border-width: .25em !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n\n\n// Close\n\n$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\n\n// Code\n\n$code-font-size: 87.5% !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: $gray-900 !default;\n$pre-scrollable-max-height: 340px !default;\n\n\n// Utilities\n\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\n$overflows: auto, hidden !default;\n$positions: static, relative, absolute, fixed, sticky !default;\n\n\n// Printing\n\n$print-page-size: a3 !default;\n$print-body-min-width: map-get($grid-breakpoints, \"lg\") !default;\n", + "@import \"mixins/alert.scss\";\n@import \"mixins/badges.scss\";\n@import \"mixins/background-variant.scss\";\n@import \"mixins/buttons.scss\";\n@import \"mixins/forms.scss\";\n@import \"mixins/icon.scss\";\n@import \"mixins/modals.scss\";\n@import \"mixins/popovers.scss\";\n@import \"mixins/page-header.scss\";\n@import \"mixins/vendor-prefixes.scss\";\n@import \"mixins/opacity.scss\";\n@import \"mixins/modals.scss\";\n@import \"mixins/inputs.scss\";\n@import \"mixins/dropdown.scss\";\n@import \"mixins/wizard.scss\";\n", + "@mixin alert-variant($background, $border, $color) {\n color: color-yiq($background);\n // @include gradient-bg($background);\n background-color: lighten($background, 5%);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n", + "@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n &[href] {\n @include hover-focus {\n color: color-yiq($bg);\n text-decoration: none;\n background-color: darken($bg, 3%);\n }\n }\n .tagsinput-remove-link{\n color: $white;\n }\n}\n", + "// Contextual backgrounds\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: linear-gradient(87deg, $color 0, adjust-hue($color, 25%) 100%) !important;\n }\n}\n", + "@mixin btn-styles($btn-color, $btn-states-color) {\n @include diagonal-gradient($btn-color, $btn-states-color);\n background-color: $btn-color;\n transition: all 0.15s ease;\n box-shadow: none;\n &.animation-on-hover:hover{\n background-position: bottom left;\n transition:0.3s ease-in-out;\n }\n\n &:hover,\n &:focus,\n &:active,\n &.active,\n &:active:focus,\n &:active:hover,\n &.active:focus,\n &.active:hover\n {\n background-color: $btn-states-color !important;\n background-image: linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-image: -webkit-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-image: -o-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-image: -moz-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n color: $white;\n box-shadow: none;\n }\n\n &:active{\n box-shadow: none !important;\n transform: translateY(1px) !important;\n transition: all .15s ease;\n }\n\n &:not([data-action]):hover{\n\n box-shadow: 2px 2px 6px rgba(0,0,0,0.4);\n transform: translateY(-1px);\n -webkit-transform: translateY(-1px);\n }\n\n &.disabled,\n &:disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: $btn-color;\n border-color: $btn-color;\n }\n }\n\n // btn-neutral style\n @if $btn-color == $white{\n color: $primary;\n\n &.btn-danger{\n color: $danger;\n\n &:hover,\n &:focus,\n &:active,\n &:active:focus{\n color: $danger-states;\n }\n }\n\n &.btn-info{\n color: $info;\n\n &:hover,\n &:focus,\n &:active,\n &:active:focus{\n color: $info-states;\n }\n }\n\n &.btn-warning{\n color: $warning;\n\n &:hover,\n &:focus,\n &:active,\n &:active:focus{\n color: $warning-states;\n }\n }\n\n &.btn-success{\n color: $success;\n\n &:hover,\n &:focus,\n &:active,\n &:active:focus{\n color: $success-states;\n }\n }\n\n &.btn-default{\n color: $default;\n\n &:hover,\n &:focus,\n &:active,\n &:active:focus{\n color: $default-states;\n }\n }\n\n &.active,\n &:active,\n &:active:focus,\n &:active:hover,\n &.active:focus,\n &.active:hover,\n .show > &.dropdown-toggle,\n .show > &.dropdown-toggle:focus,\n .show > &.dropdown-toggle:hover {\n background-color: $white;\n color: $primary-states;\n box-shadow: none;\n }\n\n &:hover,\n &:focus{\n color: $primary-states;\n\n &:not(.nav-link){\n box-shadow: none;\n }\n\n }\n\n } @else {\n color: $white;\n }\n\n &.btn-simple{\n color: $btn-color;\n border-color: $btn-color;\n background: $transparent-bg;\n\n &:hover,\n &:focus,\n &:active,\n &:not(:disabled):not(.disabled):active{\n color: $btn-color;\n border-color: $btn-color;\n background-color: $transparent-bg !important;\n background-image: none !important;\n box-shadow: none;\n }\n\n &.active{\n border-color: $btn-color !important;\n &:hover,\n &:focus,\n &:active,\n &:not(:disabled):not(.disabled):active{\n color: $white;\n border-color: $btn-color;\n background-image: linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-image: -webkit-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-image: -o-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-image: -moz-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;\n background-color: $btn-states-color !important;\n box-shadow: none;\n }\n }\n }\n\n &.btn-link{\n color: $btn-color;\n &:hover,\n &:focus,\n &:active{\n background-color: $transparent-bg !important;\n background-image: none !important;\n color: $white !important;\n text-decoration: none;\n box-shadow: none;\n }\n }\n}\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 0%), $hover-border: darken($border, 0%), $active-background: darken($background, 10%), $active-border: darken($border, 0%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n }\n @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n } // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show>&.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);\n }\n @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n background-color: transparent;\n background-image: none;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show>&.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow !=none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n }\n @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin btn-size($padding-vertical, $padding-horizontal, $font-size, $border){\n font-size: $font-size;\n border-radius: $border;\n padding: $padding-vertical $padding-horizontal;\n\n &.btn-simple{\n padding: $padding-vertical - 1 $padding-horizontal - 1;\n }\n\n}\n\n// for social buttons\n@mixin social-buttons-color ($color, $state-color){\n @include diagonal-gradient($color, darken($color,20%));\n //background-color: $color;\n color: $white;\n background-size: 210% 210%;\n background-position: top right;\n background-repeat: space;\n\n &:focus,\n &:active,\n &:hover{\n background-color: $state-color;\n background-image: linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;\n background-image: -webkit-linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;\n background-image: -o-linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;\n background-image: -moz-linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;\n color: $white;\n }\n\n &.btn-simple{\n color: $state-color;\n background-color: $transparent-bg;\n background-image: none !important;\n box-shadow: none;\n border-color: $state-color;\n\n &:hover,\n &:focus,\n &:active{\n color: $state-color;\n border-color: $state-color;\n }\n }\n\n &.btn-neutral{\n color: $color;\n background-color: $white;\n\n\n &:hover,\n &:focus,\n &:active{\n color: $state-color;\n }\n }\n}\n", + "@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n font-size: $form-feedback-font-size;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: .5rem;\n margin-top: .1rem;\n font-size: .875rem;\n line-height: 1;\n color: $white;\n background-color: rgba($color, .8);\n border-radius: .2rem;\n }\n\n .form-control,\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n &:focus {\n border-color: $color;\n //box-shadow: 0 1px $input-focus-width 0 rgba($color, .75);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n background-color: lighten($color, 25%);\n border-color: lighten($color, 25%);\n }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n @include gradient-bg(lighten($color, 10%));\n border-color: lighten($color, 25%);\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 1px $body-bg, 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-label {\n border-color: $color;\n\n &::before { border-color: inherit; }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .custom-file-label {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n", + "@mixin icon-shape-variant($color) {\n color: saturate(darken($color, 10%), 10);\n background-color: transparentize(lighten($color, 10%), .5);\n}", + "@mixin modal-colors($bg-color, $color) {\n .modal-content{\n background-color: $bg-color;\n color: $color;\n }\n\n .modal-body p{\n color: rgba($white, 0.8);\n }\n\n //inputs\n @include input-coloured-bg($opacity-5, $white, $white, $transparent-bg, $opacity-1, $opacity-2);\n\n\n}\n", + "@mixin popover-variant($background) {\n background-color: $background;\n\n .popover-header {\n background-color: $background;\n color: color-yiq($background);\n opacity: .6;\n }\n\n .popover-body {\n color: color-yiq($background);\n }\n\n .popover-header{\n border-color: rgba(color-yiq($background), .2);\n }\n\n &.bs-popover-top {\n .arrow::after {\n border-top-color: $background;\n }\n }\n\n &.bs-popover-right {\n .arrow::after {\n border-right-color: $background;\n }\n }\n\n &.bs-popover-bottom {\n .arrow::after {\n border-bottom-color: $background;\n }\n }\n\n &.bs-popover-left {\n .arrow::after {\n border-left-color: $background;\n }\n }\n}\n", + "@mixin linear-gradient($color1, $color2){\n background: $color1; /* For browsers that do not support gradients */\n background: -webkit-linear-gradient(90deg, $color1 , $color2); /* For Safari 5.1 to 6.0 */\n background: -o-linear-gradient(90deg, $color1, $color2); /* For Opera 11.1 to 12.0 */\n background: -moz-linear-gradient(90deg, $color1, $color2); /* For Firefox 3.6 to 15 */\n background: linear-gradient(0deg, $color1 , $color2); /* Standard syntax */\n}\n", + "\n@mixin transform-translate-x($value){\n -webkit-transform: translate3d($value, 0, 0);\n -moz-transform: translate3d($value, 0, 0);\n -o-transform: translate3d($value, 0, 0);\n -ms-transform: translate3d($value, 0, 0);\n transform: translate3d($value, 0, 0);\n}\n\n@mixin transform-translate-y($value){\n -webkit-transform: translate3d(0,$value,0);\n -moz-transform: translate3d(0,$value,0);\n -o-transform: translate3d(0,$value,0);\n -ms-transform: translate3d(0,$value,0);\n transform: translate3d(0,$value,0);\n}\n\n@mixin transitions($time, $type){\n -webkit-transition: all $time $type;\n -moz-transition: all $time $type;\n -o-transition: all $time $type;\n -ms-transition: all $time $type;\n transition: all $time $type;\n}\n\n@mixin diagonal-gradient($start-color, $end-color){\n background: $start-color;\n background-image: -webkit-linear-gradient(to bottom left, $start-color, $end-color, $start-color);\n background-image: -o-linear-gradient(to bottom left, $start-color, $end-color, $start-color);\n background-image: -moz-linear-gradient(to bottom left, $start-color, $end-color, $start-color);\n background-image: linear-gradient(to bottom left, $start-color, $end-color, $start-color);\n background-size: 210% 210%;\n background-position: top right;\n}\n\n@mixin bar-animation($type){\n -webkit-animation: $type 500ms linear 0s;\n -moz-animation: $type 500ms linear 0s;\n animation: $type 500ms 0s;\n -webkit-animation-fill-mode: forwards;\n -moz-animation-fill-mode: forwards;\n animation-fill-mode: forwards;\n}\n\n@mixin rotate-180(){\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n@mixin transform-translate-y-dropdown($value) {\n -webkit-transform: translate3d(0,$value,0) !important;\n -moz-transform: translate3d(0,$value,0) !important;\n -o-transform: translate3d(0,$value,0) !important;\n -ms-transform: translate3d(0,$value,0) !important;\n transform: translate3d(0,$value,0) !important;\n}\n\n@mixin linear-gradient($color, $states-color){\n background: $color;\n background: -webkit-linear-gradient(0deg, $color 0%, $states-color 100%);\n background: -o-linear-gradient(0deg, $color 0%, $states-color 100%);\n background: -moz-linear-gradient(0deg, $color 0%, $states-color 100%);\n background: linear-gradient(0deg, $color 0%, $states-color 100%);\n}\n\n@mixin linear-gradient-right($color, $states-color){\n background: $color;\n background: -webkit-linear-gradient(to right, $color 0%, $states-color 100%);\n background: -o-linear-gradient(to right, $color 0%, $states-color 100%);\n background: -moz-linear-gradient(to right, $color 0%, $states-color 100%);\n background: linear-gradient(to right, $color 0%, $states-color 100%);\n}\n\n@mixin sidebar-color($color){\n &:after{\n background: $color;\n }\n\n .nav li.active > a{\n color: $color;\n\n i{\n color: $color;\n }\n }\n}\n\n@mixin transition-input-focus-color() {\n -webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -moz-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -o-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n -ms-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;\n}\n\n@mixin topbar-x-rotation(){\n @keyframes topbar-x {\n 0% {top: 0px; transform: rotate(0deg); }\n 45% {top: 6px; transform: rotate(145deg); }\n 75% {transform: rotate(130deg); }\n 100% {transform: rotate(135deg); }\n }\n @-webkit-keyframes topbar-x {\n 0% {top: 0px; -webkit-transform: rotate(0deg); }\n 45% {top: 6px; -webkit-transform: rotate(145deg); }\n 75% {-webkit-transform: rotate(130deg); }\n 100% { -webkit-transform: rotate(135deg); }\n }\n @-moz-keyframes topbar-x {\n 0% {top: 0px; -moz-transform: rotate(0deg); }\n 45% {top: 6px; -moz-transform: rotate(145deg); }\n 75% {-moz-transform: rotate(130deg); }\n 100% { -moz-transform: rotate(135deg); }\n }\n}\n\n@mixin topbar-back-rotation(){\n @keyframes topbar-back {\n 0% { top: 6px; transform: rotate(135deg); }\n 45% { transform: rotate(-10deg); }\n 75% { transform: rotate(5deg); }\n 100% { top: 0px; transform: rotate(0); }\n }\n\n @-webkit-keyframes topbar-back {\n 0% { top: 6px; -webkit-transform: rotate(135deg); }\n 45% { -webkit-transform: rotate(-10deg); }\n 75% { -webkit-transform: rotate(5deg); }\n 100% { top: 0px; -webkit-transform: rotate(0); }\n }\n\n @-moz-keyframes topbar-back {\n 0% { top: 6px; -moz-transform: rotate(135deg); }\n 45% { -moz-transform: rotate(-10deg); }\n 75% { -moz-transform: rotate(5deg); }\n 100% { top: 0px; -moz-transform: rotate(0); }\n }\n}\n\n@mixin bottombar-x-rotation(){\n @keyframes bottombar-x {\n 0% {bottom: 0px; transform: rotate(0deg);}\n 45% {bottom: 6px; transform: rotate(-145deg);}\n 75% {transform: rotate(-130deg);}\n 100% {transform: rotate(-135deg);}\n }\n @-webkit-keyframes bottombar-x {\n 0% {bottom: 0px; -webkit-transform: rotate(0deg);}\n 45% {bottom: 6px; -webkit-transform: rotate(-145deg);}\n 75% {-webkit-transform: rotate(-130deg);}\n 100% {-webkit-transform: rotate(-135deg);}\n }\n @-moz-keyframes bottombar-x {\n 0% {bottom: 0px; -moz-transform: rotate(0deg);}\n 45% {bottom: 6px; -moz-transform: rotate(-145deg);}\n 75% {-moz-transform: rotate(-130deg);}\n 100% {-moz-transform: rotate(-135deg);}\n }\n}\n\n@mixin bottombar-back-rotation{\n @keyframes bottombar-back {\n 0% { bottom: 6px;transform: rotate(-135deg);}\n 45% { transform: rotate(10deg);}\n 75% { transform: rotate(-5deg);}\n 100% { bottom: 0px;transform: rotate(0);}\n }\n @-webkit-keyframes bottombar-back {\n 0% {bottom: 6px;-webkit-transform: rotate(-135deg);}\n 45% {-webkit-transform: rotate(10deg);}\n 75% {-webkit-transform: rotate(-5deg);}\n 100% {bottom: 0px;-webkit-transform: rotate(0);}\n }\n @-moz-keyframes bottombar-back {\n 0% {bottom: 6px;-moz-transform: rotate(-135deg);}\n 45% {-moz-transform: rotate(10deg);}\n 75% {-moz-transform: rotate(-5deg);}\n 100% {bottom: 0px;-moz-transform: rotate(0);}\n }\n\n}\n\n\n@mixin nc-rotate($degrees, $rotation) {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});\n -webkit-transform: rotate($degrees);\n -moz-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n -o-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin nc-flip($horiz, $vert, $rotation) {\n filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});\n -webkit-transform: scale($horiz, $vert);\n -moz-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n -o-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n", + "// Opacity\n\n@mixin opacity($opacity) {\n opacity: $opacity;\n // IE8 filter\n $opacity-ie: ($opacity * 100);\n filter: #{alpha(opacity=$opacity-ie)};\n}\n", + "@mixin modal-colors($bg-color, $color) {\n .modal-content{\n background-color: $bg-color;\n color: $color;\n }\n\n .modal-body p{\n color: rgba($white, 0.8);\n }\n\n //inputs\n @include input-coloured-bg($opacity-5, $white, $white, $transparent-bg, $opacity-1, $opacity-2);\n\n\n}\n", + "@mixin input-size($padding-vertical, $padding-horizontal){\n padding: $padding-vertical $padding-horizontal;\n}\n\n@mixin form-control-placeholder($color, $opacity){\n .form-control::-moz-placeholder{\n color: $color;\n @include opacity(1);\n }\n .form-control:-moz-placeholder{\n color: $color;\n @include opacity(1);\n }\n .form-control::-webkit-input-placeholder{\n color: $color;\n @include opacity(1);\n }\n .form-control:-ms-input-placeholder{\n color: $color;\n @include opacity(1);\n }\n}\n\n@mixin placeholder() {\n &::-moz-placeholder {@content; } // Firefox\n &:-ms-input-placeholder {@content; } // Internet Explorer 10+\n &::-webkit-input-placeholder {@content; } // Safari and Chrome\n}\n\n@mixin light-form(){\n border-radius: 0;\n border:0;\n padding: 0;\n background-color: transparent;\n\n}\n\n\n@mixin form-control-lg-padding($padding-vertical, $padding-horizontal) {\n .form-group.no-border.form-control-lg,\n .input-group.no-border.form-control-lg{\n .input-group-append .input-group-text{\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n\n .form-control{\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-prepend .input-group-text,\n & + .input-group-append .input-group-text{\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n\n\n }\n }\n\n .form-group.form-control-lg,\n .input-group.form-control-lg{\n .form-control{\n padding: $padding-vertical - 1 $padding-horizontal - 1;\n height: 100%;\n\n & + .input-group-prepend .input-group-text,\n & + .input-group-append .input-group-text{\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n padding: $padding-vertical - 1 0 $padding-vertical $padding-horizontal - 1;\n\n & + .form-control{\n padding: $padding-vertical $padding-horizontal - 1 $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n\n\n@mixin input-base-padding($padding-vertical, $padding-horizontal) {\n .form-group.no-border,\n .input-group.no-border{\n .form-control{\n padding: $padding-vertical $padding-horizontal;\n\n & + .input-group-prepend .input-group-text,\n & + .input-group-append .input-group-text{\n padding: $padding-vertical $padding-horizontal $padding-vertical 0;\n }\n }\n\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n padding: $padding-vertical 0 $padding-vertical $padding-horizontal;\n }\n }\n\n .form-group,\n .input-group{\n .form-control{\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .input-group-prepend .input-group-text,\n & + .input-group-append .input-group-text{\n padding: $padding-vertical - 1 $padding-horizontal - 1 $padding-vertical - 1 0;\n }\n }\n\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n padding: $padding-vertical - 1 0 $padding-vertical - 1 $padding-horizontal - 1;\n\n & + .form-control,\n & ~ .form-control{\n padding:$padding-vertical - 1 $padding-horizontal $padding-vertical $padding-horizontal - 3;\n }\n }\n }\n}\n\n\n//color1 = $opacity-5\n//color2 = $opacity-8\n//color3 = $white-color\n//color4 = $transparent-bg\n//color5 = $opacity-1\n//color6 = $opacity-2\n\n\n@mixin input-coloured-bg($color1, $color2, $color3, $color4, $color5, $color6) {\n @include form-control-placeholder(rgba($white, 0.4), 1);\n\n .form-control{\n border-color: $color1;\n color: $color2;\n\n &:focus{\n border-color: $color3;\n background-color: $color4;\n color: $color3;\n }\n }\n\n .has-success,\n .has-danger{\n &:after{\n color: $color3;\n }\n }\n\n .has-danger{\n .form-control{\n background-color: $color4;\n }\n }\n\n .input-group-prepend{\n margin-right: 0;\n }\n\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n background-color: rgba($background-black, 0.2);\n border-color: $color1;\n color: $color2;\n\n\n }\n\n .input-group-focus{\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n background-color: rgba($background-black, 0.3);\n border-color: $color3;\n color: $color3;\n }\n }\n\n .form-group.no-border,\n .input-group.no-border{\n .form-control{\n background-color: rgba($background-black,0.2);\n color: $color2;\n\n &:focus,\n &:active,\n &:active{\n background-color: rgba($background-black,0.3);\n color: $color3;\n }\n }\n\n .form-control + .input-group-prepend .input-group-text,\n .form-control + .input-group-append .input-group-text{\n background-color: rgba($background-black,0.2);;\n\n &:focus,\n &:active,\n &:active{\n background-color: rgba($background-black,0.3);\n color: $color3;\n }\n }\n\n .form-control{\n &:focus{\n & + .input-group-prepend .input-group-text,\n & + .input-group-append .input-group-text{\n background-color: rgba($background-black, 0.3);\n color: $color3;\n }\n }\n }\n\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n background-color: rgba($background-black, 0.2);\n border: none;\n color: $color2;\n }\n\n &.input-group-focus{\n .input-group-prepend .input-group-text,\n .input-group-append .input-group-text{\n background-color: rgba($background-black, 0.3);\n color: $color3;\n }\n }\n }\n\n}\n", + "@mixin dropdown-colors($brand-color, $dropdown-header-color, $dropdown-color, $background-color ) {\n background-color: $brand-color;\n\n &:before{\n color: $brand-color;\n }\n\n .dropdown-header:not([href]):not([tabindex]){\n color: $dropdown-header-color;\n }\n\n .dropdown-item{\n color: $dropdown-color;\n\n &:hover,\n &:focus{\n background-color: $background-color;\n }\n }\n\n .dropdown-divider{\n background-color: $background-color;\n }\n\n \n}\n", + "@mixin set-wizard-color($color) {\n .progress-with-circle .progress-bar{\n background: $color;\n }\n\n .nav-pills .nav-item .nav-link{\n color: $color;\n\n &.checked, &.active{\n background: $color;\n color: white;\n }\n &:hover{\n background: $white;\n }\n }\n\n .nav-pills .nav-item .nav-link.active,\n .nav-pills .nav-item .nav-link.checked:focus,\n .nav-pills .nav-item .nav-link.checked:hover,\n .nav-pills .nav-item .nav-link.active:focus,\n .nav-pills .nav-item .nav-link.active:hover{\n background: $color;\n }\n\n}\n", + "// Toggles\n//\n// Used in conjunction with global variables to enable certain theme features.\n\n// Vendor\n@import \"vendor/rfs\";\n\n// Deprecate\n@import \"mixins/deprecate\";\n\n// Utilities\n@import \"mixins/breakpoints\";\n@import \"mixins/hover\";\n@import \"mixins/image\";\n@import \"mixins/badge\";\n@import \"mixins/resize\";\n@import \"mixins/screen-reader\";\n@import \"mixins/size\";\n@import \"mixins/reset-text\";\n@import \"mixins/text-emphasis\";\n@import \"mixins/text-hide\";\n@import \"mixins/text-truncate\";\n@import \"mixins/visibility\";\n\n// // Components\n@import \"mixins/alert\";\n@import \"mixins/buttons\";\n@import \"mixins/caret\";\n@import \"mixins/pagination\";\n@import \"mixins/lists\";\n@import \"mixins/list-group\";\n@import \"mixins/nav-divider\";\n@import \"mixins/forms\";\n@import \"mixins/table-row\";\n\n// // Skins\n@import \"mixins/background-variant\";\n@import \"mixins/border-radius\";\n@import \"mixins/box-shadow\";\n@import \"mixins/gradients\";\n@import \"mixins/transition\";\n\n// // Layout\n@import \"mixins/clearfix\";\n@import \"mixins/grid-framework\";\n@import \"mixins/grid\";\n@import \"mixins/float\";\n", + "// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n", + "// Deprecate mixin\n//\n// This mixin can be used to deprecate mixins or functions.\n// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to\n// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)\n@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {\n @if ($enable-deprecation-messages != false and $ignore-warning != true) {\n @warn \"#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.\";\n }\n}\n", + "// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n", + "// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n", + "// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size.\n\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\n background-image: url($file-1x);\n\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\n // but doesn't convert dppx=>dpi.\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\n only screen and (min-resolution: 2dppx) { // Standardized\n background-image: url($file-2x);\n background-size: $width-1x $height-1x;\n }\n @include deprecate(\"`img-retina()`\", \"v4.3.0\", \"v5\");\n}\n", + "@mixin badge-variant($bg) {\n color: color-yiq($bg);\n background-color: $bg;\n\n @at-root a#{&} {\n @include hover-focus {\n color: color-yiq($bg);\n background-color: darken($bg, 10%);\n }\n\n &:focus,\n &.focus {\n outline: 0;\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\n }\n }\n}\n", + "// Resize anything\n\n@mixin resizable($direction) {\n overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`\n resize: $direction; // Options: horizontal, vertical, both\n}\n", + "// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n }\n}\n", + "// Sizing shortcuts\n\n@mixin size($width, $height: $width) {\n width: $width;\n height: $height;\n @include deprecate(\"`size()`\", \"v4.3.0\", \"v5\");\n}\n", + "@mixin reset-text {\n font-family: $font-family-base;\n // We deliberately do NOT reset font-size or word-wrap.\n font-style: normal;\n font-weight: $font-weight-normal;\n line-height: $line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n}\n", + "// stylelint-disable declaration-no-important\n\n// Typography\n\n@mixin text-emphasis-variant($parent, $color) {\n #{$parent} {\n color: $color !important;\n }\n @if $emphasized-link-hover-darken-percentage != 0 {\n a#{$parent} {\n @include hover-focus {\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\n }\n }\n }\n}\n", + "// CSS image replacement\n@mixin text-hide($ignore-warning: false) {\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n\n @include deprecate(\"`text-hide()`\", \"v4.1.0\", \"v5\", $ignore-warning);\n}\n", + "// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n", + "// stylelint-disable declaration-no-important\n\n// Visibility\n\n@mixin invisible($visibility) {\n visibility: $visibility !important;\n @include deprecate(\"`invisible()`\", \"v4.3.0\", \"v5\");\n}\n", + "@mixin alert-variant($background, $border, $color) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n\n hr {\n border-top-color: darken($border, 5%);\n }\n\n .alert-link {\n color: darken($color, 10%);\n }\n}\n", + "// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\n color: color-yiq($background);\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n @include hover {\n color: color-yiq($hover-background);\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n &:focus,\n &.focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n\n // Disabled comes first so active can properly restyle\n &.disabled,\n &:disabled {\n color: color-yiq($background);\n background-color: $background;\n border-color: $border;\n // Remove CSS gradients if they're enabled\n @if $enable-gradients {\n background-image: none;\n }\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n @if $enable-gradients {\n background-image: none; // Remove the gradient for the pressed/active state\n }\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);\n }\n }\n }\n}\n\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\n color: $color;\n border-color: $color;\n\n @include hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &.disabled,\n &:disabled {\n color: $color;\n background-color: transparent;\n }\n\n &:not(:disabled):not(.disabled):active,\n &:not(:disabled):not(.disabled).active,\n .show > &.dropdown-toggle {\n color: color-yiq($active-background);\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows and $btn-active-box-shadow != none {\n box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);\n } @else {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n}\n\n// Button sizes\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n", + "@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-right {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-left {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down;\n } @else if $direction == up {\n @include caret-up;\n } @else if $direction == right {\n @include caret-right;\n }\n }\n\n @if $direction == left {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-left;\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n", + "// Pagination\n\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\n .page-link {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n line-height: $line-height;\n }\n\n .page-item {\n &:first-child {\n .page-link {\n @include border-left-radius($border-radius);\n }\n }\n &:last-child {\n .page-link {\n @include border-right-radius($border-radius);\n }\n }\n }\n}\n", + "// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n", + "// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n .list-group-item-#{$state} {\n color: $color;\n background-color: $background;\n\n &.list-group-item-action {\n @include hover-focus {\n color: $color;\n background-color: darken($background, 5%);\n }\n\n &.active {\n color: $white;\n background-color: $color;\n border-color: $color;\n }\n }\n }\n}\n", + "// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {\n height: 0;\n margin: $margin-y 0;\n overflow: hidden;\n border-top: 1px solid $color;\n}\n", + "// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus() {\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n // Avoid using mixin so we can pass custom focus shadow properly\n @if $enable-shadows {\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\n } @else {\n box-shadow: $input-focus-box-shadow;\n }\n }\n}\n\n\n@mixin form-validation-state($state, $color, $icon) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: color-yiq($color);\n background-color: rgba($color, $form-feedback-tooltip-opacity);\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n .form-control {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: $icon;\n background-repeat: no-repeat;\n background-position: center right $input-height-inner-quarter;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n .was-validated &:#{$state},\n &.is-#{$state} {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .custom-select {\n .was-validated &:#{$state},\n &.is-#{$state} {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $custom-select-feedback-icon-padding-right;\n background: $custom-select-background, $icon $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n\n .form-control-file {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .form-check-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .form-check-label {\n color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n }\n\n .custom-control-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-control-label {\n color: $color;\n\n &::before {\n border-color: $color;\n }\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:checked {\n ~ .custom-control-label::before {\n border-color: lighten($color, 10%);\n @include gradient-bg(lighten($color, 10%));\n }\n }\n\n &:focus {\n ~ .custom-control-label::before {\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n\n &:not(:checked) ~ .custom-control-label::before {\n border-color: $color;\n }\n }\n }\n }\n\n // custom file\n .custom-file-input {\n .was-validated &:#{$state},\n &.is-#{$state} {\n ~ .custom-file-label {\n border-color: $color;\n }\n\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n\n &:focus {\n ~ .custom-file-label {\n border-color: $color;\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n }\n }\n }\n }\n}\n", + "// Tables\n\n@mixin table-row-variant($state, $background, $border: null) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table-#{$state} {\n &,\n > th,\n > td {\n background-color: $background;\n }\n\n @if $border != null {\n th,\n td,\n thead th,\n tbody + tbody {\n border-color: $border;\n }\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover {\n $hover-background: darken($background, 5%);\n\n .table-#{$state} {\n @include hover {\n background-color: $hover-background;\n\n > td,\n > th {\n background-color: $hover-background;\n }\n }\n }\n }\n}\n", + "// stylelint-disable declaration-no-important\n\n// Contextual backgrounds\n\n@mixin bg-variant($parent, $color) {\n #{$parent} {\n background-color: $color !important;\n }\n a#{$parent},\n button#{$parent} {\n @include hover-focus {\n background-color: darken($color, 10%) !important;\n }\n }\n}\n\n@mixin bg-gradient-variant($parent, $color) {\n #{$parent} {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\n }\n}\n", + "// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n", + "@mixin box-shadow($shadow...) {\n @if $enable-shadows {\n $result: ();\n\n @if (length($shadow) == 1) {\n // We can pass `@include box-shadow(none);`\n $result: $shadow;\n } @else {\n // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`\n @for $i from 1 through length($shadow) {\n @if nth($shadow, $i) != \"none\" {\n $result: append($result, nth($shadow, $i), \"comma\");\n }\n }\n }\n @if (length($result) > 0) {\n box-shadow: $result;\n }\n }\n}\n", + "// Gradients\n\n@mixin gradient-bg($color) {\n @if $enable-gradients {\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n } @else {\n background-color: $color;\n }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n", + "// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n", + "@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n", + "// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n // Common properties for all breakpoints\n %grid-column {\n position: relative;\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n }\n\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n // Allow columns to stretch full width below their breakpoints\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @extend %grid-column;\n }\n }\n .col#{$infix},\n .col#{$infix}-auto {\n @extend %grid-column;\n }\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; // Reset earlier grid tiers\n }\n\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n .order#{$infix}-first { order: -1; }\n\n .order#{$infix}-last { order: $columns + 1; }\n\n @for $i from 0 through $columns {\n .order#{$infix}-#{$i} { order: $i; }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n }\n}\n", + "/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n", + "// stylelint-disable declaration-no-important\n\n@mixin float-left {\n float: left !important;\n @include deprecate(\"The `float-left` mixin\", \"v4.3.0\", \"v5\");\n}\n@mixin float-right {\n float: right !important;\n @include deprecate(\"The `float-right` mixin\", \"v4.3.0\", \"v5\");\n}\n@mixin float-none {\n float: none !important;\n @include deprecate(\"The `float-none` mixin\", \"v4.3.0\", \"v5\");\n}\n", + ":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n", + "// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Suppress the focus outline on elements that cannot be accessed via keyboard.\n// This prevents an unwanted focus outline from appearing around elements that\n// might still respond to pointer events.\n//\n// Credit: https://github.com/suitcss/base\n[tabindex=\"-1\"]:focus {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href)\n// which have not been made explicitly keyboard-focusable (without tabindex).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n\n @include hover-focus {\n color: inherit;\n text-decoration: none;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Remove the inheritance of word-wrap in Safari.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24990\nselect {\n word-wrap: normal;\n}\n\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n}\n\n// Opinionated: add \"hand\" cursor to non-disabled button elements.\n@if $enable-pointer-cursor-for-buttons {\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n &:not(:disabled) {\n cursor: pointer;\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\n padding: 0; // 2. Remove the padding in IE 10-\n}\n\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n // Remove the default appearance of temporal inputs to avoid a Mobile Safari\n // bug where setting a custom line-height prevents text from being vertically\n // centered within the input.\n // See https://bugs.webkit.org/show_bug.cgi?id=139848\n // and https://github.com/twbs/bootstrap/issues/11266\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto; // Remove the default vertical scrollbar in IE.\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n resize: vertical;\n}\n\nfieldset {\n // Browsers set a default `min-width: min-content;` on fieldsets,\n // unlike e.g. `

`s, which have `min-width: 0;` by default.\n // So we reset that to ensure fieldsets behave more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/59\n // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n min-width: 0;\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\n padding: 0;\n margin: 0;\n border: 0;\n}\n\n// 1. Correct the text wrapping in Edge and IE.\n// 2. Correct the color inheritance from `fieldset` elements in IE.\nlegend {\n display: block;\n width: 100%;\n max-width: 100%; // 1\n padding: 0;\n margin-bottom: .5rem;\n @include font-size(1.5rem);\n line-height: inherit;\n color: inherit; // 2\n white-space: normal; // 1\n}\n\nprogress {\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n}\n\n// Correct the cursor style of increment and decrement buttons in Chrome.\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n outline-offset: -2px; // 2. Correct the outline style in Safari.\n -webkit-appearance: none;\n}\n\n//\n// Remove the inner padding in Chrome and Safari on macOS.\n//\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// 1. Correct the inability to style clickable types in iOS and Safari.\n// 2. Change font properties to `inherit` in Safari.\n//\n\n::-webkit-file-upload-button {\n font: inherit; // 2\n -webkit-appearance: button; // 1\n}\n\n//\n// Correct element displays\n//\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item; // Add the correct display in all browsers\n cursor: pointer;\n}\n\ntemplate {\n display: none; // Add the correct display in IE\n}\n\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\n// Needed for proper display in IE 10-.\n[hidden] {\n display: none !important;\n}\n", + "// stylelint-disable declaration-no-important, selector-list-comma-newline-after\n\n//\n// Headings\n//\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1, .h1 { @include font-size($h1-font-size); }\nh2, .h2 { @include font-size($h2-font-size); }\nh3, .h3 { @include font-size($h3-font-size); }\nh4, .h4 { @include font-size($h4-font-size); }\nh5, .h5 { @include font-size($h5-font-size); }\nh6, .h6 { @include font-size($h6-font-size); }\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n.display-1 {\n @include font-size($display1-size);\n font-weight: $display1-weight;\n line-height: $display-line-height;\n}\n.display-2 {\n @include font-size($display2-size);\n font-weight: $display2-weight;\n line-height: $display-line-height;\n}\n.display-3 {\n @include font-size($display3-size);\n font-weight: $display3-weight;\n line-height: $display-line-height;\n}\n.display-4 {\n @include font-size($display4-size);\n font-weight: $display4-weight;\n line-height: $display-line-height;\n}\n\n\n//\n// Horizontal rules\n//\n\nhr {\n margin-top: $hr-margin-y;\n margin-bottom: $hr-margin-y;\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n}\n\n\n//\n// Emphasis\n//\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\nmark,\n.mark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled;\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size(90%);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $spacer;\n @include font-size($blockquote-font-size);\n}\n\n.blockquote-footer {\n display: block;\n @include font-size($blockquote-small-font-size);\n color: $blockquote-small-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n", + "// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all ``s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid;\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid;\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n", + "// Inline code\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-break: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n @include box-shadow($kbd-box-shadow);\n\n kbd {\n padding: 0;\n @include font-size(100%);\n font-weight: $nested-kbd-font-weight;\n @include box-shadow(none);\n }\n}\n\n// Blocks of code\npre {\n display: block;\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: $pre-scrollable-max-height;\n overflow-y: scroll;\n}\n", + "// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n .container {\n @include make-container();\n @include make-container-max-widths();\n }\n}\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but with 100% width for\n// fluid, full width layouts.\n\n@if $enable-grid-classes {\n .container-fluid {\n @include make-container();\n }\n}\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n }\n\n // Remove the negative margin from default .row, then the horizontal padding\n // from all immediate children columns (to prevent runaway style inheritance).\n .no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n > .col,\n > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n", + "//\n// Basic Bootstrap table\n//\n\n.table {\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\n\n th,\n td {\n padding: $table-cell-padding;\n vertical-align: top;\n border-top: $table-border-width solid $table-border-color;\n }\n\n thead th {\n vertical-align: bottom;\n border-bottom: (2 * $table-border-width) solid $table-border-color;\n }\n\n tbody + tbody {\n border-top: (2 * $table-border-width) solid $table-border-color;\n }\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n th,\n td {\n padding: $table-cell-padding-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n\n.table-bordered {\n border: $table-border-width solid $table-border-color;\n\n th,\n td {\n border: $table-border-width solid $table-border-color;\n }\n\n thead {\n th,\n td {\n border-bottom-width: 2 * $table-border-width;\n }\n }\n}\n\n.table-borderless {\n th,\n td,\n thead th,\n tbody + tbody {\n border: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n tbody tr:nth-of-type(#{$table-striped-order}) {\n background-color: $table-accent-bg;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n tbody tr {\n @include hover {\n color: $table-hover-color;\n background-color: $table-hover-bg;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n@each $color, $value in $theme-colors {\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\n}\n\n@include table-row-variant(active, $table-active-bg);\n\n\n// Dark styles\n//\n// Same table markup, but inverted color scheme: dark background and light text.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.table {\n .thead-dark {\n th {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n border-color: $table-dark-border-color;\n }\n }\n\n .thead-light {\n th {\n color: $table-head-color;\n background-color: $table-head-bg;\n border-color: $table-border-color;\n }\n }\n}\n\n.table-dark {\n color: $table-dark-color;\n background-color: $table-dark-bg;\n\n th,\n td,\n thead th {\n border-color: $table-dark-border-color;\n }\n\n &.table-bordered {\n border: 0;\n }\n\n &.table-striped {\n tbody tr:nth-of-type(odd) {\n background-color: $table-dark-accent-bg;\n }\n }\n\n &.table-hover {\n tbody tr {\n @include hover {\n color: $table-dark-hover-color;\n background-color: $table-dark-hover-bg;\n }\n }\n }\n}\n\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n.table-responsive {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $grid-breakpoints);\n\n &#{$infix} {\n @include media-breakpoint-down($breakpoint) {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n\n // Prevent double border on horizontal scroll due to use of `display: block;`\n > .table-bordered {\n border: 0;\n }\n }\n }\n }\n}\n", + "// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n display: block;\n width: 100%;\n height: $input-height;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n\n // Note: This has no effect on `s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n // Unstyle the caret on ` receives focus\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n // match the appearance of the native widget.\n // See https://github.com/twbs/bootstrap/issues/19398.\n color: $input-color;\n background-color: $input-bg;\n }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: calc(#{$input-padding-y} + #{$input-border-width});\n padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});\n margin-bottom: 0; // Override the `
+ {% endblock %} From 773f9abd67f5f3b91e73ffb9c694013f1e07b07d Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 21 Dec 2025 13:51:03 +0200 Subject: [PATCH 27/82] added Comment Delete bttn on Comments section --- frisson_music/urls.py | 5 +++- frisson_music/views.py | 15 ++++++++++-- templates/frisson_music/album_detail.html | 29 ++++++++++++----------- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/frisson_music/urls.py b/frisson_music/urls.py index e44887f..54b6e96 100644 --- a/frisson_music/urls.py +++ b/frisson_music/urls.py @@ -1,5 +1,6 @@ -from django.contrib.auth.views import LoginView, LogoutView from django.urls import path, include + +from . import views from .views import ( HomePageView, AlbumListView, @@ -23,4 +24,6 @@ name="album-update"), path("albums//", AlbumListView.as_view(), name="album-list-by-type"), + path("comment//delete/", views.delete_comment, + name="delete-comment"), ] diff --git a/frisson_music/views.py b/frisson_music/views.py index 8ef0b44..59aaaea 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -1,5 +1,6 @@ +from django.contrib.auth.decorators import login_required from django.contrib.auth.mixins import LoginRequiredMixin -from django.shortcuts import redirect +from django.shortcuts import redirect, get_object_or_404 from django.urls import reverse_lazy, reverse from django.views.generic import ( ListView, @@ -16,7 +17,7 @@ CommentForm, RatingForm ) -from .models import Album, User, Rating +from .models import Album, User, Rating, Comment class HomePageView(TemplateView): @@ -147,3 +148,13 @@ class UserUpdateView(LoginRequiredMixin, UpdateView): def get_object(self, queryset=None): return self.request.user + + +@login_required +def delete_comment(request, comment_id): + comment = get_object_or_404(Comment, id=comment_id) + if comment.user == request.user: + album_id = comment.album.id + comment.delete() + return redirect("album-detail", pk=album_id) + return redirect("album-detail", pk=comment.album.id) diff --git a/templates/frisson_music/album_detail.html b/templates/frisson_music/album_detail.html index 4d271ef..6ffa931 100644 --- a/templates/frisson_music/album_detail.html +++ b/templates/frisson_music/album_detail.html @@ -22,12 +22,12 @@

{{ album.album_title }}

-
Media type
+
Media Type
{{ album.media_type }}
-
Media title
+
Media Title
{{ album.media_title }}
@@ -58,7 +58,7 @@

{{ album.album_title }}

-
Release date
+
Release Date
{{ album.release_date }}
@@ -144,20 +144,21 @@

Comments

{% endif %} {% for comment in comments %} -
- -
+
+
{{ comment.user.username }} - - {{ comment.created_at|date:"d.m.Y H:i" }} - + • {{ comment.created_at|date:"M d, Y H:i" }} +

{{ comment.text }}

- -

{{ comment.text }}

- + {% if comment.user == user %} +
+
+ {% csrf_token %} + +
+
+ {% endif %}
- {% empty %} -

No comments yet. Be the first!.

{% endfor %}
From 4fa52ad57875493cae04925de76a3f87f2527f47 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 21 Dec 2025 15:30:20 +0200 Subject: [PATCH 28/82] added Search by Album name --- frisson_music/views.py | 4 +++ static/assets/css/black-dashboard.css | 52 +++++++++++++++++++++++++++ templates/includes/navbar.html | 37 +++++++++++++------ 3 files changed, 83 insertions(+), 10 deletions(-) diff --git a/frisson_music/views.py b/frisson_music/views.py index 59aaaea..dcc262f 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -51,10 +51,14 @@ class AlbumListView(ListView): def get_queryset(self): queryset = super().get_queryset() album_type = self.kwargs.get("album_type") + search_query = self.request.GET.get("search") if album_type: queryset = queryset.filter(media_type=album_type) + if search_query: + queryset = queryset.filter(album_title__icontains=search_query) + return queryset diff --git a/static/assets/css/black-dashboard.css b/static/assets/css/black-dashboard.css index 499a5a5..79802af 100644 --- a/static/assets/css/black-dashboard.css +++ b/static/assets/css/black-dashboard.css @@ -20490,4 +20490,56 @@ Copyright (c) 2015 Daniel Eden display: inline-block; } +/* ===== SEARCH IN NAVBAR ===== */ + +.search-input-navbar { + width: 240px; + height: 36px; + background-color: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.25); + color: #ffffff; + margin-right: 6px; +} + +.search-input-navbar::placeholder { + color: rgba(255, 255, 255, 0.6); +} + +.search-input-navbar:focus { + background-color: rgba(255, 255, 255, 0.15); + border-color: #ffffff; + box-shadow: none; + color: #ffffff; +} + +/* SEARCH ICON */ +.search-button-navbar { + padding: 0; +} + +.search-button-navbar i { + font-size: 20px; + color: rgba(255, 255, 255, 0.85); +} + +.search-button-navbar:hover i { + color: #ffffff; +} + +/* ===== USER BADGE ===== */ + +.user-badge { + background-color: rgba(255, 255, 255, 0.12); + color: #ffffff; + font-weight: 600; + padding: 6px 14px; + border-radius: 20px; +} + +.user-badge:hover { + background-color: rgba(255, 255, 255, 0.22); + color: #ffffff; + text-decoration: none; +} + /*# sourceMappingURL=dashboard-free.css.map */ diff --git a/templates/includes/navbar.html b/templates/includes/navbar.html index 35c5dad..222dd62 100644 --- a/templates/includes/navbar.html +++ b/templates/includes/navbar.html @@ -17,22 +17,39 @@ From d7db840c0c52e76dfe657262bf832ae3bdfb26e1 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 21 Dec 2025 20:50:28 +0200 Subject: [PATCH 32/82] added Favicon --- static/assets/img/favicon.png | Bin 2761 -> 561782 bytes templates/base.html | 1 + templates/includes/footer.html | 6 +++--- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/static/assets/img/favicon.png b/static/assets/img/favicon.png index 7d8b7d072215eadc900d6e9e74e51971ea9895e7..daba1d5cea2d8cba8a5325e1ddfaa0ddb089ee7a 100644 GIT binary patch literal 561782 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

TU;j|y;D%uTKtun|BKCct)N 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

r07 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 literal 2761 zcmZ{m2~<;O7RO&g0wF9B2%Dg+mLQOoH6lwOVG%IwOOeHpkf`hd6c7>+P!Nbhtst_4 z%m7k^wop*0)XJc;MzjhV!Io8xpb`aP9zAo;I6c$zzWeU^zWe+C@AtNI-Z{FLivn^t z5&!@NH&p;ouyS-^nMhDmUV^16A+Zr%o*g&USmPv1gmm?z^38V8c#bez|o8 z?ykCTrP|&7{Y8Ni9f_u%p5ZRtGl2iud?Z5P;4s|Mh-ftPEH&ro^2sq14G#uWR=!V- zmb^%hJE%Fj@?_)nQbxmtSNB&|t|q-cHBFkAmLJ6b-ywa$r(FhLQwEVSEW(<@yYlrS zo3s^ezD}LKRtjN;v-H#vptu`3KdvjP3YM}Fd zY{+4V6;#LhtMBFgHalRI@Z!eeV3EH_Ij2z&DN2htQ1QDAZymZZc3;P3ul{hx^_T5e zA;ms-8EE5($5}5Fv(~(`V6o0m!YS7msSRiA2a<+DMj+~fiLk?EyqGP`IQTQEKDloA z191Ybnzlm2F6vfP_JHC8;!EUkwBCb~+VXfQ;vHmx(l(?Ds`&AFI4q1dHI64OKoq+b zALoR=-ryY&j2ZEimeLDt^Z2O-sEID<)J7x6q}=(^nwO{(6K4CWq<%ndh=NUZ>wd2R z-Wo`(3#DJdm{B%$;}^u^613P5uF_rweI~pOxDWZ=y^!0dDbc8q9R*7CmaU6h>z@)B zh;GdXV<@Rqsb0aD6?t;GL*Y)LtjK-b;YJysv;87PB#1+%8SLY(>9*A}YzglVwaX-~jyf}vxQ_H?< z)f>J09GW5BSbMdiC|DmYVU1CY8amoo9tIfAlL$%Q_UVSgQB~`l8@H49?bU&79a?9( zK0E)>?#7t_*!QXuwAf@@bTh4Lzc{+9D#*zafig(C%65C+M&J{h3I`t17a8>)Qq{1% z4sySSsqHz0QJpDICARR)wq_GiGV+No)ehz3D1m>&T=rbZG6I5nNzsAX75O|!`L&c) z?u#ufMNZ zlWM~)KVHZ`wQ?e(w@RsY_5R5Z&LNO}S>u<&N-T5hw^>P~GqX&aH_j3A-_SRH{w%NG z^A^*_OK9L_A_j73*|Wk5by6^V<+f>!iXq0anRWOwoSP48tX5Esmulj932O93i65K; zAfL-13d)4EJzqET=tZHU_gIX%Uz!&&}fuX80faPx8EapP8O;{L5o zjn7sW{=l#&6p%sA3cjDGXeakdw9<_5caGWran`Q?I-FPG6}b zq}C*I3U%vIM~$>CYExUHltxmk4YJ^ecxWqss?^CkkB(QnIaJmRA;n=;2N_&{D zC^0&A?Wu4OG78xSG7+0oD7%?GN@Tg!lp0%9hE!1e$V>@&Romg>ORFI3Z`=UrvE%>hHD)&+SCLJ`l|Y|Uwzh&33;aE2Y~8XW80a!oJg;*l+b z9(E-=KKmz&OgG1z;IOwbi1+M~v1h4L_l9ORVG>2+z0#L`4QwmBp($R{NYCI%4+BHe zq+Qkh-Ow#mi&X6(zbSWz_w6cn$ajD^T>Iu|^3Rhkbx^Ni@lR}5{HQ{yp{zGL zcRn4`(>REsySOSjZLOySXR0<%^gAuS-@VF`*e+G~JFJ=M$trJ}uvKV7P_N0sJ!J`- zA&vXa)h$59MqSBEy2loNQaNcqT#|Dxp3$vG;un?2=hQ5Z^bgevDPx%)Dr*YQI(5yk%bW#C*N}W|WM8ND~l;g}C2@K157| zYj?Z8++`#CJqiyeTU-b8$0$pew>NA*2L~TP=}~X3RL>K-?nbB|dpcdXJ9qtKmfY7t zllg1Jv|`AJx7&<)3sZk zCRpjk5ei!MX;*~HY1wIxOc?w{8$0J0)qrr*zOb3XNR7O|8-#^Toz>sYsWnVey}_T0 zeOzh~H!70LBr_73U;>DEf`u90#*Ap;M<9`jL^8?R1dk`<@w}ynga0FliHqW}PW`>$ z?T;~8pn$g1At{cj!&{gUh`QbcOI@wIP^CMp@gKvm%)!Jn<;Q cGLpo=f(k6SzeC0bDPRY{jq2rmof47#Z*)qME&u=k diff --git a/templates/base.html b/templates/base.html index 4e2be19..d383bac 100644 --- a/templates/base.html +++ b/templates/base.html @@ -4,6 +4,7 @@ + {% block title %}Frisson Music{% endblock %} diff --git a/templates/includes/footer.html b/templates/includes/footer.html index be4c9a8..9e0a4c5 100644 --- a/templates/includes/footer.html +++ b/templates/includes/footer.html @@ -4,17 +4,17 @@

- Frisson Music + Frisson Music
From a371b6ddb96ec155f841ebc95cf96856424ab63f Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 22 Dec 2025 15:03:38 +0200 Subject: [PATCH 39/82] added background image on head block on Home Page --- templates/frisson_music/home.html | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/templates/frisson_music/home.html b/templates/frisson_music/home.html index 03fa12e..62410a9 100644 --- a/templates/frisson_music/home.html +++ b/templates/frisson_music/home.html @@ -5,12 +5,18 @@
-
-
+
+ +

Frisson Music

-

+

“Because OSTs deserve structure”

From dccc125f640bfa1a80ad6a1cefe4c81d1659a2e1 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 22 Dec 2025 15:34:58 +0200 Subject: [PATCH 40/82] fixed Sidebar Toggle on mobile portrait view --- frisson_music_service/settings.py | 1 + templates/base.html | 54 ++++++++++++++++++------------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/frisson_music_service/settings.py b/frisson_music_service/settings.py index 4d896a5..36f8a41 100644 --- a/frisson_music_service/settings.py +++ b/frisson_music_service/settings.py @@ -38,6 +38,7 @@ 'django.contrib.messages', 'django.contrib.staticfiles', "frisson_music", + "bootstrap4", ] MIDDLEWARE = [ diff --git a/templates/base.html b/templates/base.html index 8b74cec..af2b2e5 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,43 +1,53 @@ {% load static %} +{% load bootstrap4 %} - {% block title %}Frisson Music{% endblock %} + {% bootstrap_css %} - - - + + -
- - {% include "includes/sidebar.html" %} - -
- - {% include "includes/navbar.html" %} +
+ {% include "includes/sidebar.html" %} -
- {% block content %}{% endblock %} -
- - {% include "includes/pagination.html" %} - - {% include "includes/footer.html" %} +
+ {% include "includes/navbar.html" %} +
+ {% block content %}{% endblock %}
+ + {% include "includes/pagination.html" %} + {% include "includes/footer.html" %}
+
+ + + + + + + + +{% bootstrap_javascript jquery='true' %} + + + - - - - From 03591df1b765a1fc3f2fad2d84921cd9304874df Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 22 Dec 2025 15:37:26 +0200 Subject: [PATCH 41/82] added general info about project to README.md & DB_Diagram.drawio, DB_Diagram.drawio.png files --- DB_Diagram.drawio | 136 ++++++++++++++++++++++++++++++++++++++++++ DB_Diagram.drawio.png | Bin 0 -> 55016 bytes README.md | 62 ++++++++++++++++++- 3 files changed, 197 insertions(+), 1 deletion(-) create mode 100644 DB_Diagram.drawio create mode 100644 DB_Diagram.drawio.png diff --git a/DB_Diagram.drawio b/DB_Diagram.drawio new file mode 100644 index 0000000..b787f56 --- /dev/null +++ b/DB_Diagram.drawio @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DB_Diagram.drawio.png b/DB_Diagram.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..6aad5b6fc07ff693349738fc1df3ecfc39a4e355 GIT binary patch literal 55016 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index e1e4812..958270f 100644 --- a/README.md +++ b/README.md @@ -1 +1,61 @@ -# frisson-music +# Frisson Music + +**Frisson Music** is a community-driven OST hub where users can discover, rate, and comment on soundtracks from movies, series, anime, and games. The platform is designed to provide structured and accurate information about OST albums, allowing the community to collaboratively maintain and improve the database. + +--- + +## Project Overview + +- **Purpose:** + Frisson Music aims to provide a clean and structured mapping of OST albums to their respective media (movies, series, anime, games), including season/part information, release dates, artists, and tracklists. + +- **Community-driven:** + Users can add new albums or edit existing ones, but all submissions must be verified for accuracy. Incorrect or misleading data can result in account suspension. + +- **Key Features:** + - Browse albums by media type or media title. + - Filter and search albums by title. + - Rate albums with a 1-5 star system. + - Leave comments on albums. + - Display average ratings and personal ratings. + - Pagination for large album lists. + - Dark theme with consistent UI styling. + - Fully responsive design using Bootstrap. + +--- + +## Technical Details + +- **Framework:** Django 6.0 +- **Database:** SQLite (development) / Postgres or MySQL (production) +- **Frontend:** Bootstrap 5, custom CSS, JavaScript for interactive rating stars +- **API Integration:** Spotify API (optional) for populating albums +- **Templates:** Jinja2/Django templates, consistent dark theme +- **Static Files:** Stored in `static/`, including CSS, JS, and images +- **Templates:** Stored in `templates/frisson_music/` + +--- + +## Populating the Database + +- Edit `populate_db.py` file to use your own search parameters +- Use `python populate_db.py` command to run script + +--- + +## UI Template + +- https://demos.creative-tim.com/black-dashboard/examples/dashboard.html + +--- + +## Data Base Diagram + +![Data_Base_Diagram](DB_Diagram.drawio.png) + +--- + +## Test Users + +- superuser `mine@gmail.com` `qqq333qqq` +- other `test@gmail.com` `poiuy098` \ No newline at end of file From 66f4ee84cbd0f7b4ac651235d895c851d1add83e Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 22 Dec 2025 15:39:37 +0200 Subject: [PATCH 42/82] added requirements.txt --- requirements.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..86380ae --- /dev/null +++ b/requirements.txt @@ -0,0 +1,44 @@ +arrow==1.4.0 +asgiref==3.11.0 +beautifulsoup4==4.14.3 +binaryornot==0.4.4 +certifi==2025.11.12 +chardet==5.2.0 +charset-normalizer==3.4.4 +click==8.3.1 +colorama==0.4.6 +cookiecutter==2.6.0 +Django==6.0 +django-bootstrap4==25.3 +django-browser-reload==1.21.0 +django-tailwind==4.4.2 +flake8==7.3.0 +idna==3.11 +iniconfig==2.3.0 +Jinja2==3.1.6 +markdown-it-py==4.0.0 +MarkupSafe==3.0.3 +mccabe==0.7.0 +mdurl==0.1.2 +packaging==25.0 +pluggy==1.6.0 +pycodestyle==2.14.0 +pyflakes==3.4.0 +Pygments==2.19.2 +pytailwindcss==0.3.0 +pytest==9.0.2 +pytest-django==4.11.1 +python-dateutil==2.9.0.post0 +python-slugify==8.0.4 +PyYAML==6.0.3 +redis==7.1.0 +requests==2.32.5 +rich==14.2.0 +six==1.17.0 +soupsieve==2.8.1 +spotipy==2.25.2 +sqlparse==0.5.4 +text-unidecode==1.3 +typing_extensions==4.15.0 +tzdata==2025.3 +urllib3==2.6.2 From 4b6c00c673898be03c98e3975b32061ca03eee04 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 22 Dec 2025 15:49:04 +0200 Subject: [PATCH 43/82] added favicon --- templates/base.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/base.html b/templates/base.html index af2b2e5..41dd1fe 100644 --- a/templates/base.html +++ b/templates/base.html @@ -6,6 +6,8 @@ + + {% block title %}Frisson Music{% endblock %} {% bootstrap_css %} From 7bd745190688790066fd504e0f009cd19064972e Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 12:18:17 +0200 Subject: [PATCH 44/82] updated script in populate_db.py --- populate_db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/populate_db.py b/populate_db.py index e47a390..2aa728a 100644 --- a/populate_db.py +++ b/populate_db.py @@ -10,8 +10,8 @@ from frisson_music.models import Album # --- Spotify setup --- -CLIENT_ID = "747ee443bedf429aade7446a318b7085" -CLIENT_SECRET = "08eef7f7800d47f2a0bb0eff7c8a3645" +CLIENT_ID = "Your_spotify_client_id" +CLIENT_SECRET = "Your_spotify_client_secret" auth_manager = SpotifyClientCredentials(client_id=CLIENT_ID, client_secret=CLIENT_SECRET) sp = spotipy.Spotify(auth_manager=auth_manager) From 604766ed240ada44f6efeaec9367e2f9775c5b4d Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 12:20:11 +0200 Subject: [PATCH 45/82] added python, django, pycharm to .gitignore --- .gitignore | 357 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 353 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index bc8f773..b177cbe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,354 @@ -.idea -.venv -**__pycache__ -.cache +# Created by https://www.toptal.com/developers/gitignore/api/python,django,pycharm+all +# Edit at https://www.toptal.com/developers/gitignore?templates=python,django,pycharm+all + +### Django ### +*.log +*.pot +*.pyc +__pycache__/ +local_settings.py db.sqlite3 +db.sqlite3-journal +media + +# If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/ +# in your Git repository. Update and uncomment the following line accordingly. +# /staticfiles/ + +### Django.Python Stack ### +# Byte-compiled / optimized / DLL files +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo + +# Django stuff: + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### PyCharm+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# SonarLint plugin +.idea/sonarlint/ + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### PyCharm+all Patch ### +# Ignore everything but code style settings and run configurations +# that are supposed to be shared within teams. + +.idea/* + +!.idea/codeStyles +!.idea/runConfigurations + +### Python ### +# Byte-compiled / optimized / DLL files + +# C extensions + +# Distribution / packaging + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. + +# Installer logs + +# Unit test / coverage reports + +# Translations + +# Django stuff: + +# Flask stuff: + +# Scrapy stuff: + +# Sphinx documentation + +# PyBuilder + +# Jupyter Notebook + +# IPython + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm + +# Celery stuff + +# SageMath parsed files + +# Environments + +# Spyder project settings + +# Rope project settings + +# mkdocs documentation + +# mypy + +# Pyre type checker + +# pytype static type analyzer + +# Cython debug symbols + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +# End of https://www.toptal.com/developers/gitignore/api/python,django,pycharm+all From 2b0e82ba8d92e24fe670c19089c2bf5a70d10b83 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 12:43:11 +0200 Subject: [PATCH 46/82] added additional info about project to README.md --- README.md | 112 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 78 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 958270f..435c01d 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,105 @@ -# Frisson Music +# 🎵 Frisson Music -**Frisson Music** is a community-driven OST hub where users can discover, rate, and comment on soundtracks from movies, series, anime, and games. The platform is designed to provide structured and accurate information about OST albums, allowing the community to collaboratively maintain and improve the database. +**Frisson Music** is a community-driven OST hub for discovering, rating, and discussing soundtracks from movies, series, anime, and games. + +The main goal of the project is to solve a common problem: **lack of structured and accurate OST-to-media mapping**. +Here, albums are clearly linked to media, seasons, parts, and release context — and maintained collaboratively by the community. --- -## Project Overview +## 🚀 Features + +- Browse OST albums by: + - Media type (Movie / Series / Anime / Game) + - Specific media title +- Search albums by title +- Rate albums using a 1–5 star system +- View: + - Average album rating + - Your personal rating +- Leave comments on albums +- Pagination for large album lists +- Dark-themed UI based on **Black Dashboard** +- Fully responsive layout (desktop & mobile) +- Community-driven moderation: + - Users can suggest edits + - Incorrect or misleading data may result in account suspension -- **Purpose:** - Frisson Music aims to provide a clean and structured mapping of OST albums to their respective media (movies, series, anime, games), including season/part information, release dates, artists, and tracklists. +--- -- **Community-driven:** - Users can add new albums or edit existing ones, but all submissions must be verified for accuracy. Incorrect or misleading data can result in account suspension. +## 🧠 Project Philosophy -- **Key Features:** - - Browse albums by media type or media title. - - Filter and search albums by title. - - Rate albums with a 1-5 star system. - - Leave comments on albums. - - Display average ratings and personal ratings. - - Pagination for large album lists. - - Dark theme with consistent UI styling. - - Fully responsive design using Bootstrap. +Frisson Music is built around **community trust and data accuracy**. ---- +Instead of chaotic OST dumps, the platform enforces a structured hierarchy: -## Technical Details +Media → Seasons / Parts → OST Albums → Tracks -- **Framework:** Django 6.0 -- **Database:** SQLite (development) / Postgres or MySQL (production) -- **Frontend:** Bootstrap 5, custom CSS, JavaScript for interactive rating stars -- **API Integration:** Spotify API (optional) for populating albums -- **Templates:** Jinja2/Django templates, consistent dark theme -- **Static Files:** Stored in `static/`, including CSS, JS, and images -- **Templates:** Stored in `templates/frisson_music/` +This allows users to: +- Clearly understand where an OST belongs +- Avoid duplicated or incorrectly labeled albums +- Maintain high-quality metadata over time --- -## Populating the Database +## 🛠 Tech Stack + +- **Backend:** Django +- **Database:** + - SQLite (development) + - PostgreSQL / MySQL (production) +- **Frontend:** + - Bootstrap + - Custom CSS + - JavaScript (interactive rating stars) +- **UI Template:** + - Black Dashboard (Creative Tim) +- **Static files:** + - CSS, JS, icons, images stored in `static/` +- **Templates:** + - Django templates + +--- + +## 🔌 Spotify API Integration + +The project supports optional database population via **Spotify API**. + +### Populate Database - Edit `populate_db.py` file to use your own search parameters -- Use `python populate_db.py` command to run script +1. Configure Spotify credentials +2. Edit search parameters inside: + +- Use `python populate_db.py` command to run script (bash) --- -## UI Template +## Test Users -- https://demos.creative-tim.com/black-dashboard/examples/dashboard.html +- superuser `mine@gmail.com` `qqq333qqq` +- other `test@gmail.com` `poiuy098` --- -## Data Base Diagram +## 📦 Installation (Development) -![Data_Base_Diagram](DB_Diagram.drawio.png) +- `git clone https://github.com/your-username/frisson_music.git` +- `cd frisson_music` +- `python -m venv venv` +- `source venv/bin/activate` # Windows: `venv\Scripts\activate` +- `pip install -r requirements.txt` +- `python manage.py migrate` +- `python manage.py runserver` --- -## Test Users +## UI Template -- superuser `mine@gmail.com` `qqq333qqq` -- other `test@gmail.com` `poiuy098` \ No newline at end of file +- https://demos.creative-tim.com/black-dashboard/examples/dashboard.html + +--- + +## Data Base Diagram + +![Data_Base_Diagram](DB_Diagram.drawio.png) From 9fd6a0ea50b70bd7727738f1188c968edc3da4ec Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 13:16:04 +0200 Subject: [PATCH 47/82] changed User Registration success_url to Rules Page --- frisson_music/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frisson_music/views.py b/frisson_music/views.py index e5d4f6e..f84c75e 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -191,7 +191,7 @@ def get_context_data(self, **kwargs): class RegisterView(CreateView): form_class = CustomUserCreationForm template_name = "registration/register.html" - success_url = reverse_lazy("login") + success_url = reverse_lazy("rules") class UserUpdateView(LoginRequiredMixin, UpdateView): From 71fc5fcf85914237039cec823c402d93d3f5920c Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 13:25:33 +0200 Subject: [PATCH 48/82] updated settings.py --- frisson_music_service/settings.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frisson_music_service/settings.py b/frisson_music_service/settings.py index 36f8a41..40b6479 100644 --- a/frisson_music_service/settings.py +++ b/frisson_music_service/settings.py @@ -9,7 +9,7 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/6.0/ref/settings/ """ - +import os from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. @@ -20,12 +20,12 @@ # See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-03*b0goqp7ol4746c@qx=)#yy&d2x#120^jw@embrqrcbybtjt' +SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", 'django-insecure-03*b0goqp7ol4746c@qx=)#yy&d2x#120^jw@embrqrcbybtjt') # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = os.environ.get("DJANGO_DEBUG", "") != "False" -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ["127.0.0.1"] # Application definition From 1df23357bdc6c568a7c739ba3dacc737e9c93d64 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 17:38:07 +0200 Subject: [PATCH 49/82] added settings directory --- frisson_music_service/settings/__init__.py | 0 .../{settings.py => settings/base.py} | 18 +-------------- frisson_music_service/settings/dev.py | 18 +++++++++++++++ frisson_music_service/settings/prod.py | 22 +++++++++++++++++++ 4 files changed, 41 insertions(+), 17 deletions(-) create mode 100644 frisson_music_service/settings/__init__.py rename frisson_music_service/{settings.py => settings/base.py} (87%) create mode 100644 frisson_music_service/settings/dev.py create mode 100644 frisson_music_service/settings/prod.py diff --git a/frisson_music_service/settings/__init__.py b/frisson_music_service/settings/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/frisson_music_service/settings.py b/frisson_music_service/settings/base.py similarity index 87% rename from frisson_music_service/settings.py rename to frisson_music_service/settings/base.py index 40b6479..0ecb357 100644 --- a/frisson_music_service/settings.py +++ b/frisson_music_service/settings/base.py @@ -13,7 +13,7 @@ from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent +BASE_DIR = Path(__file__).resolve().parent.parent.parent # Quick-start development settings - unsuitable for production @@ -22,11 +22,6 @@ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", 'django-insecure-03*b0goqp7ol4746c@qx=)#yy&d2x#120^jw@embrqrcbybtjt') -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = os.environ.get("DJANGO_DEBUG", "") != "False" - -ALLOWED_HOSTS = ["127.0.0.1"] - # Application definition @@ -72,17 +67,6 @@ WSGI_APPLICATION = 'frisson_music_service.wsgi.application' -# Database -# https://docs.djangoproject.com/en/6.0/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', - } -} - - # Password validation # https://docs.djangoproject.com/en/6.0/ref/settings/#auth-password-validators diff --git a/frisson_music_service/settings/dev.py b/frisson_music_service/settings/dev.py new file mode 100644 index 0000000..04d52f5 --- /dev/null +++ b/frisson_music_service/settings/dev.py @@ -0,0 +1,18 @@ +from .base import * + + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Database +# https://docs.djangoproject.com/en/6.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} diff --git a/frisson_music_service/settings/prod.py b/frisson_music_service/settings/prod.py new file mode 100644 index 0000000..5e3e819 --- /dev/null +++ b/frisson_music_service/settings/prod.py @@ -0,0 +1,22 @@ +from .base import * + + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = False + +ALLOWED_HOSTS = ["127.0.0.1", "localhost"] + + +# Database +# https://docs.djangoproject.com/en/6.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': os.environ['POSTGRES_DB'], + 'USER': os.environ['POSTGRES_USER'], + 'PASSWORD': os.environ['POSTGRES_PASSWORD'], + 'HOST': os.environ['POSTGRES_HOST'], + 'PORT': int(os.environ['POSTGRES_DB_PORT']), + } +} From 38101911a498b6168c8598f1b68f3c76302052cf Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 17:45:28 +0200 Subject: [PATCH 50/82] added manage.py --- manage.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manage.py b/manage.py index 132c624..94e12d3 100644 --- a/manage.py +++ b/manage.py @@ -3,10 +3,14 @@ import os import sys +from dotenv import load_dotenv + + +load_dotenv() def main(): """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings') + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings.dev') try: from django.core.management import execute_from_command_line except ImportError as exc: From 861cd5747f72a53941d3c2169a091d6b5b6c4d0d Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 18:10:20 +0200 Subject: [PATCH 51/82] implemented Connect to PostgreSQL Database --- .env.sample | 6 + dump.json | 1292 ++++++++++++++++++++ frisson_music_service/settings/__init__.py | 3 + manage.py | 2 +- requirements.txt | 2 + 5 files changed, 1304 insertions(+), 1 deletion(-) create mode 100644 .env.sample create mode 100644 dump.json diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..4321072 --- /dev/null +++ b/.env.sample @@ -0,0 +1,6 @@ +# DB +POSTGRES_DB= +POSTGRES_DB_PORT= +POSTGRES_USER= +POSTGRES_PASSWORD= +POSTGRES_HOST= diff --git a/dump.json b/dump.json new file mode 100644 index 0000000..489c5bb --- /dev/null +++ b/dump.json @@ -0,0 +1,1292 @@ +[ +{ + "model": "frisson_music.user", + "pk": 1, + "fields": { + "password": "pbkdf2_sha256$1200000$3bGeIy2bBXAVZu9KpMtC9w$7KF2CKEySFOKhxDI/LgMg5VBqaP2b0nQEUygZA3BtDo=", + "last_login": "2025-12-22T13:58:38.549Z", + "is_superuser": false, + "username": "lololoolo", + "first_name": "", + "last_name": "", + "is_staff": false, + "is_active": true, + "date_joined": "2025-12-20T16:36:18.731Z", + "email": "test@gmail.com", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "frisson_music.user", + "pk": 2, + "fields": { + "password": "pbkdf2_sha256$1200000$z9EI7GDPY8pzQUl7vB6KVI$OsI3rrJ5lvcAtsLU1QdDsN15+9GjJp2xEZllTGs2Qxc=", + "last_login": "2025-12-22T13:55:15.969Z", + "is_superuser": true, + "username": "admin", + "first_name": "Ivan", + "last_name": "Ventyk", + "is_staff": true, + "is_active": true, + "date_joined": "2025-12-20T16:39:03.791Z", + "email": "mine@gmail.com", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "frisson_music.user", + "pk": 3, + "fields": { + "password": "pbkdf2_sha256$1200000$U3S5342jiP385wr7EUgKZX$6WY8g/SlZVvXjWfd0sTdeim6aC4cClMV5Ro58sP1chE=", + "last_login": null, + "is_superuser": false, + "username": "lskasjdadf", + "first_name": "", + "last_name": "", + "is_staff": false, + "is_active": true, + "date_joined": "2025-12-20T18:18:20.497Z", + "email": "test1@gmail.com", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "frisson_music.user", + "pk": 4, + "fields": { + "password": "pbkdf2_sha256$1200000$1GOGNmxhnW772VZQF4zMl8$vHwgMzmlCIzF0pbaW0QPitmCZy9w7zQSeUassa5+jSg=", + "last_login": null, + "is_superuser": false, + "username": "jffevvf", + "first_name": "", + "last_name": "", + "is_staff": false, + "is_active": true, + "date_joined": "2025-12-23T11:10:21.261Z", + "email": "test2@gmail.com", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "frisson_music.user", + "pk": 5, + "fields": { + "password": "pbkdf2_sha256$1200000$3mXeSOOewFM0FO19gKrATm$UU6eZhzjRQpClWUDHpc94TbhJooEc309IkbWbrfQuDY=", + "last_login": null, + "is_superuser": false, + "username": "ergeggt", + "first_name": "", + "last_name": "", + "is_staff": false, + "is_active": true, + "date_joined": "2025-12-23T11:12:45.658Z", + "email": "test3@gmail.com", + "groups": [], + "user_permissions": [] + } +}, +{ + "model": "frisson_music.album", + "pk": 1, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Evangelion Finally", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2736df828bb10343f7bad08d4fe", + "part_or_season": "Unknown", + "release_date": "2020-12-04", + "artists": "Various Artists", + "tracklist": "The Cruel Angel's Thesis\nFLY ME TO THE MOON - YOKO TAKAHASHI Acid Bossa Version\nSoul's Refrain\nTHANATOS -IF I CAN'T BE YOURS-\nKOMM, SUSSER TOD - M-10 Director's Edit Version\nKYOU NO HI WA SAYOUNARA\nTSUBASA WO KUDASAI\nFLY ME TO THE MOON - 2020 Version\nKokoro yo Genshi ni Modore 2020\nMugen Houyou\nShiawase wa Tsumi no Nioi\nCome sweet death, second impact\nDilemmatic triangle opera\nThe Image of black me\nDilemmatic triangle opera - AYANAMI Version", + "total_tracks": 15, + "spotify_url": "https://open.spotify.com/album/3MRZ3T8TutKAlQK0d7mqho", + "created_at": "2025-12-20T15:51:56.234Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 2, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Evangelion", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273da7266038e1344839993bdcc", + "part_or_season": "Unknown", + "release_date": "2009-08-07", + "artists": "Behemoth", + "tracklist": "Daimonos\nShemhamforash\nOv Fire and the Void\nTransmigrating Beyond Realms Ov Amenti\nHe Who Breeds Pestilence\nThe Seed Ov I\nAlas, Lord Is Upon Me\nDefiling Morality Ov Black God\nLucifer", + "total_tracks": 9, + "spotify_url": "https://open.spotify.com/album/7k6KxkfxwJuUecA41Xe2QL", + "created_at": "2025-12-20T15:51:56.420Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 3, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NEON GENESIS EVANGELION III (Original Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2730c14a66e27297138c08f7695", + "part_or_season": "Unknown", + "release_date": "2023-01-27", + "artists": "Shiro SAGISU", + "tracklist": "Shiawase wa Tsumi no Nioi\nMugen Houyou\nNORMAL BLOOD\nHARBINGER OF TRAGEDY\nCHILDHOOD MEMORIES, SHUT AWAY\nThose women longed for the touch of others' lips, and thus invited their kisses\nBACKGROUND MUSIC II\nBACKGROUND MUSIC III\nIN THE DEPTHS OF HUMAN HEARTS\nHOSTILITY RESTRAINED\nTHREE OF ME, ONE OF SOMEONE ELSE\nCRIME OF INNOCENCE\nTHE SORROW OF LOSING THE OBJECT OF ONE'S DEPENDENCE\nDo you love me?\nSEPARATION ANXIETY\nINTROJECTION\nDEPRESSION\nSplitting of the Breast\nINFANTILE DEPENDENCE, ADULT DEPENDENCY\nMOTHER IS THE FIRST OTHER\nTHE HEADY FEELING OF FREEDOM\nGood, or Don't Be\nB-20 il tuo sorriso", + "total_tracks": 23, + "spotify_url": "https://open.spotify.com/album/15kyXcDWyZkpcVEeuKBdUk", + "created_at": "2025-12-20T15:51:56.606Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 4, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "A Cruel Angel's Thesis (Neon Genesis Evangelion Theme Rework)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c84201d7e78d4391dff6b418", + "part_or_season": "Unknown", + "release_date": "2021-02-16", + "artists": "Ginger Root", + "tracklist": "A Cruel Angel's Thesis (Neon Genesis Evangelion Theme Rework)", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/3rMaf40HV3WqpcYXn9ofU2", + "created_at": "2025-12-20T15:51:56.719Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 5, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Shiro SAGISU Music from \"EVANGELION 3.0\"YOU CAN (NOT)REDO.", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27354b26107b2b819ad77e17311", + "part_or_season": "Unknown", + "release_date": "2012-11-28", + "artists": "Shiro SAGISU", + "tracklist": "Gods Message =3EM02=\nThe Ultimate Soldier=3EM05=\nDark Defender =3EM06=\nThe Anthem =3EM07=\nOut of the Dark =3EM10=\nL'Apôtre de la Lune (2 pianos) =3EM12=\nQuatre Mains (à quatre mains) =3EM16=\nQui veut faire l'ange fait la bête (piano solo) =3EM17=\nTrust =3EM19=\nL'Apôtre de la Lune (orchestre cordes) =3EM22=\nReturn to Ash =3EM23=\nIt will mean Victory =3EM24=\nBetrayal =3EM25=\nScarred and Battled =3EM26=\nFrom Beethoven 9 =3EM27=\nThe Wrath of God in All its Fury =3EM28=\nTout est Perplexe (Thème Q) =3EM30b=\nGods Gift =3EM31=\nKindred Spirits (Thème Q) =3EM30a=\nBataille d'Espace =3EM01=\nQuiproquo 131(2pianos)=3EM03=\nSerenity Amongst the Turmoil =3EM04=\nQuelconque103(piano)=3EM08=\nQuiproquo 83 (2 pianos) =3EM09=\nQuatre Mains(chambre cordes)\nQuiproquo140(piano) =3EM18=\nLong Slow Pain=3EM20=\nQuelconque 56 avec A4 (2 pianos plus) =3EM21=\nQuiproquo131(orchestre)\nQui veut faire l'ange fait la bête (piano capricieux)\nThéme Q(guitare)=3EM13=\nande-annonce (garçons)\nPeaceful Times (chœur) =3EM32=\nFamously...", + "total_tracks": 34, + "spotify_url": "https://open.spotify.com/album/78BrgzadRuj57mDpBnd2dp", + "created_at": "2025-12-20T15:51:56.891Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 6, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NEON GENESIS EVANGELION II (Original Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2733d889ffa9b83f3fddfdabc00", + "part_or_season": "Unknown", + "release_date": "2023-01-27", + "artists": "Shiro SAGISU", + "tracklist": "Yokan\nThe Cruel Angel's Thesis \nBORDERLINE CASE\nA Crystalline Night Sky\nANGEL ATTACK II\nANGEL ATTACK III\nBoth of you, Dance Like You Want to Win!\nWaking up in the morning\nBACKGROUND MUSIC\nA Moment When Tension Breaks\nThe Day Tokyo-3 Stood Still\nSpending Time in Preparation\nShe said, \"Don't make others suffer for your personal hatred.\"\nMAGMADIVER\nPLEASURE PRINCIPLE\nThe Beast II (1996)\nTHANATOS\nREI III\nWhen I Find Peace of Mind\nJikai Yokoku (F-2 15 Second Version)\nB-16 Rhythm nomi (MISATO)\nB-17 Rhythm nomi (ASUKA STRIKES)", + "total_tracks": 22, + "spotify_url": "https://open.spotify.com/album/6o1pux1ryskKRd4LX3c3AC", + "created_at": "2025-12-20T15:51:57.062Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 7, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NEON GENESIS EVANGELION (Original Series Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273564b9a0c99103bf3c5e054f7", + "part_or_season": "Unknown", + "release_date": "2019-06-21", + "artists": "Shiro SAGISU", + "tracklist": "The Cruel Angel's Thesis (Director's Edit Version)\nANGEL ATTACK\nRei I\nHedgehog's Dilemma\nBAREFOOT IN THE PARK\nRITSUKO\nMISATO\nASUKA STRIKES!\nNERV\nTOKYO-3\nI. SHINJI\nEVA-01\nA STEP FORWARD INTO TERROR\nEVA-02\nDECISIVE BATTLE\nEVA-00\nTHE BEAST\nMARKING TIME, WAITING FOR DEATH\nRei II\nFLY ME TO THE MOON - Instrumental Version\nNext Episode\nFLY ME TO THE MOON - YOKO TAKAHASHI Acid Bossa Version", + "total_tracks": 22, + "spotify_url": "https://open.spotify.com/album/4vwgTxjKwiSWfEoGOqhiWa", + "created_at": "2025-12-20T15:51:57.197Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 8, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Shiro SAGISU Music from \"SHIN EVANGELION\" EVANGELION: 3.0+1.0.", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273210f52db7c98f5e1c0915342", + "part_or_season": "Unknown", + "release_date": "2021-08-13", + "artists": "Shiro SAGISU", + "tracklist": "paris\nif a cause is worth dying for then be\neuro nerv\ntema principale: orchestra dedicata ai maestri\nberceuse: piano\nl'homme n'est ni ange ni bete\nprettiest star\nkarma\nyearning for your love\ntema principale: piano dedicata ai maestri\nhand of fate\nunwelcome: piano\nm & r: piano\nlost in the memory\nberceuse: piano dans l'orchestre a cordes\nEM10A alterne\nEM10A alterne bis\ngekitotsu! gouten tai daimakan\ngekitotsu! gouten tai daimakan =hooked on the last train=\nmetamorphosis\nparanoia\nmirror mirror: refrain\nmirror mirror: orchestra and choir\nthis is the dream, beyond belief...\ntheme du concerto 494\npsycho\nkiller\ni'll go on loving someone else =version orchestre=\npillars of faith\nvoices in my head\nwhat if?: orchestra, choir and piano\nEM20 =wunder operation=\nthe path\nborn evil\ncitation from 'joy to the world'\npensees intimes: piano dans l'orchestre a cordes\nave verum corpus\nVoyager - Gravestone Without Date\n:||\nthe way of life\npensees intimes: piano\nunwelcome: orchestra\nm & r: suite pour piano, flute basse et orchestre\nthis is the dream\nVoyager - Gravestone Without Date =suppa duppa bossa=\nwhat if?: guitar\nhand of fate: playback\nyearning for your love: playback\nlost in the memory: playback\nla plus belle etoile", + "total_tracks": 54, + "spotify_url": "https://open.spotify.com/album/6IHkLv8IiMBV9hlfin14ok", + "created_at": "2025-12-20T15:51:57.535Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 9, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Shiro SAGISU Music from \"EVANGELION 2.0\" YOU CAN (NOT) ADVANCE.", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273417dfcd91721acbae2cdbc59", + "part_or_season": "Unknown", + "release_date": "2009-07-08", + "artists": "Shiro SAGISU", + "tracklist": "At The Very Beginning\nL'Agresseur\nAmbassadrice Rouge\nDes Cordes:opus1\nDestiny\nFate\nRobe des Champs\nDes Cordes:opus2\nTranquillite\nLes Betes\n今日の日はさようなら-Tribute to \"Sound of Music\"\nIn My Spirit\nKeep Your Heads Above The Mayhem\nInstabilite:Orchestre\nThe Final Decision We All Must Take\nEvanescence:mouvement 1\nEvanescence:mouvement 2\nEvanescence:mouvement 3\nCarnage\nSin From Genesis\n翼をください-Tribute to \"Sound of Music\"\nInstabilite:Piano Solo\nMellow2009", + "total_tracks": 23, + "spotify_url": "https://open.spotify.com/album/1Etq7R0V6TLzRfUXOPwAwc", + "created_at": "2025-12-20T15:51:57.727Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 10, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "THE END OF EVANGELION (Original Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273b53900d8b2056868839d7edd", + "part_or_season": "Unknown", + "release_date": "2023-02-15", + "artists": "Shiro SAGISU", + "tracklist": "Tanin no Kanshyou\nManatsu no Syuuen\nTaikou eno Kinkyuuhinan\nItsuwarino Saisei (M-7Bnewremix)\nMigawari no Sinnyuu\nII Air [ORCHESTRAL SUITE No.3 in D Major, BWV. 1068]\nMunashiki Nagare\nTHANATOS -IF I CAN'T BE YOURS-\nHajimari eno Touhi\nHuan to Mitsugetsu\nKOMM, SUSSER TOD - M-10 Director's Edit Version\nJesus bleibet meine Freude [Herz und Mund und Tat und Leben BWV.147] / Syuyo Hito no Nozomi no Yorokobiyo\nHeisoku no Kakudai\nYume no Sukima\nM-9 Heisoku no Kakudai\nF02 version 0706", + "total_tracks": 16, + "spotify_url": "https://open.spotify.com/album/12Zlf7jQUcYOsPl2qbuXgz", + "created_at": "2025-12-20T15:51:57.922Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 11, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Naruto For Sleep", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27356492622f9ca2fd5726845d5", + "part_or_season": "Unknown", + "release_date": "2023-11-17", + "artists": "Slumbering Tom", + "tracklist": "Comet (From \"Naruto Shippuden\")\nCloser (From \"Naruto Shippuden\")\nGuren Theme (From \"Naruto Shippuden\")\nDespair (From Despair (From \"Naruto Shippuden\")\nDecision (From \"Naruto Shippuden\")\nCompanions (From \"Naruto Shippuden\")\nMy Mother And My Father (From \"Naruto Shippuden\")\nSakura's Theme (From \"Naruto Shippuden\")\nKimimaro's Demise (From \"Naruto Shippuden\")\nItachi's Theme (From \"Naruto Shippuden\")\nTenten's Theme (From \"Naruto Shippuden\")\nThe Calm Before The Storm (From \"Naruto Shippuden\")\nYoung Obito's Death Theme (From \"Naruto Shippuden\")\nSilhouette (From \"Naruto Shippuden\")\nAlive (From \"Naruto Shippuden\")\nNindo (From \"Naruto Shippuden\")\nBurial (From \"Naruto Shippuden\")\nSamidare (From \"Naruto Shippuden\")\nGentle Hands (From \"Naruto Shippuden\")\nExperienced Many Battles (From \"Naruto Shippuden\")\nSaika (From \"Naruto Shippuden\")\nScene Of A Disaster (From \"Naruto Shippuden\")\nMountain Haze (From \"Naruto Shippuden\")\nObito & Rin (From \"Naruto Shippuden\")\nMan Of The World (From \"Naruto Shippuden\")\nChildhood Memories (From \"Naruto\")\nPain's Theme (From \"Naruto Shippuden\")\nShippuden (From \"Naruto Shippuden\")\nMinato Saves Kushina (From \"Naruto Shippuden\")\nGentle Hands (From \"Naruto Shippuden\") - Piano\nThe Raising Fighting Spirit (From \"Naruto Shippuden\")\nObito's Theme (From \"Naruto Shippuden\")", + "total_tracks": 32, + "spotify_url": "https://open.spotify.com/album/19wH4ozi5NozKOdGPDVO3i", + "created_at": "2025-12-20T15:51:58.298Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 12, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Best Sad Songs from Naruto", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273760d81cefd2c8cade93a812c", + "part_or_season": "Unknown", + "release_date": "2012-12-07", + "artists": "Bird Of Pray", + "tracklist": "Ai to Shu - Grief and Sorrow [from Naruto]\nKodoku – Alone [from Naruto]\nAi to Hi – Sadness and Sorrow [from Naruto] - Short Version\nShitsui – Despair [from Naruto Shippuuden]\nGuren [from Naruto Shippuuden]\nUtsusemi – Man of the World [from Naruto Shippuuden]\nHakubo – Nightfall [from Naruto Shippuuden]\nSamidare [from Naruto Shippuuden]\nKodoku – Loneliness [from Naruto Shippuuden]\nAi to Shu - Grief and Sorrow [from Naruto] - Hokage's Funeral\nAi to Hi – Sadness and Sorrow [from Naruto] - Long Version\nAi to Shu - Grief and Sorrow - Hokage's Funeral [from Naruto] - Dance Remix\nAi to Hi – Sadness and Sorrow [from Naruto] - Techno Remix", + "total_tracks": 13, + "spotify_url": "https://open.spotify.com/album/4sbOSN1tcN8i0ZG1ilDvNM", + "created_at": "2025-12-20T15:51:58.416Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 13, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NARUTO-ナルト- 疾風伝 オリジナル・サウンドトラック", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273d911e43123678e12f4eb2823", + "part_or_season": "Unknown", + "release_date": "2007-12-19", + "artists": "Yasuharu Takanashi, YAIBA", + "tracklist": "疾風伝\n動天\n帰郷\n千軍万馬\n電光石火\n任務\n空蝉\n出陣\n怒り\n暁\n哀鴻遍野\n人柱力\n孤独\n薄暮\n秘めたる闘志\n古今無双\n落日\n百花繚乱\n失意\n暗雲\n膠着\n悲壮\n対峙\n怪異\n乾坤一擲\n形勢逆転\n仲間\n疾風組曲", + "total_tracks": 28, + "spotify_url": "https://open.spotify.com/album/4f5CITLlnnTPE49n5Bd0zN", + "created_at": "2025-12-20T15:51:58.628Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 14, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Blue Bird (From \"Naruto Shippuden\")", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2732d6016235e4d0178b779afe1", + "part_or_season": "Unknown", + "release_date": "2020-12-22", + "artists": "Akano", + "tracklist": "Blue Bird (From \"Naruto Shippuden\")", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/7C41hnp5N5oQpH143Iz4rN", + "created_at": "2025-12-20T15:51:58.745Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 15, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NARUTO -ナルト- オリジナルサウンドトラック Ⅲ", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2737b3374e8abec5bc030466572", + "part_or_season": "Unknown", + "release_date": "2005-04-27", + "artists": "Toshio Masuda, MUSASHI PROJECT", + "tracklist": "美しき碧い野獣\n桜の季節\nフェイク!\n危機また危機\nロック・リーのテーマ\n舞\n究極奥義\nキメるってばよ!\n嗚呼、師弟愛\n復讐者!\n重は激\n猿飛\n火影\n哀と愁\n自来也のテーマ\n波紋\n首飾り揺れて\nブン太!\n茶ノ國\n忍びよる悪夢\n五代目の闘い!\n英雄\n火の意志を継ぐ者たち…", + "total_tracks": 23, + "spotify_url": "https://open.spotify.com/album/1HObVU42QE1DcypM59MBFS", + "created_at": "2025-12-20T15:51:58.960Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 16, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Wind - Naruto Ending Theme (From \"Naruto\")", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273a07a8e12bfe67dd7901ad23b", + "part_or_season": "Unknown", + "release_date": "2020-01-29", + "artists": "Geek Music", + "tracklist": "Wind - Naruto Ending Theme (From \"Naruto\")", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/27ukNwDRlAQf99DDE7VNHj", + "created_at": "2025-12-20T15:51:59.087Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 17, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NARUTO -ナルト- オリジナルサウンドトラック Ⅱ", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2738fc8a433553d6586f75d7dc1", + "part_or_season": "Unknown", + "release_date": "2004-03-10", + "artists": "Toshio Masuda, MUSASHI PROJECT", + "tracklist": "木ノ葉の昼\n対峙\n悪\nサスケのテーマ\nサバイバル試験\n木ノ葉の午後\nおふざけモード\n木ノ葉丸のテーマ\n修業だコレ!\nガイのテーマ\nヒナタvsネジ\n大蛇丸のテーマ\n復讐者\n大蛇丸~戦闘~\n雷切\nサスケ~運命~\nひとり", + "total_tracks": 17, + "spotify_url": "https://open.spotify.com/album/6dfygmKJzKiTCJJY7qpTnA", + "created_at": "2025-12-20T15:51:59.303Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 18, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NARUTO-ナルト- 疾風伝 オリジナル・サウンドトラック Ⅲ", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2735b26033d465f5cbd3ca87a5e", + "part_or_season": "Unknown", + "release_date": "2016-07-06", + "artists": "Yasuharu Takanashi, YAIBA", + "tracklist": "うちはイタチ\n九尾発動\n四代目火影\n父と母\n柔らかな手\n大筒木カグヤ\nゼツのテーマ\nアシュラ・インドラ\n修羅道\n冷たき土\n粛清の女神\nうずまく熱風\n轟地に立つ\n勇ある者たち\nずっと見てた\nカカシとオビト\n友よ\n永遠に眠れ\nオビトのテーマ\n殉教者\nノスタルジア\n届かぬ人に\n風と炎の円舞曲\n道は続く\nNARUTO Main Theme'16", + "total_tracks": 25, + "spotify_url": "https://open.spotify.com/album/7DQCQeGbnpjr3tF7p3f2jA", + "created_at": "2025-12-20T15:51:59.495Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 19, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NARUTO -ナルト- オリジナルサウンドトラック", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2736d1c1a631e1b46ccc32eaee2", + "part_or_season": "Unknown", + "release_date": "2003-03-19", + "artists": "Toshio Masuda, MUSASHI PROJECT", + "tracklist": "オレがナルトだってばよ!\n九尾の妖狐\n朝\nナルトの日常\n緊張\n沸き上がる闘志\n哀と悲\n孤独\nサクラのテーマ\nカカシのテーマ\nお色気\n行け行けナルト\n夕暮れ\n膠着状態\n強にして重\n劣勢\n激と撃\n逆転\n勝利\nNARUTO Main Theme", + "total_tracks": 20, + "spotify_url": "https://open.spotify.com/album/6NrJzDuBPZvp3ZRXnIqs1P", + "created_at": "2025-12-20T15:51:59.678Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 20, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "NARUTO-ナルト- 疾風伝 オリジナル・サウンドトラック Ⅱ", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273f9f0edfe58bbb6e3c44e574f", + "part_or_season": "Unknown", + "release_date": "2009-12-16", + "artists": "Yasuharu Takanashi, YAIBA", + "tracklist": "昇竜\n臨界\n撃破\n彩霞\n預言者\n飛段\n角都\n紅炎\n乱髪\n埋葬\n白詰草\n漂泊\n難攻不落\n疾空\n試練\n読心術\n紅蓮\n黒点\n緋文字\n儀礼\n紅薔薇\n山霞\n千夜\n幻視\n白映\n落葉船\n鳴神\n五月雨", + "total_tracks": 28, + "spotify_url": "https://open.spotify.com/album/1GoWJc6XFiHW1ewHcY1Xqm", + "created_at": "2025-12-20T15:51:59.859Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 21, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "\"Attack on Titan\" Season 3 Original Soundtrack", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27336c663196e968a1f8b7d6842", + "part_or_season": "1", + "release_date": "2019-08-26", + "artists": "Sawano Hiroyuki", + "tracklist": "K2-\r\nZero Eclipse\r\nSymphonicsuite (Aot) Part1-1st: 0Sk\r\nSymphonicsuite (Aot) Part1-2nd: Historia\r\nSymphonicsuite (Aot) Part1-3rd: Barrichestra\r\nSymphonicsuite (Aot) Part1-4th: 7-B@$\r\nK21\r\nAots3-3Spens / 21seki\r\nCall Your Name (Gv)\r\nSymphonicsuite (Aot) Part2-1st: Attack on Titan (Wmid)\r\nSymphonicsuite (Aot) Part2-2nd: Shingekinokyojin\r\nSymphonicsuite (Aot) Part2-3rd: Before Lights Out\r\nSymphonicsuite (Aot) Part2-4th: 2An\r\nSymphonicsuite (Aot) Part2-5th: Apple Seed\r\nSymphonicsuite (Aot) Part2-6th: Thanksat\r\nEren the Hyou - Movie Ver.\r\nBarricades - Movie Ver.\r\nAots3-Pf1\r\nT-Kt\r\nA 1 G U\r\nAots3-Pf2\r\nAots3-1000ryaku\r\nTooth-I:\r\nLen Zo 97N10 Hi Kyosetsu Mahle\r\nK21 - Instrumental\r\nZero Eclipse - Instrumental\r\nBarricades - Movie Ver. / Instrumental\r\nCall Your Name (Gv) - Instrumental\r\nAttack on Titan (Wmid) - Instrumental\r\nBefore Lights Out - Instrumental\r\nApple Seed - Instrumental", + "total_tracks": 31, + "spotify_url": "https://open.spotify.com/album/5ZT4JbMhZU7V8sDPHZhG8h", + "created_at": "2025-12-20T15:52:00.579Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 22, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "TV Anime \"Attack on Titan\" Original Soundtrack", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2732e09d63a7ba7fa7071e26524", + "part_or_season": "2", + "release_date": "2013", + "artists": "Sawano Hiroyuki", + "tracklist": "Attack on Titan\r\nThe Reluctant Heroes\r\nEye-Water\r\nRittaikidou\r\nCounter Attack-Mankind\r\nArmy-Attack\r\nVogel Im Kafig\r\nDOA\r\n凸】♀】♂】←Titan\r\nE.M.A\r\nTitan♀~9chiku\r\nBauklotze\r\n2chijou\r\nXl-Tt\r\nCall Your Name\r\nOmake-Pfadlib", + "total_tracks": 16, + "spotify_url": "https://open.spotify.com/album/3WDkuVqT1OfkTdCyYQ2gXa", + "created_at": "2025-12-20T15:52:00.745Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 23, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "TV Anime \"Attack on Titan Season 2\" (Original Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2739c44e39f1b6aafe87a6db356", + "part_or_season": "6", + "release_date": "2017-06-07", + "artists": "Sawano Hiroyuki", + "tracklist": "Barricades\r\nApetitan\r\nYou See Big Girl / T:T\r\nSon 2 Sea Ver\r\nCall of Silence\r\nEren Zahyo\r\nAttack on D\r\nYamanaiame\r\n2 Volt\r\nShingeki St - Hrn- Egt 20130629 Kyojin\r\nSo Ist Es Immer\r\nShingeki St - Hrn - Gt - Pf 20130629 Kyojin\r\nYmniam - Orch\r\nThe Reluctant Heroes (Modv)\r\nShingeki St - Hrn - Gt 20130629 Kyojin\r\nThe Dogs\r\nShingeki Pf - Medley 20130629 Kyojin\r\nEmaymniam\r\nShingeki Pf 20130218 Kyojin\r\nShingeki Gt 20130218 Kyojin\r\nTwo - Lives\r\nShingeki St 20130629 Kyojin\r\nShingeki Vn - Pf 20130524 Kyojin\r\nYmniam - Mkorch\r\nShingeki Pf - Adlib - C 20130218 Kyojin\r\nShingeki Pf - Adlib - B 20130218 Kyojin\r\nShingeki Vc - Pf 20130218 Kyojin\r\nThe Weight of Lives\r\nYamanaiame (Fmv)\r\nAots2m #1\r\nAots2m #2\r\nAots2m #3\r\nAots2m #4", + "total_tracks": 33, + "spotify_url": "https://open.spotify.com/album/0jNwqmKIwudqqbMJRRtzQb", + "created_at": "2025-12-20T15:52:00.937Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 24, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "My War (From \"Attack on Titan\")", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27372d5adcdef5c335651d067aa", + "part_or_season": "Unknown", + "release_date": "2020-12-30", + "artists": "Miura Jam", + "tracklist": "My War (From \"Attack on Titan\")", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/3ongPyO4cZbaYXcpVaJzMO", + "created_at": "2025-12-20T15:52:01.055Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 25, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "Epica vs. Attack on Titan Songs", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2730cca043a845cf671adcab58b", + "part_or_season": "7", + "release_date": "2018-07-20", + "artists": "Epica", + "tracklist": "Crimson Bow and Arrow\r\nWings of Freedom\r\nIf Inside These Walls Was a House\r\nDedicate Your Heart!\r\nCrimson Bow and Arrow - Instrumental\r\nWings of Freedom - Instrumental\r\nIf Inside These Walls Was a House - Instrumental\r\nDedicate Your Heart! - Instrumental", + "total_tracks": 8, + "spotify_url": "https://open.spotify.com/album/56nnXtBQCyeSTWpVkjDQM3", + "created_at": "2025-12-20T15:52:01.188Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 26, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Shinzou Wo Sasageyo (Attack on Titan)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273f957a4b3df0344dd0e1aeb6f", + "part_or_season": "Unknown", + "release_date": "2017-05-19", + "artists": "NateWantsToBattle", + "tracklist": "Shinzou Wo Sasageyo (Attack on Titan)", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/3ng95xtVQb1hJOH3vFiW9I", + "created_at": "2025-12-20T15:52:01.317Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 27, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "TV Anime \"Attack on Titan The Final Season\" Original Sound Track Complete Album", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2739d5eb312fb990f0527e451da", + "part_or_season": "4", + "release_date": "2024-07-17", + "artists": "KOHTA YAMAMOTO, Sawano Hiroyuki", + "tracklist": "Ashes on The Fire\r\nThe Other Side of the Sea\r\nSplinter Wolf\r\nNightmare\r\nGuilty Hero\r\nThe Successor\r\nMemory Lane\r\nLiberio at Night\r\nLiberio Festival\r\nTrue History\r\nThe Warriors\r\nThe Fall of Marley\r\nZeek's Plan\r\nCold Light\r\nNowhere to go\r\nAOTF-s1\r\nAOTF-s2\r\nAOTF-s3\r\nFootsteps of Doom\r\nInto the Night - Acoustic ver.\r\nAshes on The Fire - PTV\r\nMAN-Child\r\nAll of The Freedoms\r\nTRAITOR\r\nNight of The End\r\nFrom You, 2,000 Years Ago\r\nThe Global Allied Fleet\r\nMICHI\r\nTHAW\r\nInto the Night\r\nEren\r\nYouSee-Power\r\nattack ON taitan - TFSv\r\nAn Ordinary Day\r\nAim of the Fate\r\nLiar\r\nattack till we are Ashes\r\nVanishment\r\nThe Reason\r\nFriendships\r\nMemory Lane - Vln ver.\r\nLiberio at Night - Pf&Vln ver.\r\nAtonement", + "total_tracks": 43, + "spotify_url": "https://open.spotify.com/album/5qi9RDOs1DBNHsNNBM6gjA", + "created_at": "2025-12-20T15:52:01.516Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 28, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "Attack On Titan The Final Season Original Soundtrack 02", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273e6f7f9dd98d526830a50e59b", + "part_or_season": "3", + "release_date": "2022-06-22", + "artists": "KOHTA YAMAMOTO, Sawano Hiroyuki", + "tracklist": "Footsteps of Doom\r\nInto the Night - Acoustic ver.\r\nAshes on The Fire -PTV-\r\nMAN-Child\r\nAll of The Freedoms\r\nTRAITOR\r\nNight of The End\r\nFrom You, 2,000 Years Ago\r\nThe Global Allied Fleet\r\nMICHI\r\nTHAW\r\nInto the Night\r\nELO\r\nYouSee-Power\r\nattack ON taian [TFSv]", + "total_tracks": 15, + "spotify_url": "https://open.spotify.com/album/6ZhZFePX82sWsRzKMdaprL", + "created_at": "2025-12-20T15:52:01.763Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 29, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "Attack on Titan The Final Season Original Soundtrack", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2731ab362964a8865eace979a39", + "part_or_season": "5", + "release_date": "2021-06-23", + "artists": "Kohta Yamamoto and Hiroyuki Sawano", + "tracklist": "Ashes on The Fire\r\nThe Other Side of the Sea\r\nSplinter Wolf\r\nNightmare\r\nGuilty Hero\r\nThe Successor\r\nMemory Lane\r\nLiberio at Night\r\nLiberio Festival\r\nTrue History\r\nThe Warriors\r\nThe Fall of Marley\r\nZeek's Plan\r\nNowhere to go\r\nAtonement\r\nCold Light\r\nThe Reason\r\nFriendships\r\nMemory Lane - Vln ver.\r\nLiberio at Night - Pf&Vln ver.\r\nAOTF-s1\r\nAOTF-s2\r\nAOTF-s3", + "total_tracks": 23, + "spotify_url": "https://open.spotify.com/album/6hpEJjz25G99vP0DgMgqqi", + "created_at": "2025-12-20T15:52:01.988Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 30, + "fields": { + "media_type": "ANIME", + "media_title": "Attack On Titan", + "album_title": "Ashes on The Fire (Attack on Titan The Final Season Original Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c2bcff5fed95d5325eec7f91", + "part_or_season": "1", + "release_date": "2021-02-01", + "artists": "KOHTA YAMAMOTO", + "tracklist": "Ashes on The Fire (Attack on Titan The Final Season Original Soundtrack)", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/2D75BWyFdglxuY29CGfF4i", + "created_at": "2025-12-20T15:52:02.162Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 31, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Dune (Original Motion Picture Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27349fb09eb93f76a5805b8f485", + "part_or_season": "Unknown", + "release_date": "2021-09-17", + "artists": "Hans Zimmer", + "tracklist": "Dream of Arrakis\nHerald of the Change\nBene Gesserit\nGom Jabbar\nThe One\nLeaving Caladan\nArrakeen\nRipples in the Sand\nVisions of Chani\nNight on Arrakis\nArmada\nBurning Palms\nStranded\nBlood for Blood\nThe Fall\nHoly War\nSanctuary\nPremonition\nOrnithopter\nSandstorm\nStillsuits\nMy Road Leads into the Desert", + "total_tracks": 22, + "spotify_url": "https://open.spotify.com/album/56k8ay5oE5apR61WIeE4wQ", + "created_at": "2025-12-20T15:52:02.737Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 32, + "fields": { + "media_type": "MOVIE", + "media_title": "DUNE", + "album_title": "Dune: Part Two (Original Motion Picture Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273166adc280da684b1d54f4126", + "part_or_season": "2", + "release_date": "2024-02-23", + "artists": "Hans Zimmer", + "tracklist": "Beginnings Are Such Delicate Times\r\nEclipse\r\nThe Sietch\r\nWater of Life\r\nA Time of Quiet Between the Storms\r\nHarvester Attack\r\nWorm Ride\r\nOrnithopter Attack\r\nEach Man Is a Little War\r\nHarkonnen Arena\r\nSpice\r\nSeduction\r\nNever Lose Me\r\nTravel South\r\nPaul Drinks\r\nResurrection\r\nArrival\r\nSouthern Messiah\r\nThe Emperor\r\nWorm Army\r\nGurney Battle\r\nYou Fought Well\r\nKiss the Ring\r\nOnly I Will Remain\r\nLisan al Gaib", + "total_tracks": 25, + "spotify_url": "https://open.spotify.com/album/1PeYjDmxcRNvxLd5mGHuCC", + "created_at": "2025-12-20T15:52:03.029Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 33, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Dune Days", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c0e19ae45c7ec2bd3a62bf69", + "part_or_season": "Unknown", + "release_date": "2023-09-07", + "artists": "Lawrence Walther, Recalibration Machine, Less Gravity", + "tracklist": "Atmosphere\nEmotions\nSand Cottage\nHourglass\nSoft Spot", + "total_tracks": 5, + "spotify_url": "https://open.spotify.com/album/7jvCyA9lwTTbZWiuscFtyk", + "created_at": "2025-12-20T15:52:03.199Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 34, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Dune", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2734994c677f8c6369894ba6686", + "part_or_season": "Unknown", + "release_date": "2024-04-12", + "artists": "Lvst", + "tracklist": "Dune", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/0YveXaZSQ1niQlMmUa7xtN", + "created_at": "2025-12-20T15:52:03.654Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 35, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Dunes", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273a500281b02bbeb51295d5a94", + "part_or_season": "Unknown", + "release_date": "2023-05-19", + "artists": "southstar", + "tracklist": "Luna\nLe soleil\nDune\nLove Express\nTypa Girl", + "total_tracks": 5, + "spotify_url": "https://open.spotify.com/album/5OraR3Y7Ccd990r66pBWUB", + "created_at": "2025-12-20T15:52:04.026Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 36, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Prélude d'une nuit d'automne", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2731abd672f2be25e33261b473b", + "part_or_season": "Unknown", + "release_date": "2022-10-07", + "artists": "Adrien de la Salle", + "tracklist": "Prélude d'une nuit d'automne", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/3L0asUoUkDBJnLv4jDWh6i", + "created_at": "2025-12-20T15:52:04.202Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 37, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Spirit Dunes Afro-Arabian Rituals", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273d34edba696a5a2bf7577ae42", + "part_or_season": "Unknown", + "release_date": "2025-09-27", + "artists": "ANO LI", + "tracklist": "Asha Mirage\nAshara\nKahel Ritual\nKhalari Nights\nLumina Tribe\nNdoro Eclipse\nOba Drums\nOrixa Temple\nShira Waves\nZyra Chant", + "total_tracks": 10, + "spotify_url": "https://open.spotify.com/album/4KqREtmWnvZ7d5oBjCqnFL", + "created_at": "2025-12-20T15:52:04.352Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 38, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "The Dune Sketchbook (Music from the Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2734a9cb923dba2bba347ddb365", + "part_or_season": "Unknown", + "release_date": "2021-09-03", + "artists": "Hans Zimmer", + "tracklist": "Song of the Sisters\nI See You in My Dreams\nHouse Atreides\nThe Shortening of the Way\nPaul's Dream\nMoon over Caladan\nShai-hulud\nMind-killer\nGrains of Sand", + "total_tracks": 9, + "spotify_url": "https://open.spotify.com/album/78uSUydG2FbcVDDFWGMQjT", + "created_at": "2025-12-20T15:52:04.510Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 39, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Ice On The Dune", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273cf06b7a58c6bf3e90102bf05", + "part_or_season": "Unknown", + "release_date": "2013-01-01", + "artists": "Empire Of The Sun", + "tracklist": "Lux\nDNA\nAlive\nConcert Pitch\nIce On The Dune\nAwakening\nI’ll Be Around\nOld Flavours\nCelebrate\nSurround Sound\nDisarm\nKeep A Watch", + "total_tracks": 12, + "spotify_url": "https://open.spotify.com/album/4phgwA30YOM1BAhJEm96Al", + "created_at": "2025-12-20T15:52:04.663Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 40, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Genshin Impact - The Unfathomable Sand Dunes (Original Game Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27300ed07c6e62b317ddeea973f", + "part_or_season": "Unknown", + "release_date": "2023-04-19", + "artists": "HOYO-MiX", + "tracklist": "Sorush's Purity\nResonance of Khvarena\nMaidens of Sanctity\nThe Caress of Three Mothers\nWhere Simurgh Rests\nFantasy of Ten Thousand Blossoms\nDirge of Newborn Life\nUndisturbed Tranquility\nMirage of the Oasis\nLonesome Road\nGrief of the Lost\nDividing Paths\nDawnlight Over Dunes\nDance of Scorpions\nGolden Crescent\nA Pearl Amongst Legends\nHymn of Cicadas\nSimurgh's Dream\nTaabak Laylatak\nResting Rogues\nPerilous Hollow\nOmen of Desolation\nSolitary Breach\nGhastly Badlands\nShadow in Ruins\nAbominable Bog\nWhere Vermin Crawl\nWhere Dreams Putrify\nPairidaeza\nHer Wishes\nOracle of the Void\nOnce-Joyful Dream\nKingdom of Dust\nEmpire of Sand\nSpice Road\nRealms of Amnesia\nGilded Journey\nOcean of Grains\nDesert Lullaby\nThe Crescent Moon's Waning\nMemories of Gurabad\nLo, There Do I See The Falcon\nWhere She Will Return\nThose Who Dream No Dreams\nThe Temple Conquered by Death\nLamenting Torrent of Oblivion\nDebris of the Beloved\nVermin Nest\nGurabad's Whisper\nBuried Mysteries", + "total_tracks": 108, + "spotify_url": "https://open.spotify.com/album/4JMjkt32NZ9VnPj68Mz7Ra", + "created_at": "2025-12-20T15:52:04.934Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 41, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Doom: The Dark Ages (Original Game Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2734f01ee10cef4a74c01766f49", + "part_or_season": "Unknown", + "release_date": "2025-05-14", + "artists": "Finishing Move Inc.", + "tracklist": "Invasion\nFrom the Ashes\nWhen the Shadows First Lengthened\nUnchained Predator\nHebeth\nAtlan Battleground\nSentinel Barracks\nHoly City\nBlood Red\nLast Bastion\nUnholy Siege\nPursuit of Demons\nUnyielding\nInfernal Chasm\nHellspawn Rift\nTitanic Prison\nAncestral Beast\nTransdimensional\nCosmic Sea\nInto the Void\nWhat Lies Below\nBattle on the Blackened Tide\nSteel Beyond the Grave\nRebirth\nDivine Retribution\nWither and Writhe\nRebuild\nColossus Unleashed\nOnslaught of the Damned\nTheomachy\nBlood Spill\nThe Prince\nBetween Hex and Flame\nApotheosis\nHe Is out There", + "total_tracks": 35, + "spotify_url": "https://open.spotify.com/album/1mL4QfAwy3gFEjtGPHMG3F", + "created_at": "2025-12-20T15:52:05.516Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 42, + "fields": { + "media_type": "GAME", + "media_title": "DOOM", + "album_title": "Doom (Original Game Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273aad36b64a1a78951b504bc4e", + "part_or_season": "1", + "release_date": "2016-09-28", + "artists": "Mick Gordon", + "tracklist": "I. Dogma\r\nRip & Tear\r\nAt Doom's Gate\r\nRust, Dust & Guts\r\nII. Demigod\r\nHellwalker\r\nAuthorization; Olivia Pierce\r\nFlesh & Metal\r\nImpure Spectrum\r\nTies That Bind\r\nBfg Division\r\nResidual\r\nArgent Energy\r\nHarbinger\r\nBiowaves\r\nOlivia's Doom (Chad Mossholder Remix)\r\nTransistor Fist\r\nDr. Samuel Hayden\r\nCyberdemon\r\nIncantation\r\nIII. Dakhma\r\nDamnation\r\nThe Stench\r\nUac Report File; Shto36u3\r\nDeath & Exhale\r\nSkullHacker\r\nLazarus Waves\r\nVega Core\r\n6_idkill.Vega.Cih\r\nMastermind\r\nIV. Doom", + "total_tracks": 31, + "spotify_url": "https://open.spotify.com/album/0KQyC28P9808r0oKKNgHvp", + "created_at": "2025-12-20T15:52:05.755Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 43, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "doom", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2735a1f723b6e58219f5a0edfe4", + "part_or_season": "Unknown", + "release_date": "2022-02-17", + "artists": "zavet", + "tracklist": "DOOM\nJEFF HARDY\nУ ТЕБЯ СТРЕМНАЯ ТЕЛКА", + "total_tracks": 3, + "spotify_url": "https://open.spotify.com/album/6WoCXFw7SOVsAl4xV43NIU", + "created_at": "2025-12-20T15:52:05.922Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 44, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Circus Of Doom", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273bcfd448bffc92c65938553b4", + "part_or_season": "Unknown", + "release_date": "2022-04-29", + "artists": "Battle Beast", + "tracklist": "Circus of Doom\nWings of Light\nMaster of Illusion\nWhere Angels Fear to Fly\nEye of the Storm\nRussian Roulette\nFreedom\nThe Road to Avalon\nArmageddon\nPlace That We Call Home\nThe Lightbringer\nTempest Of Blades", + "total_tracks": 12, + "spotify_url": "https://open.spotify.com/album/6Kuz73jchZKPe72PPi2s3C", + "created_at": "2025-12-20T15:52:06.125Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 45, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "DOOM FUNK", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2733b6ea915a75bd2f6b2eb63d6", + "part_or_season": "Unknown", + "release_date": "2025-12-12", + "artists": "TEENWXVE", + "tracklist": "DOOM FUNK\nDOOM FUNK - Slowed\nDOOM FUNK - Ultra Slowed\nDOOM FUNK - Sped Up", + "total_tracks": 4, + "spotify_url": "https://open.spotify.com/album/77vXvx346VTuKBfA5dYQ1y", + "created_at": "2025-12-20T15:52:06.318Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 46, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Operation: Doomsday (Complete)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2736ce90ec627a0198a8efd127f", + "part_or_season": "Unknown", + "release_date": "1999-10-19", + "artists": "MF DOOM", + "tracklist": "The Time We Faced Doom (Skit)\nDoomsday\nRhymes Like Dimes\nThe Finest\nBack in the Days (Skit)\nGo With the Flow\nTick, Tick...\nRed and Gold\nThe Hands of Doom (Skit)\nWho You Think I Am?\nDoom, Are You Awake? (Skit)\nHey!\nOperation: Greenbacks\nThe Mic\nThe Mystery of Doom (Skit)\nDead Bent\nGas Drawls\n?\nHero v.s. Villain (Epilogue)\nDead Bent - 12\" Version\nGas Drawls - 12\" Version\nHey - 12\" Version\nGreenbacks - 12\" Version\nGo With the Flow - 12\" Version\nGo With the Flow - Raw Rhymes\nI Hear Voices Pt. 1 - 12\" Version\nI Hear Voices Pt. 2 - 12\" Version\nTick, Tock - 12\" Version\n? - Extended Raw Rhymes Version\nDead Bent - 12\" Instrumental Version\nGas Drawls - 12\" Instrumental Version\nHey! - 12\" Instrumental Version\nGreenbacks - 12\" Instrumental Version\nThe Mic - 12\" Instrumental Version\nRed and Gold - 12\" Instrumental Version\nI Hear Voices - 12\" Instrumental Version\nDoomsday - Instrumental\nRhymes Like Dimes - Instrumental\nThe Finest - Instrumental\nThe Hands of Doom - Instrumental\nWho You Think I Am - Instrumental\n? - Instrumental", + "total_tracks": 42, + "spotify_url": "https://open.spotify.com/album/5bjUbZPVTEQcb6W3LquX1E", + "created_at": "2025-12-20T15:52:06.552Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 47, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Venus Doom (Deluxe Version)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273e03b4f7e970c5675a6179138", + "part_or_season": "Unknown", + "release_date": "2007-09-07", + "artists": "HIM", + "tracklist": "Venus Doom\nLove in Cold Blood\nPassion's Killing Floor\nThe Kiss of Dawn\nSleepwalking Past Hope\nDead Lovers' Lane\nSong or Suicide\nBleed Well\nCyanide Sun\nKilling Loneliness - Live\nWings of a Butterfly - Live", + "total_tracks": 11, + "spotify_url": "https://open.spotify.com/album/4dTGZjSM9J5rVcJbPITNLq", + "created_at": "2025-12-20T15:52:06.712Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 48, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Doomsday", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273a6c7b940a166ac0dce26672c", + "part_or_season": "Unknown", + "release_date": "2016-10-03", + "artists": "Timur Mutsurayev", + "tracklist": "No Turning Back\nExtinguished Candle\nLife is Vanity\nGunib\nWind\nLife Path\nIerusalim\nGiven The Vast\nI Go\nDoomsday\nAnthem\nThe Islamic Ummah\nSolomon\nNever Be Downhearted", + "total_tracks": 14, + "spotify_url": "https://open.spotify.com/album/0WP0myTTTajL9z1gOcwu4t", + "created_at": "2025-12-20T15:52:07.006Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 49, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "ALL IS BEAUTIFUL… BECAUSE WE'RE DOOMED", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2730496a68266b92e90d8cd623e", + "part_or_season": "Unknown", + "release_date": "2025-08-22", + "artists": "We Came As Romans", + "tracklist": "ALL IS BEAUTIFUL...\nbad luck\nlake of fire\nred smoke\none by one\nculture wound\nwhere did you go?\nno rest for the dreamer\nb2tm\ncircling a dying sun\nknowing pain\nso lost (burning flowers)\nBECAUSE WE'RE DOOMED", + "total_tracks": 13, + "spotify_url": "https://open.spotify.com/album/42KPmh26BJtkXWEQqsfIQ3", + "created_at": "2025-12-20T15:52:07.273Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 50, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Doom's Embrace", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2732fb333867284ea48aee670f8", + "part_or_season": "Unknown", + "release_date": "2025-12-20", + "artists": "Happy Birthday", + "tracklist": "Doom's Embrace", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/03g6Y2um52cRveH8ficA9J", + "created_at": "2025-12-20T15:52:07.421Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 51, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2731993bab532b897dea1633efe", + "part_or_season": "Unknown", + "release_date": "2025-12-20", + "artists": "VMZ", + "tracklist": "Stranger Things", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/6sdNrAS51yIjiP1TGQHkKs", + "created_at": "2025-12-20T15:52:07.801Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 52, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things 2 (Soundtrack from the Netflix Original Series)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273483c2fc141fcb4efe4470fb7", + "part_or_season": "Unknown", + "release_date": "2017-10-20", + "artists": "Kyle Dixon & Michael Stein", + "tracklist": "Walkin in Hawkins\nHome\nEulogy\nOn the Bus\nPresumptuous\nEight Fifteen\nThe First Lie\nScars\nI Can Save Them\nDescent into the Rift\nChicago\nLooking for a Way Out\nBirth / Rescue\nIn the Woods\nDigging\nSymptoms\nEggo in the Snow\nSoldiers\nChoices\nNever Tell\nShe Wants Me to Find Her\nShouldn't Have Lied\nIt's a Trap\nCrib\nThe Return\nEscape\nWe Go out Tonight\nConnect the Dots\nThe Hub\nOn Edge\nWhat Else Did You See?\nRun\nLevitation\nTo Be Continued", + "total_tracks": 34, + "spotify_url": "https://open.spotify.com/album/2l0rdHb97fQidl9dsOxE6B", + "created_at": "2025-12-20T15:52:08.024Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 53, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things, Vol. 1 (A Netflix Original Series Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2733fbdbf37626f8bee2abe8a39", + "part_or_season": "Unknown", + "release_date": "2016-08-12", + "artists": "Kyle Dixon & Michael Stein", + "tracklist": "Stranger Things\nKids\nNancy and Barb\nThis Isn't You\nLay-Z-Boy\nFriendship\nEleven\nA Kiss\nCastle Byers\nHawkins\nThe Upside Down\nAfter Sarah\nOne Blink for Yes\nPhotos in the Woods\nFresh Blood\nLamps\nHallucinations\nHanging Lights\nBiking to School\nAre You Sure?\nAgents\nPapa\nCops Are Good at Finding\nNo Weapons\nWalking Through the Upside Down\nShe'll Kill You\nRun Away\nNo Autopsy\nDispatch\nJoyce and Lonnie Fighting\nLights Out\nHazmat Suits\nTheoretically\nYou Can Talk to Me\nWhat Else Is There to Do?\nHawkins Lab", + "total_tracks": 36, + "spotify_url": "https://open.spotify.com/album/1puplOrvmUGoq2VxsB0ENJ", + "created_at": "2025-12-20T15:52:08.237Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 54, + "fields": { + "media_type": "SERIES", + "media_title": "Stranger Things", + "album_title": "Stranger Things: Soundtrack from the Netflix Series, Season 4", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2739456740ce4c5a93003341286", + "part_or_season": "4", + "release_date": "2022-07-01", + "artists": "Various Artists", + "tracklist": "Separate Ways (Worlds Apart) - Bryce Miller/Alloy Tracks Remix\r\nCalifornia Dreamin'\r\nPsycho Killer\r\nRunning Up That Hill (A Deal with God)\r\nYou Spin Me Round (Like a Record)\r\nChica Mejicanita\r\nPlay With Me\r\nDetroit Rock City - Single Version\r\nI Was A Teenage Werewolf\r\nPass the Dutchie\r\nWipe Out\r\nObject Of My Desire - Single Version\r\nRock Me Amadeus - Full Length Gold Mix\r\nTravelin' Man\r\nTarzan Boy\r\nDream a Little Dream of Me\r\nRock and Roll, Hoochie Koo - Single Version\r\nFire and Rain\r\nSpellbound\r\nMaster of Puppets\r\nWhen It's Cold I'd Like To Die\r\nSeparate Ways (Worlds Apart) - Steve Perry & Bryce Miller Extended Remix", + "total_tracks": 22, + "spotify_url": "https://open.spotify.com/album/3Tij2oa4FJWd7Gk0pJaf0w", + "created_at": "2025-12-20T15:52:08.485Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 55, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things 3 (Original Score from the Netflix Original Series)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2738ad6d28ba7a9fe033fe23cb8", + "part_or_season": "Unknown", + "release_date": "2019-06-28", + "artists": "Kyle Dixon & Michael Stein", + "tracklist": "Boys and Girls\nI Like Presents Too\nStarcourt\nBlank Makes You Crazy\nI Need You to Trust Me\nYou're a Fighter\nThe Ceiling Is Beautiful\nThe First I love You\nRats\nWhat Did You Do To Him?\nFind the Source\nThe Silver Cat Feeds\nHeather's\nWilliam\nDestroying the Castle\nIn the Void\nTammy\nMirkwood\nPortal Drill\nHappy Screams\nRuins\nIt's Just Ice\nThe Door Is Opening\nPlanck's Constant\nShe's Gone Home\nSeven Feet\nThe Week Is Long\nSauna Test\nSix Facts\nThe Trees Are Moving\nOn Their Tracks\nNot Chinese Food\nBlueprints\nLand Deeds\nNot Kids Anymore\nCode Red\nFeel Safe\nHe’s Here\nScoops Troop\nWe Don't Understand Each Other\nAftermath", + "total_tracks": 41, + "spotify_url": "https://open.spotify.com/album/3qjUxwtbMHsiO0U20ezOjR", + "created_at": "2025-12-20T15:52:08.747Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 56, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things: Soundtrack from the Netflix Original Series, Season 3", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273de95344a3bafbaed194ea4be", + "part_or_season": "Unknown", + "release_date": "2019-07-05", + "artists": "Various Artists", + "tracklist": "Baba O'Riley - ConfidentialMX Remix\nThings Can Only Get Better\nMaterial Girl\nCold as Ice\nShe's Got You\nR.O.C.K. In the U.S.A. (A Salute to 60's Rock)\nNeutron Dance\nCan't Fight This Feeling\nWake Me Up Before You Go-Go\nMy Bologna\nMoving In Stereo\nNever Surrender\nLovergirl - Single Version\nWorkin' for a Livin'\nWe'll Meet Again\nNever Ending Story", + "total_tracks": 16, + "spotify_url": "https://open.spotify.com/album/7oiDQdZ810FzweT2fm3tAP", + "created_at": "2025-12-20T15:52:09.049Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 57, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things 4 (Original Score From The Netflix Series)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273acf5221c4faab1c7d2a8c792", + "part_or_season": "Unknown", + "release_date": "2022-07-01", + "artists": "Kyle Dixon & Michael Stein", + "tracklist": "What's the Internet?\nI wouldn’t remember me either.\nTeens\nJournalistic Instinct\n100% Convinced\nIn the closet (at Rink O Mania)\nDoes that make us friends?\nMy BOOBS Hurt.\nUnambiguous True Love\nStuck in 1983\nHawkins National Lab\nHellfire Club\nBuried Memories\nFancy Bomb\nWe are NOT Heroes\nNine Feet Tall\nHail Lord Vecna\nPowerful Psychic Connection\nRuth, Nevada\nHellfire Isn’t A Cult\nI Know What I Saw\nCurfew\nYou’re Regressing Eleven\nLetter to Willy\nPalm Tree Delight\nMusso\nBrenner’s Little Pet\nMr. Fibbly\nIt’s just a clock, right?\nWelcome to Kamchatka\nA Nightmare Far Worse\nCaught a Body at the Munsen Trailer\nA War is coming to Hawkins\nThe Elephant\nHurtling Towards a Gruesome Death\nBarefoot in the snow\nKills you in your dreams\nThe Shire is Burning\nBlood Balloons\nBurning Baby\nMugshot\nThere are some things worse than ghosts...\nA memory within a memory\nA Proper Thump\nHiiiiiiiii\nStill Dizzy\nReign Fire From Above\nReligious American\nSurf that Tasty Pie\nFollow me into Death", + "total_tracks": 80, + "spotify_url": "https://open.spotify.com/album/5qRG8S2ClNtl71wEf2TKPp", + "created_at": "2025-12-20T15:52:09.302Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 58, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Funk Stranger Things", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c177061440a36b12447b2842", + "part_or_season": "Unknown", + "release_date": "2025-12-08", + "artists": "Mc Delux, MC Donzela, DJ Cris Fontedofunk", + "tracklist": "Funk Stranger Things", + "total_tracks": 1, + "spotify_url": "https://open.spotify.com/album/4u8lkyhvotvvgDeLeB7ZyY", + "created_at": "2025-12-20T15:52:09.451Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 59, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things, Vol. 2 (A Netflix Original Series Soundtrack)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c2c2b3721ed236205f5394e3", + "part_or_season": "Unknown", + "release_date": "2016-08-19", + "artists": "Kyle Dixon & Michael Stein", + "tracklist": "Hopper Sneaks In\nI Know What I Saw\nRolling out the Pool\nOver\nGearing Up\nFlickering\nFirst Kiss\nCrying\nWalking Down the Tracks\nWhere's Barb?\nSpeak of the Devil\nDanger Danger\nTribulations\nFlashback\nKids Two\nTalking to Australia\nNight of the Seventh\nSee Any Rain?\nCoffee & Contemplation\nInside the Black Room\nStarts to Rain\nEleven Is Gone\nTime for a 187\nSomething in the House\nStill Pretty\nAbilities\nTendril\nThey Found Us\nBad Men\nSpiked Bat\nMaking Contact\nWhat Do You Know?\nIt's Not My Boy\nSomething in the Wall\nLet's Go\nLeap of Faith\nIn Pursuit\nBreaking and Entering\nStranger Things - Extended", + "total_tracks": 39, + "spotify_url": "https://open.spotify.com/album/5d1hWmBYkAkVAE9XG5njrz", + "created_at": "2025-12-20T15:52:09.626Z" + } +}, +{ + "model": "frisson_music.album", + "pk": 60, + "fields": { + "media_type": "", + "media_title": "", + "album_title": "Stranger Things (Soundtrack from the Netflix Original Series)", + "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273bd0db295c0164ddbc0584ebb", + "part_or_season": "Unknown", + "release_date": "2017-10-27", + "artists": "Various Artists", + "tracklist": "INTRO - Will Singing the Clash\nEvery Breath You Take\nShould I Stay or Should I Go - Remastered\n'Coffee and contemplation'\nHazy Shade of Winter\nNocturnal Me\n'Bring him home!'\nSunglasses at Night\nGirls On Film\n'Just because people tell you...'\nAtmosphere\n'Maybe I'm crazy...'\nTwist of Fate\n'Says logic'\nThe Ghost in You\nAfrica\nYou Don't Mess Around With Jim\n'Accident or not'\nWhip It\nRunaway\nTime After Time\nTalking In Your Sleep\n'Mouthbreather'\nBack to Nature\n'She's our friend and she's crazy!'\nRock You Like a Hurricane - 2011\nHeroes\n'Friends don't lie'\nElegia\nOUTRO - Will Singing the Clash", + "total_tracks": 30, + "spotify_url": "https://open.spotify.com/album/0CTCk1eshEadFqZ4NBfe9N", + "created_at": "2025-12-20T15:52:09.775Z" + } +}, +{ + "model": "frisson_music.rating", + "pk": 1, + "fields": { + "user": 2, + "album": 32, + "score": 3, + "created_at": "2025-12-21T10:51:34.880Z" + } +}, +{ + "model": "frisson_music.rating", + "pk": 2, + "fields": { + "user": 1, + "album": 32, + "score": 4, + "created_at": "2025-12-21T11:12:00.477Z" + } +}, +{ + "model": "frisson_music.rating", + "pk": 3, + "fields": { + "user": 1, + "album": 54, + "score": 5, + "created_at": "2025-12-21T11:55:22.099Z" + } +}, +{ + "model": "frisson_music.rating", + "pk": 4, + "fields": { + "user": 2, + "album": 28, + "score": 2, + "created_at": "2025-12-21T20:26:37.233Z" + } +}, +{ + "model": "frisson_music.rating", + "pk": 5, + "fields": { + "user": 2, + "album": 27, + "score": 3, + "created_at": "2025-12-22T13:57:27.836Z" + } +}, +{ + "model": "frisson_music.rating", + "pk": 6, + "fields": { + "user": 1, + "album": 28, + "score": 5, + "created_at": "2025-12-23T11:00:39.808Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 1, + "fields": { + "user": 2, + "album": 32, + "text": "Wow!", + "created_at": "2025-12-21T08:41:50.528Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 2, + "fields": { + "user": 2, + "album": 32, + "text": "reoekf", + "created_at": "2025-12-21T08:43:16.296Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 3, + "fields": { + "user": 2, + "album": 32, + "text": "khg", + "created_at": "2025-12-21T08:53:51.988Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 4, + "fields": { + "user": 1, + "album": 32, + "text": "kjshdfkrjb", + "created_at": "2025-12-21T11:12:16.445Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 5, + "fields": { + "user": 1, + "album": 32, + "text": ",ajdnbvfkjsd", + "created_at": "2025-12-21T11:12:29.136Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 6, + "fields": { + "user": 1, + "album": 32, + "text": "kjwvfnlwrn", + "created_at": "2025-12-21T11:12:33.135Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 8, + "fields": { + "user": 2, + "album": 29, + "text": "kjhb", + "created_at": "2025-12-21T20:16:30.764Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 9, + "fields": { + "user": 2, + "album": 29, + "text": "kjasd", + "created_at": "2025-12-21T20:24:33.029Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 11, + "fields": { + "user": 2, + "album": 28, + "text": "kjjbkj", + "created_at": "2025-12-21T20:34:39.543Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 13, + "fields": { + "user": 2, + "album": 27, + "text": "Wow!", + "created_at": "2025-12-22T13:58:18.295Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 14, + "fields": { + "user": 2, + "album": 27, + "text": "Nice))", + "created_at": "2025-12-22T13:58:24.966Z" + } +}, +{ + "model": "frisson_music.comment", + "pk": 15, + "fields": { + "user": 1, + "album": 27, + "text": "Superrr!", + "created_at": "2025-12-22T13:58:53.974Z" + } +} +] diff --git a/frisson_music_service/settings/__init__.py b/frisson_music_service/settings/__init__.py index e69de29..f12aa72 100644 --- a/frisson_music_service/settings/__init__.py +++ b/frisson_music_service/settings/__init__.py @@ -0,0 +1,3 @@ +from .dev import * +from .base import * +from .prod import * diff --git a/manage.py b/manage.py index 94e12d3..d1c5b87 100644 --- a/manage.py +++ b/manage.py @@ -10,7 +10,7 @@ def main(): """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings.dev') + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings.prod') try: from django.core.management import execute_from_command_line except ImportError as exc: diff --git a/requirements.txt b/requirements.txt index 86380ae..5576b01 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,6 +22,7 @@ mccabe==0.7.0 mdurl==0.1.2 packaging==25.0 pluggy==1.6.0 +psycopg2-binary==2.9.11 pycodestyle==2.14.0 pyflakes==3.4.0 Pygments==2.19.2 @@ -29,6 +30,7 @@ pytailwindcss==0.3.0 pytest==9.0.2 pytest-django==4.11.1 python-dateutil==2.9.0.post0 +python-dotenv==1.2.1 python-slugify==8.0.4 PyYAML==6.0.3 redis==7.1.0 From 0d03314a5dc75e0ea404705feeae967fd868f6ee Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 18:12:15 +0200 Subject: [PATCH 52/82] updated .env.sample --- .env.sample | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.env.sample b/.env.sample index 4321072..34ea9ea 100644 --- a/.env.sample +++ b/.env.sample @@ -4,3 +4,7 @@ POSTGRES_DB_PORT= POSTGRES_USER= POSTGRES_PASSWORD= POSTGRES_HOST= + +#Django +SECRET_KEY=WhupPaAmD6v2XVrV585NWEZxXrL6lgbA +DJANGO_SETTINGS_MODULE=frisson_music_service.settings From 31a7331584a133632e90653882226848ceb3fd82 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 18:32:58 +0200 Subject: [PATCH 53/82] staticfiles managing --- frisson_music_service/settings/base.py | 3 +++ requirements.txt | 1 + staticfiles/.gitkeep | 0 3 files changed, 4 insertions(+) create mode 100644 staticfiles/.gitkeep diff --git a/frisson_music_service/settings/base.py b/frisson_music_service/settings/base.py index 0ecb357..f99c878 100644 --- a/frisson_music_service/settings/base.py +++ b/frisson_music_service/settings/base.py @@ -38,6 +38,7 @@ MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', + "whitenoise.middleware.WhiteNoiseMiddleware", 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -103,6 +104,8 @@ # https://docs.djangoproject.com/en/6.0/howto/static-files/ STATIC_URL = 'static/' +STATIC_ROOT = "staticfiles/" + STATICFILES_DIRS = [ BASE_DIR / "static", ] diff --git a/requirements.txt b/requirements.txt index 5576b01..c0cc221 100644 --- a/requirements.txt +++ b/requirements.txt @@ -44,3 +44,4 @@ text-unidecode==1.3 typing_extensions==4.15.0 tzdata==2025.3 urllib3==2.6.2 +whitenoise==6.11.0 diff --git a/staticfiles/.gitkeep b/staticfiles/.gitkeep new file mode 100644 index 0000000..e69de29 From 17c5bbbbb8327200da61190dafcbf5543cf78a82 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 19:41:18 +0200 Subject: [PATCH 54/82] added build.sh and finalize prod.py for deploy --- build.sh | 12 ++++++++++++ frisson_music_service/settings/prod.py | 5 ++++- requirements.txt | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 build.sh diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..9e6b7da --- /dev/null +++ b/build.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Exit on error +set -o errexit + +# Modify this line as needed for your package manager (pip, poetry, etc.) +pip install -r requirements.txt + +# Convert static asset files +python manage.py collectstatic --no-input + +# Apply any outstanding database migrations +python manage.py migrate diff --git a/frisson_music_service/settings/prod.py b/frisson_music_service/settings/prod.py index 5e3e819..c952e5c 100644 --- a/frisson_music_service/settings/prod.py +++ b/frisson_music_service/settings/prod.py @@ -4,8 +4,11 @@ # SECURITY WARNING: don't run with debug turned on in production! DEBUG = False -ALLOWED_HOSTS = ["127.0.0.1", "localhost"] +ALLOWED_HOSTS = [] +RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME') +if RENDER_EXTERNAL_HOSTNAME: + ALLOWED_HOSTS.append(RENDER_EXTERNAL_HOSTNAME) # Database # https://docs.djangoproject.com/en/6.0/ref/settings/#databases diff --git a/requirements.txt b/requirements.txt index c0cc221..a8dc60a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,6 +13,7 @@ django-bootstrap4==25.3 django-browser-reload==1.21.0 django-tailwind==4.4.2 flake8==7.3.0 +gunicorn==23.0.0 idna==3.11 iniconfig==2.3.0 Jinja2==3.1.6 From ac00673de2b1cfd2f8789c40ba21d75539dcda1f Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 22:16:37 +0200 Subject: [PATCH 55/82] added production URL to README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 435c01d..8bee0f5 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,14 @@ Here, albums are clearly linked to media, seasons, parts, and release context --- +## 🌍 Deployed Application + +Live version of the project available here: + +- https://frisson-music.onrender.com + +--- + ## 🚀 Features - Browse OST albums by: From 299104213d1d5d330d4cd7bf67395432ab71fdd7 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 23 Dec 2025 23:39:21 +0200 Subject: [PATCH 56/82] added WakaTime Badge to README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8bee0f5..42ce132 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# 🎵 Frisson Music +[![wakatime](https://wakatime.com/badge/user/ddd893b9-21da-4cb4-9172-465025e48d6b/project/93c4c1be-2695-4d26-a35d-13d5c789bf9f.svg)](https://wakatime.com/projects/frisson_music) + +## 🎵 Frisson Music **Frisson Music** is a community-driven OST hub for discovering, rating, and discussing soundtracks from movies, series, anime, and games. From 4bea451107ff3ffb80ed9ee69771604bed7eb3cb Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 26 Dec 2025 16:59:16 +0200 Subject: [PATCH 57/82] fixed all tests --- frisson_music/test_suite/test_comments.py | 82 ++++++++++++---- frisson_music/test_suite/test_models.py | 42 ++------- frisson_music/test_suite/test_search.py | 56 ++++++----- frisson_music/test_suite/test_views.py | 103 +++++++++++---------- frisson_music_service/settings/__init__.py | 2 - manage.py | 2 +- 6 files changed, 159 insertions(+), 128 deletions(-) diff --git a/frisson_music/test_suite/test_comments.py b/frisson_music/test_suite/test_comments.py index cb3b98e..d2f5690 100644 --- a/frisson_music/test_suite/test_comments.py +++ b/frisson_music/test_suite/test_comments.py @@ -1,23 +1,69 @@ -import pytest +from django.contrib.auth import get_user_model +from django.test import TestCase -from django.urls import reverse -from frisson_music.models import Album, Comment +from frisson_music.models import Album, Rating -@pytest.mark.django_db -def test_anonymous_user_cannot_add_comment(client): - album = Album.objects.create( - album_title="OST", - media_title="Media", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) +User = get_user_model() - client.post( - reverse("album-detail", args=[album.pk]), - {"text": "Hack attempt"} - ) - assert Comment.objects.count() == 0 +class TestRatings(TestCase): + + def setUp(self): + self.user1 = User.objects.create_user( + username="testuser1", + email="user1@example.com", + password="12345" + ) + self.user2 = User.objects.create_user( + username="testuser2", + email="user2@example.com", + password="12345" + ) + + self.album = Album.objects.create( + album_title="OST", + media_title="Media", + media_type="ANIME", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + + def test_user_can_rate_album_once(self): + Rating.objects.create( + user=self.user1, + album=self.album, + score=4 + ) + + Rating.objects.update_or_create( + user=self.user1, + album=self.album, + defaults={"score": 2} + ) + + ratings = Rating.objects.filter( + user=self.user1, + album=self.album + ) + + self.assertEqual(ratings.count(), 1) + self.assertEqual(ratings.first().score, 2) + + def test_average_rating_calculation(self): + Rating.objects.create( + user=self.user1, + album=self.album, + score=4 + ) + Rating.objects.create( + user=self.user2, + album=self.album, + score=2 + ) + + ratings = self.album.ratings.all() + avg_rating = sum(r.score for r in ratings) / ratings.count() + + self.assertEqual(avg_rating, 3) diff --git a/frisson_music/test_suite/test_models.py b/frisson_music/test_suite/test_models.py index 8c20f06..604e59b 100644 --- a/frisson_music/test_suite/test_models.py +++ b/frisson_music/test_suite/test_models.py @@ -1,6 +1,6 @@ import pytest - from django.contrib.auth import get_user_model + from frisson_music.models import Album, Rating @@ -9,7 +9,11 @@ @pytest.mark.django_db def test_user_can_rate_album_once(): - user = User.objects.create_user(username="testuser", password="12345") + user = User.objects.create_user( + username="testuser", + email="user1@example.com", + password="12345" + ) album = Album.objects.create( album_title="OST", media_title="Media", @@ -27,35 +31,7 @@ def test_user_can_rate_album_once(): defaults={"score": 2} ) - ratings = Rating.objects.filter(user=user, album=album) - assert ratings.count() == 1 - assert ratings.first().score == 2 - - -@pytest.mark.django_db -def test_average_rating_calculation(): - user1 = User.objects.create_user( - username="user1", - email="user1@example.com", - password="12345") - user2 = User.objects.create_user( - username="user2", - email="user2@example.com", - password="12345") - - album = Album.objects.create( - album_title="OST", - media_title="Media", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) - - Rating.objects.create(user=user1, album=album, score=4) - Rating.objects.create(user=user2, album=album, score=2) - - ratings = album.ratings.all() - avg = sum(r.score for r in ratings) / ratings.count() + rating = Rating.objects.get(user=user, album=album) - assert avg == 3 + assert Rating.objects.count() == 1 + assert rating.score == 2 diff --git a/frisson_music/test_suite/test_search.py b/frisson_music/test_suite/test_search.py index dee1c01..f37a7d3 100644 --- a/frisson_music/test_suite/test_search.py +++ b/frisson_music/test_suite/test_search.py @@ -1,29 +1,39 @@ -import pytest +from django.test import TestCase from django.urls import reverse + from frisson_music.models import Album -@pytest.mark.django_db -def test_search_by_album_title(client): - Album.objects.create( - album_title="Best OST Ever", - media_title="Test", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) - Album.objects.create( - album_title="Random Album", - media_title="Test", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) +class TestAlbumSearch(TestCase): + + def setUp(self): + Album.objects.create( + album_title="Best OST Ever", + media_title="Test", + media_type="ANIME", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + Album.objects.create( + album_title="Random Album", + media_title="Test", + media_type="ANIME", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + + def test_search_by_album_title(self): + response = self.client.get( + reverse("album-list") + "?search=best" + ) - response = client.get(reverse("album-list") + "?search=best") + self.assertEqual(response.status_code, 200) - albums = response.context["albums"] - assert albums.count() == 1 - assert "Best" in albums.first().album_title + albums = response.context["albums"] + self.assertEqual(albums.count(), 1) + self.assertIn( + "Best", + albums.first().album_title + ) diff --git a/frisson_music/test_suite/test_views.py b/frisson_music/test_suite/test_views.py index e2bc841..a455bdb 100644 --- a/frisson_music/test_suite/test_views.py +++ b/frisson_music/test_suite/test_views.py @@ -1,55 +1,56 @@ -import pytest - +from django.test import TestCase from django.urls import reverse + from frisson_music.models import Album -@pytest.mark.django_db -def test_media_list_returns_unique_media(client): - Album.objects.create( - album_title="OST 1", - media_title="Attack on Titan", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) - Album.objects.create( - album_title="OST 2", - media_title="Attack on Titan", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) - - response = client.get(reverse("media-list")) - - media_list = response.context["media_list"] - assert len(media_list) == 1 - - -@pytest.mark.django_db -def test_media_detail_filters_by_media_title(client): - Album.objects.create( - album_title="S1", - media_title="AOT", - media_type="ANIME", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) - Album.objects.create( - album_title="Movie OST", - media_title="Other", - media_type="MOVIE", - total_tracks=10, - part_or_season="1", - release_date="2025-12-21" - ) - - response = client.get(reverse("media-detail", args=["AOT"])) - - albums = response.context["albums"] - assert albums.count() == 1 - assert albums.first().media_title == "AOT" +class TestMediaViews(TestCase): + + def test_media_list_returns_unique_media(self): + Album.objects.create( + album_title="OST 1", + media_title="Attack on Titan", + media_type="ANIME", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + Album.objects.create( + album_title="OST 2", + media_title="Attack on Titan", + media_type="ANIME", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + + response = self.client.get(reverse("media-list")) + self.assertEqual(response.status_code, 200) + + media_list = response.context["media_list"] + self.assertEqual(len(media_list), 1) + + def test_media_detail_filters_by_media_title(self): + Album.objects.create( + album_title="S1", + media_title="AOT", + media_type="ANIME", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + Album.objects.create( + album_title="Movie OST", + media_title="Other", + media_type="MOVIE", + total_tracks=10, + part_or_season="1", + release_date="2025-12-21" + ) + + response = self.client.get(reverse("media-detail", args=["AOT"])) + self.assertEqual(response.status_code, 200) + + albums = response.context["albums"] + self.assertEqual(albums.count(), 1) + self.assertEqual(albums.first().media_title, "AOT") diff --git a/frisson_music_service/settings/__init__.py b/frisson_music_service/settings/__init__.py index f12aa72..c787328 100644 --- a/frisson_music_service/settings/__init__.py +++ b/frisson_music_service/settings/__init__.py @@ -1,3 +1 @@ from .dev import * -from .base import * -from .prod import * diff --git a/manage.py b/manage.py index d1c5b87..94e12d3 100644 --- a/manage.py +++ b/manage.py @@ -10,7 +10,7 @@ def main(): """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings.prod') + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings.dev') try: from django.core.management import execute_from_command_line except ImportError as exc: From aa676d4554cc5457e8a10e70aaee3660243b8454 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 26 Dec 2025 17:41:54 +0200 Subject: [PATCH 58/82] changed Album model release_date fild to DateField instead of CharField --- ...3_album_release_date_precision_and_more.py | 23 +++++++++++++ frisson_music/models.py | 32 ++++++++++++++++++- populate_db.py | 6 +++- 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 frisson_music/migrations/0003_album_release_date_precision_and_more.py diff --git a/frisson_music/migrations/0003_album_release_date_precision_and_more.py b/frisson_music/migrations/0003_album_release_date_precision_and_more.py new file mode 100644 index 0000000..4e2732d --- /dev/null +++ b/frisson_music/migrations/0003_album_release_date_precision_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 6.0 on 2025-12-26 15:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('frisson_music', '0002_alter_user_is_active'), + ] + + operations = [ + migrations.AddField( + model_name='album', + name='release_date_precision', + field=models.CharField(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], max_length=10, null=True), + ), + migrations.AlterField( + model_name='album', + name='release_date', + field=models.DateField(null=True), + ), + ] diff --git a/frisson_music/models.py b/frisson_music/models.py index 30d4f5a..da3a516 100644 --- a/frisson_music/models.py +++ b/frisson_music/models.py @@ -3,6 +3,7 @@ from django.contrib.auth.models import AbstractUser from django.db import models from django.urls import reverse +from datetime import date class User(AbstractUser): @@ -23,18 +24,47 @@ class MediaType(models.TextChoices): GAME = "GAME", "Game" MOVIE = "MOVIE", "Movie" + class ReleaseDatePrecision(models.TextChoices): + YEAR = "year", "Year" + MONTH = "month", "Month" + DAY = "day", "Day" + media_type = models.CharField(max_length=10, choices=MediaType.choices) media_title = models.CharField(max_length=255) album_title = models.CharField(max_length=255) cover_image_url = models.URLField() part_or_season = models.CharField(max_length=255, default="Unknown") - release_date = models.CharField(max_length=10, default="Unknown") + release_date = models.DateField(null=True) + release_date_precision = models.CharField( + max_length=10, + choices=ReleaseDatePrecision.choices, + null=True, + ) artists = models.TextField(help_text="Comma-separated list of artists") tracklist = models.TextField(help_text="Each track on a new line") total_tracks = models.PositiveIntegerField() spotify_url = models.URLField(blank=True, null=True) created_at = models.DateTimeField(auto_now_add=True) + @staticmethod + def parse_release_date(value: str): + """ + Convert release_date from Spotify to DateField + """ + parts = value.split("-") + year = int(parts[0]) + month = int(parts[1]) if len(parts) > 1 else 1 + day = int(parts[2]) if len(parts) > 2 else 1 + + if len(parts) == 1: + precision = Album.ReleaseDatePrecision.YEAR + elif len(parts) == 2: + precision = Album.ReleaseDatePrecision.MONTH + else: + precision = Album.ReleaseDatePrecision.DAY + + return date(year, month, day), precision + def get_absolute_url(self): return reverse("frisson_music:album-detail", kwargs={"pk": self.pk}) diff --git a/populate_db.py b/populate_db.py index 2aa728a..238274a 100644 --- a/populate_db.py +++ b/populate_db.py @@ -27,7 +27,7 @@ for alb in albums: album_title = alb['name'] cover_image_url = alb['images'][0]['url'] if alb['images'] else "" - release_date = alb['release_date'] + raw_release_date = alb['release_date'] artists = ", ".join([artist['name'] for artist in alb['artists']]) total_tracks = alb['total_tracks'] spotify_url = alb['external_urls']['spotify'] @@ -35,11 +35,15 @@ tracks_data = sp.album_tracks(alb['id']) tracklist = "\n".join([track['name'] for track in tracks_data['items']]) + # --- Date Convertion with parse_release_date --- + release_date, release_date_precision = Album.parse_release_date(raw_release_date) + Album.objects.update_or_create( album_title=album_title, defaults={ "cover_image_url": cover_image_url, "release_date": release_date, + "release_date_precision": release_date_precision, "artists": artists, "tracklist": tracklist, "total_tracks": total_tracks, From cc9a4c1ab85990bdae76e965a609fd9d83349fa8 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 26 Dec 2025 17:54:13 +0200 Subject: [PATCH 59/82] fixed N+1 problem when calculating avg_rating --- frisson_music/models.py | 7 ++++--- frisson_music/views.py | 37 +++++++++++++++++-------------------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/frisson_music/models.py b/frisson_music/models.py index da3a516..b2b05be 100644 --- a/frisson_music/models.py +++ b/frisson_music/models.py @@ -2,6 +2,7 @@ from django.core.validators import MinValueValidator, MaxValueValidator from django.contrib.auth.models import AbstractUser from django.db import models +from django.db.models import Avg from django.urls import reverse from datetime import date @@ -70,9 +71,9 @@ def get_absolute_url(self): @property def average_rating(self): - ratings = self.ratings.all() - if ratings.exists(): - return round(sum(r.score for r in ratings) / ratings.count(), 2) + avg = self.ratings.aggregate(avg_score=Avg("score"))["avg_score"] + if avg is not None: + return round(avg, 2) return None diff --git a/frisson_music/views.py b/frisson_music/views.py index f84c75e..95efcae 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -2,6 +2,7 @@ from django.contrib.auth.decorators import login_required from django.contrib.auth.mixins import LoginRequiredMixin +from django.db.models import Avg from django.shortcuts import redirect, get_object_or_404 from django.urls import reverse_lazy, reverse from django.views.generic import ( @@ -71,33 +72,29 @@ class AlbumDetailView(DetailView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - # Comments - context["comments"] = (self.object.comments.select_related("user") - .order_by("-created_at")) + # --- Comments --- + context["comments"] = ( + self.object.comments.select_related("user") + .order_by("-created_at") + ) context["comment_form"] = CommentForm() - # Rating: Average - ratings = self.object.ratings.select_related("user").all() - if ratings.exists(): - avg = round(sum(r.score for r in ratings) / ratings.count(), 1) - else: - avg = 0 - context["average_rating"] = avg + # --- Rating: Average --- + avg = self.object.ratings.aggregate(avg_score=Avg("score"))["avg_score"] or 0 + context["average_rating"] = round(avg, 1) - # User's Rating + # --- User's Rating --- user_rating = None if self.request.user.is_authenticated: - try: - user_rating = Rating.objects.get(album=self.object, - user=self.request.user) - except Rating.DoesNotExist: - user_rating = None + user_rating = Rating.objects.filter( + album=self.object, user=self.request.user + ).first() context["user_rating"] = user_rating - # Stars for template + # --- Stars for template --- context["stars"] = [1, 2, 3, 4, 5] - # Rating form + # --- Rating form --- context["rating_form"] = RatingForm() return context @@ -105,7 +102,7 @@ def get_context_data(self, **kwargs): def post(self, request, *args, **kwargs): self.object = self.get_object() - # Comment submission + # --- Comment submission --- if "text" in request.POST: if not request.user.is_authenticated: return redirect("login") @@ -117,7 +114,7 @@ def post(self, request, *args, **kwargs): comment.save() return redirect("album-detail", pk=self.object.pk) - # Rating submission + # --- Rating submission --- if "score" in request.POST: if not request.user.is_authenticated: return redirect("login") From fe58c4534257500ad46d15c39672f1fee772ca26 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 26 Dec 2025 18:07:51 +0200 Subject: [PATCH 60/82] implemented django debug toolbar --- frisson_music/urls.py | 1 + frisson_music_service/settings/base.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/frisson_music/urls.py b/frisson_music/urls.py index fa64428..7bfca5b 100644 --- a/frisson_music/urls.py +++ b/frisson_music/urls.py @@ -13,6 +13,7 @@ urlpatterns = [ + path("__debug__/", include("debug_toolbar.urls")), path("", HomePageView.as_view(), name="home"), path("register/", RegisterView.as_view(), name="register"), path("accounts/", include("django.contrib.auth.urls")), diff --git a/frisson_music_service/settings/base.py b/frisson_music_service/settings/base.py index f99c878..325993a 100644 --- a/frisson_music_service/settings/base.py +++ b/frisson_music_service/settings/base.py @@ -34,10 +34,12 @@ 'django.contrib.staticfiles', "frisson_music", "bootstrap4", + "debug_toolbar", ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', + "debug_toolbar.middleware.DebugToolbarMiddleware", "whitenoise.middleware.WhiteNoiseMiddleware", 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', @@ -112,3 +114,5 @@ LOGIN_REDIRECT_URL = "/" LOGOUT_REDIRECT_URL = "/" + +INTERNAL_IPS = ["127.0.0.1"] From 63e66aa8d088d48b4b5fa257871331004de9ab7d Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 12:47:23 +0200 Subject: [PATCH 61/82] optimized queries in views.py --- frisson_music/views.py | 37 ++++++++++++++----------------- templates/frisson_music/home.html | 8 +++---- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/frisson_music/views.py b/frisson_music/views.py index 95efcae..e86bb04 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -29,18 +29,17 @@ class HomePageView(TemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - context["latest_anime"] = Album.objects.filter( - media_type="ANIME" - ).order_by('-release_date')[:5] - context["latest_series"] = Album.objects.filter( - media_type="SERIES" - ).order_by('-release_date')[:5] - context["latest_game"] = Album.objects.filter( - media_type="GAME" - ).order_by('-release_date')[:5] - context["latest_movie"] = Album.objects.filter( - media_type="MOVIE" - ).order_by('-release_date')[:5] + albums = ( + Album.objects + .order_by("-release_date") + ) + + context["latest"] = { + "ANIME": albums.filter(media_type="ANIME")[:5], + "SERIES": albums.filter(media_type="SERIES")[:5], + "GAME": albums.filter(media_type="GAME")[:5], + "MOVIE": albums.filter(media_type="MOVIE")[:5], + } return context @@ -162,25 +161,23 @@ class MediaDetailView(ListView): def get_queryset(self): media_title = self.kwargs.get("media_title") media_type = self.request.GET.get("type") + queryset = Album.objects.filter(media_title=media_title) if media_type: queryset = queryset.filter(media_type=media_type) + return queryset.order_by("part_or_season", "-release_date") def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - media_title = self.kwargs.get("media_title") - media_type = self.request.GET.get("type") - context["media_title"] = media_title - context["media_type"] = media_type - # Group by Part/Season - albums = self.get_queryset() + context["media_title"] = self.kwargs.get("media_title") + context["media_type"] = self.request.GET.get("type") + grouped_albums = defaultdict(list) - for album in albums: + for album in context["albums"]: grouped_albums[album.part_or_season].append(album) - # Sort by key context["grouped_albums"] = dict(sorted(grouped_albums.items())) return context diff --git a/templates/frisson_music/home.html b/templates/frisson_music/home.html index 62410a9..916c4f0 100644 --- a/templates/frisson_music/home.html +++ b/templates/frisson_music/home.html @@ -37,7 +37,7 @@

- {% for album in latest_anime %} + {% for album in latest.ANIME %}
- {% for album in latest_series %} + {% for album in latest.SERIES %}
- {% for album in latest_game %} + {% for album in latest.GAME %}
- {% for album in latest_movie %} + {% for album in latest.MOVIE %}
Date: Sat, 27 Dec 2025 14:07:59 +0200 Subject: [PATCH 62/82] removed duplicate redirect logic in the post method --- frisson_music/views.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frisson_music/views.py b/frisson_music/views.py index e86bb04..287aafb 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -100,23 +100,27 @@ def get_context_data(self, **kwargs): def post(self, request, *args, **kwargs): self.object = self.get_object() + redirect_response = redirect("album-detail", pk=self.object.pk) # --- Comment submission --- if "text" in request.POST: if not request.user.is_authenticated: return redirect("login") + form = CommentForm(request.POST) if form.is_valid(): comment = form.save(commit=False) comment.album = self.object comment.user = request.user comment.save() - return redirect("album-detail", pk=self.object.pk) + + return redirect_response # --- Rating submission --- if "score" in request.POST: if not request.user.is_authenticated: return redirect("login") + rating_value = int(request.POST.get("score", 0)) if 1 <= rating_value <= 5: Rating.objects.update_or_create( @@ -124,9 +128,10 @@ def post(self, request, *args, **kwargs): user=request.user, defaults={"score": rating_value} ) - return redirect("album-detail", pk=self.object.pk) - return redirect("album-detail", pk=self.object.pk) + return redirect_response + + return redirect_response class AlbumUpdateView(LoginRequiredMixin, UpdateView): From 8950164ce438526018de2a828104b0863efca23c Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 14:50:25 +0200 Subject: [PATCH 63/82] refactored views: reduced fat views and optimized queries --- frisson_music/models.py | 44 +++++++------- frisson_music/views.py | 132 ++++++++++++---------------------------- 2 files changed, 61 insertions(+), 115 deletions(-) diff --git a/frisson_music/models.py b/frisson_music/models.py index b2b05be..ab4ae23 100644 --- a/frisson_music/models.py +++ b/frisson_music/models.py @@ -18,6 +18,17 @@ class Meta: verbose_name_plural = "users" +class AlbumQuerySet(models.QuerySet): + def latest_by_type(self, media_type, n=5): + return self.filter(media_type=media_type).order_by("-release_date")[:n] + + def by_media_title(self, media_title, media_type=None): + qs = self.filter(media_title=media_title) + if media_type: + qs = qs.filter(media_type=media_type) + return qs.order_by("part_or_season", "-release_date") + + class Album(models.Model): class MediaType(models.TextChoices): ANIME = "ANIME", "Anime" @@ -47,11 +58,13 @@ class ReleaseDatePrecision(models.TextChoices): spotify_url = models.URLField(blank=True, null=True) created_at = models.DateTimeField(auto_now_add=True) + objects = AlbumQuerySet.as_manager() + + def get_absolute_url(self): + return reverse("frisson_music:album-detail", kwargs={"pk": self.pk}) + @staticmethod def parse_release_date(value: str): - """ - Convert release_date from Spotify to DateField - """ parts = value.split("-") year = int(parts[0]) month = int(parts[1]) if len(parts) > 1 else 1 @@ -66,24 +79,13 @@ def parse_release_date(value: str): return date(year, month, day), precision - def get_absolute_url(self): - return reverse("frisson_music:album-detail", kwargs={"pk": self.pk}) - - @property def average_rating(self): - avg = self.ratings.aggregate(avg_score=Avg("score"))["avg_score"] - if avg is not None: - return round(avg, 2) - return None + return self.ratings.aggregate(avg_score=Avg("score"))["avg_score"] or 0 class Rating(models.Model): - user = models.ForeignKey( - settings.AUTH_USER_MODEL, on_delete=models.CASCADE - ) - album = models.ForeignKey( - Album, on_delete=models.CASCADE, related_name="ratings" - ) + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name="ratings") score = models.PositiveSmallIntegerField( validators=[MinValueValidator(1), MaxValueValidator(5)] ) @@ -94,11 +96,7 @@ class Meta: class Comment(models.Model): - user = models.ForeignKey( - settings.AUTH_USER_MODEL, on_delete=models.CASCADE - ) - album = models.ForeignKey( - Album, on_delete=models.CASCADE, related_name="comments" - ) + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name="comments") text = models.TextField() created_at = models.DateTimeField(auto_now_add=True) diff --git a/frisson_music/views.py b/frisson_music/views.py index 287aafb..e9fd79a 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -1,25 +1,11 @@ from collections import defaultdict - from django.contrib.auth.decorators import login_required from django.contrib.auth.mixins import LoginRequiredMixin -from django.db.models import Avg from django.shortcuts import redirect, get_object_or_404 -from django.urls import reverse_lazy, reverse -from django.views.generic import ( - ListView, - DetailView, - UpdateView, - TemplateView, - CreateView -) - -from .forms import ( - AlbumUpdateForm, - CustomUserCreationForm, - UserUpdateForm, - CommentForm, - RatingForm -) +from django.urls import reverse_lazy +from django.views.generic import ListView, DetailView, UpdateView, TemplateView, CreateView + +from .forms import AlbumUpdateForm, CustomUserCreationForm, UserUpdateForm, CommentForm, RatingForm from .models import Album, User, Rating, Comment @@ -28,19 +14,10 @@ class HomePageView(TemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - - albums = ( - Album.objects - .order_by("-release_date") - ) - - context["latest"] = { - "ANIME": albums.filter(media_type="ANIME")[:5], - "SERIES": albums.filter(media_type="SERIES")[:5], - "GAME": albums.filter(media_type="GAME")[:5], - "MOVIE": albums.filter(media_type="MOVIE")[:5], - } - + latest = {} + for media_type in ["ANIME", "SERIES", "GAME", "MOVIE"]: + latest[media_type] = Album.objects.latest_by_type(media_type) + context["latest"] = latest return context @@ -51,17 +28,14 @@ class AlbumListView(ListView): paginate_by = 32 def get_queryset(self): - queryset = super().get_queryset() + qs = super().get_queryset() album_type = self.kwargs.get("album_type") - search_query = self.request.GET.get("search") - + search = self.request.GET.get("search") if album_type: - queryset = queryset.filter(media_type=album_type) - - if search_query: - queryset = queryset.filter(album_title__icontains=search_query) - - return queryset + qs = qs.filter(media_type=album_type) + if search: + qs = qs.filter(album_title__icontains=search) + return qs class AlbumDetailView(DetailView): @@ -70,65 +44,48 @@ class AlbumDetailView(DetailView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) + album = self.object # --- Comments --- - context["comments"] = ( - self.object.comments.select_related("user") - .order_by("-created_at") - ) + context["comments"] = album.comments.select_related("user").order_by("-created_at") context["comment_form"] = CommentForm() # --- Rating: Average --- - avg = self.object.ratings.aggregate(avg_score=Avg("score"))["avg_score"] or 0 - context["average_rating"] = round(avg, 1) + context["average_rating"] = round(album.average_rating(), 1) # --- User's Rating --- - user_rating = None if self.request.user.is_authenticated: - user_rating = Rating.objects.filter( - album=self.object, user=self.request.user - ).first() - context["user_rating"] = user_rating + context["user_rating"] = album.ratings.filter(user=self.request.user).first() + else: + context["user_rating"] = None - # --- Stars for template --- context["stars"] = [1, 2, 3, 4, 5] - - # --- Rating form --- context["rating_form"] = RatingForm() - return context def post(self, request, *args, **kwargs): - self.object = self.get_object() - redirect_response = redirect("album-detail", pk=self.object.pk) + album = self.get_object() + redirect_response = redirect("album-detail", pk=album.pk) # --- Comment submission --- - if "text" in request.POST: - if not request.user.is_authenticated: - return redirect("login") - + if "text" in request.POST and request.user.is_authenticated: form = CommentForm(request.POST) if form.is_valid(): comment = form.save(commit=False) - comment.album = self.object + comment.album = album comment.user = request.user comment.save() - return redirect_response # --- Rating submission --- - if "score" in request.POST: - if not request.user.is_authenticated: - return redirect("login") - - rating_value = int(request.POST.get("score", 0)) - if 1 <= rating_value <= 5: + if "score" in request.POST and request.user.is_authenticated: + score = int(request.POST.get("score", 0)) + if 1 <= score <= 5: Rating.objects.update_or_create( - album=self.object, + album=album, user=request.user, - defaults={"score": rating_value} + defaults={"score": score} ) - return redirect_response return redirect_response @@ -139,7 +96,7 @@ class AlbumUpdateView(LoginRequiredMixin, UpdateView): form_class = AlbumUpdateForm def get_success_url(self): - return reverse("album-detail", kwargs={"pk": self.object.pk}) + return reverse_lazy("album-detail", kwargs={"pk": self.object.pk}) class MediaListView(ListView): @@ -148,14 +105,11 @@ class MediaListView(ListView): paginate_by = 15 def get_queryset(self): - return ( - Album.objects - .exclude(media_title__isnull=True) - .exclude(media_title__exact="") - .order_by("media_title") - .values("media_title", "media_type") + return Album.objects.exclude(media_title__isnull=True) \ + .exclude(media_title="") \ + .order_by("media_title") \ + .values("media_title", "media_type") \ .distinct() - ) class MediaDetailView(ListView): @@ -166,24 +120,18 @@ class MediaDetailView(ListView): def get_queryset(self): media_title = self.kwargs.get("media_title") media_type = self.request.GET.get("type") + return Album.objects.by_media_title(media_title, media_type).select_related() - queryset = Album.objects.filter(media_title=media_title) - if media_type: - queryset = queryset.filter(media_type=media_type) - - return queryset.order_by("part_or_season", "-release_date") def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - + albums = context["albums"] + grouped = defaultdict(list) + for album in albums: + grouped[album.part_or_season].append(album) + context["grouped_albums"] = dict(sorted(grouped.items())) context["media_title"] = self.kwargs.get("media_title") context["media_type"] = self.request.GET.get("type") - - grouped_albums = defaultdict(list) - for album in context["albums"]: - grouped_albums[album.part_or_season].append(album) - - context["grouped_albums"] = dict(sorted(grouped_albums.items())) return context From fba541c763098e1034e332d217059ee456d3a175 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 15:12:36 +0200 Subject: [PATCH 64/82] added atabase indices for Album model --- ...tle_album_idx_album_title_trgm_and_more.py | 26 +++++++++++++++++++ frisson_music/models.py | 14 ++++++++++ frisson_music_service/settings/base.py | 1 + 3 files changed, 41 insertions(+) create mode 100644 frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py diff --git a/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py b/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py new file mode 100644 index 0000000..5dc8b2a --- /dev/null +++ b/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py @@ -0,0 +1,26 @@ +# Generated by Django 6.0 on 2025-12-27 13:00 + +import django.contrib.postgres.indexes +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('frisson_music', '0003_album_release_date_precision_and_more'), + ] + + operations = [ + migrations.AddIndex( + model_name='album', + index=models.Index(fields=['media_title'], name='idx_media_title'), + ), + migrations.AddIndex( + model_name='album', + index=django.contrib.postgres.indexes.GinIndex(fields=['album_title'], name='idx_album_title_trgm', opclasses=['gin_trgm_ops']), + ), + migrations.AddIndex( + model_name='album', + index=models.Index(fields=['release_date'], name='idx_release_date'), + ), + ] diff --git a/frisson_music/models.py b/frisson_music/models.py index ab4ae23..a754ca7 100644 --- a/frisson_music/models.py +++ b/frisson_music/models.py @@ -1,4 +1,5 @@ from django.conf import settings +from django.contrib.postgres.indexes import GinIndex from django.core.validators import MinValueValidator, MaxValueValidator from django.contrib.auth.models import AbstractUser from django.db import models @@ -60,6 +61,19 @@ class ReleaseDatePrecision(models.TextChoices): objects = AlbumQuerySet.as_manager() + class Meta: + indexes = [ + models.Index(fields=["media_title"], name="idx_media_title"), + + GinIndex( + name="idx_album_title_trgm", + fields=["album_title"], + opclasses=["gin_trgm_ops"] + ), + + models.Index(fields=["release_date"], name="idx_release_date"), + ] + def get_absolute_url(self): return reverse("frisson_music:album-detail", kwargs={"pk": self.pk}) diff --git a/frisson_music_service/settings/base.py b/frisson_music_service/settings/base.py index 325993a..766cafe 100644 --- a/frisson_music_service/settings/base.py +++ b/frisson_music_service/settings/base.py @@ -35,6 +35,7 @@ "frisson_music", "bootstrap4", "debug_toolbar", + "django.contrib.postgres", ] MIDDLEWARE = [ From 3aabdaebfe707a10d31a2915fa34197810580ddf Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 15:43:51 +0200 Subject: [PATCH 65/82] fixed a bug with Pagination on Search page: can't go to previous page --- frisson_music/views.py | 7 ++++++ templates/includes/pagination.html | 34 +++++++++++++++--------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/frisson_music/views.py b/frisson_music/views.py index e9fd79a..6bd39fb 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -37,6 +37,13 @@ def get_queryset(self): qs = qs.filter(album_title__icontains=search) return qs + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + query_params = self.request.GET.copy() + query_params.pop('page', None) + context['query_params'] = query_params.urlencode() + return context + class AlbumDetailView(DetailView): model = Album diff --git a/templates/includes/pagination.html b/templates/includes/pagination.html index a1d328f..22faf29 100644 --- a/templates/includes/pagination.html +++ b/templates/includes/pagination.html @@ -2,25 +2,25 @@ From 607783ff9416ee657210d6f0fb7a29068acb0e74 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 16:15:46 +0200 Subject: [PATCH 66/82] style: applyed PEP8 formatting and code cleanup --- frisson_music/apps.py | 2 +- frisson_music/forms.py | 2 +- frisson_music/migrations/0001_initial.py | 258 +++++++++++++++--- .../migrations/0002_alter_user_is_active.py | 12 +- ...3_album_release_date_precision_and_more.py | 16 +- ...tle_album_idx_album_title_trgm_and_more.py | 20 +- frisson_music/models.py | 20 +- frisson_music/test_suite/test_comments.py | 37 +-- frisson_music/test_suite/test_models.py | 10 +- frisson_music/test_suite/test_search.py | 13 +- frisson_music/test_suite/test_views.py | 8 +- frisson_music/tests.py | 3 - frisson_music/urls.py | 46 +++- frisson_music/views.py | 49 ++-- frisson_music_service/asgi.py | 4 +- frisson_music_service/settings/base.py | 67 ++--- frisson_music_service/settings/dev.py | 6 +- frisson_music_service/settings/prod.py | 16 +- frisson_music_service/urls.py | 5 +- frisson_music_service/wsgi.py | 4 +- manage.py | 7 +- populate_db.py | 54 ++-- pyproject.toml | 10 + 23 files changed, 451 insertions(+), 218 deletions(-) delete mode 100644 frisson_music/tests.py create mode 100644 pyproject.toml diff --git a/frisson_music/apps.py b/frisson_music/apps.py index e3537f7..923ef0d 100644 --- a/frisson_music/apps.py +++ b/frisson_music/apps.py @@ -2,4 +2,4 @@ class AlbumsConfig(AppConfig): - name = 'frisson_music' + name = "frisson_music" diff --git a/frisson_music/forms.py b/frisson_music/forms.py index d01af64..18911c3 100644 --- a/frisson_music/forms.py +++ b/frisson_music/forms.py @@ -46,7 +46,7 @@ class Meta: attrs={ "class": "form-control", "rows": 3, - "placeholder": "Write your comment..." + "placeholder": "Write your comment...", } ) } diff --git a/frisson_music/migrations/0001_initial.py b/frisson_music/migrations/0001_initial.py index 9751d0a..2a214b6 100644 --- a/frisson_music/migrations/0001_initial.py +++ b/frisson_music/migrations/0001_initial.py @@ -14,73 +14,243 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('auth', '0012_alter_user_first_name_max_length'), + ("auth", "0012_alter_user_first_name_max_length"), ] operations = [ migrations.CreateModel( - name='Album', + name="Album", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('media_type', models.CharField(choices=[('ANIME', 'Anime'), ('SERIES', 'Series'), ('GAME', 'Game'), ('MOVIE', 'Movie')], max_length=10)), - ('media_title', models.CharField(max_length=255)), - ('album_title', models.CharField(max_length=255)), - ('cover_image_url', models.URLField()), - ('part_or_season', models.CharField(default='Unknown', max_length=255)), - ('release_date', models.CharField(default='Unknown', max_length=10)), - ('artists', models.TextField(help_text='Comma-separated list of artists')), - ('tracklist', models.TextField(help_text='Each track on a new line')), - ('total_tracks', models.PositiveIntegerField()), - ('spotify_url', models.URLField(blank=True, null=True)), - ('created_at', models.DateTimeField(auto_now_add=True)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "media_type", + models.CharField( + choices=[ + ("ANIME", "Anime"), + ("SERIES", "Series"), + ("GAME", "Game"), + ("MOVIE", "Movie"), + ], + max_length=10, + ), + ), + ("media_title", models.CharField(max_length=255)), + ("album_title", models.CharField(max_length=255)), + ("cover_image_url", models.URLField()), + ( + "part_or_season", + models.CharField(default="Unknown", max_length=255), + ), + ( + "release_date", + models.CharField(default="Unknown", max_length=10), + ), + ( + "artists", + models.TextField( + help_text="Comma-separated list of artists" + ), + ), + ( + "tracklist", + models.TextField(help_text="Each track on a new line"), + ), + ("total_tracks", models.PositiveIntegerField()), + ("spotify_url", models.URLField(blank=True, null=True)), + ("created_at", models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( - name='User', + name="User", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('password', models.CharField(max_length=128, verbose_name='password')), - ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), - ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), - ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), - ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), - ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), - ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), - ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting registration.', verbose_name='active')), - ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), - ('email', models.EmailField(max_length=254, unique=True)), - ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')), - ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "password", + models.CharField(max_length=128, verbose_name="password"), + ), + ( + "last_login", + models.DateTimeField( + blank=True, null=True, verbose_name="last login" + ), + ), + ( + "is_superuser", + models.BooleanField( + default=False, + help_text="Designates that this user has all permissions without explicitly assigning them.", + verbose_name="superuser status", + ), + ), + ( + "username", + models.CharField( + error_messages={ + "unique": "A user with that username already exists." + }, + help_text="Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.", + max_length=150, + unique=True, + validators=[ + django.contrib.auth.validators.UnicodeUsernameValidator() + ], + verbose_name="username", + ), + ), + ( + "first_name", + models.CharField( + blank=True, max_length=150, verbose_name="first name" + ), + ), + ( + "last_name", + models.CharField( + blank=True, max_length=150, verbose_name="last name" + ), + ), + ( + "is_staff", + models.BooleanField( + default=False, + help_text="Designates whether the user can log into this admin site.", + verbose_name="staff status", + ), + ), + ( + "is_active", + models.BooleanField( + default=True, + help_text="Designates whether this user should be treated as active. Unselect this instead of deleting registration.", + verbose_name="active", + ), + ), + ( + "date_joined", + models.DateTimeField( + default=django.utils.timezone.now, + verbose_name="date joined", + ), + ), + ("email", models.EmailField(max_length=254, unique=True)), + ( + "groups", + models.ManyToManyField( + blank=True, + help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.", + related_name="user_set", + related_query_name="user", + to="auth.group", + verbose_name="groups", + ), + ), + ( + "user_permissions", + models.ManyToManyField( + blank=True, + help_text="Specific permissions for this user.", + related_name="user_set", + related_query_name="user", + to="auth.permission", + verbose_name="user permissions", + ), + ), ], options={ - 'verbose_name': 'user', - 'verbose_name_plural': 'users', + "verbose_name": "user", + "verbose_name_plural": "users", }, managers=[ - ('objects', django.contrib.auth.models.UserManager()), + ("objects", django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( - name='Comment', + name="Comment", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('text', models.TextField()), - ('created_at', models.DateTimeField(auto_now_add=True)), - ('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='frisson_music.album')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("text", models.TextField()), + ("created_at", models.DateTimeField(auto_now_add=True)), + ( + "album", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="comments", + to="frisson_music.album", + ), + ), + ( + "user", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + to=settings.AUTH_USER_MODEL, + ), + ), ], ), migrations.CreateModel( - name='Rating', + name="Rating", fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('score', models.PositiveSmallIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(5)])), - ('created_at', models.DateTimeField(auto_now_add=True)), - ('album', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ratings', to='frisson_music.album')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "score", + models.PositiveSmallIntegerField( + validators=[ + django.core.validators.MinValueValidator(1), + django.core.validators.MaxValueValidator(5), + ] + ), + ), + ("created_at", models.DateTimeField(auto_now_add=True)), + ( + "album", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="ratings", + to="frisson_music.album", + ), + ), + ( + "user", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + to=settings.AUTH_USER_MODEL, + ), + ), ], options={ - 'unique_together': {('user', 'album')}, + "unique_together": {("user", "album")}, }, ), ] diff --git a/frisson_music/migrations/0002_alter_user_is_active.py b/frisson_music/migrations/0002_alter_user_is_active.py index 9539058..f462b9f 100644 --- a/frisson_music/migrations/0002_alter_user_is_active.py +++ b/frisson_music/migrations/0002_alter_user_is_active.py @@ -6,13 +6,17 @@ class Migration(migrations.Migration): dependencies = [ - ('frisson_music', '0001_initial'), + ("frisson_music", "0001_initial"), ] operations = [ migrations.AlterField( - model_name='user', - name='is_active', - field=models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active'), + model_name="user", + name="is_active", + field=models.BooleanField( + default=True, + help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.", + verbose_name="active", + ), ), ] diff --git a/frisson_music/migrations/0003_album_release_date_precision_and_more.py b/frisson_music/migrations/0003_album_release_date_precision_and_more.py index 4e2732d..efce1c1 100644 --- a/frisson_music/migrations/0003_album_release_date_precision_and_more.py +++ b/frisson_music/migrations/0003_album_release_date_precision_and_more.py @@ -6,18 +6,22 @@ class Migration(migrations.Migration): dependencies = [ - ('frisson_music', '0002_alter_user_is_active'), + ("frisson_music", "0002_alter_user_is_active"), ] operations = [ migrations.AddField( - model_name='album', - name='release_date_precision', - field=models.CharField(choices=[('year', 'Year'), ('month', 'Month'), ('day', 'Day')], max_length=10, null=True), + model_name="album", + name="release_date_precision", + field=models.CharField( + choices=[("year", "Year"), ("month", "Month"), ("day", "Day")], + max_length=10, + null=True, + ), ), migrations.AlterField( - model_name='album', - name='release_date', + model_name="album", + name="release_date", field=models.DateField(null=True), ), ] diff --git a/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py b/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py index 5dc8b2a..43c8a3a 100644 --- a/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py +++ b/frisson_music/migrations/0004_album_idx_media_title_album_idx_album_title_trgm_and_more.py @@ -7,20 +7,26 @@ class Migration(migrations.Migration): dependencies = [ - ('frisson_music', '0003_album_release_date_precision_and_more'), + ("frisson_music", "0003_album_release_date_precision_and_more"), ] operations = [ migrations.AddIndex( - model_name='album', - index=models.Index(fields=['media_title'], name='idx_media_title'), + model_name="album", + index=models.Index(fields=["media_title"], name="idx_media_title"), ), migrations.AddIndex( - model_name='album', - index=django.contrib.postgres.indexes.GinIndex(fields=['album_title'], name='idx_album_title_trgm', opclasses=['gin_trgm_ops']), + model_name="album", + index=django.contrib.postgres.indexes.GinIndex( + fields=["album_title"], + name="idx_album_title_trgm", + opclasses=["gin_trgm_ops"], + ), ), migrations.AddIndex( - model_name='album', - index=models.Index(fields=['release_date'], name='idx_release_date'), + model_name="album", + index=models.Index( + fields=["release_date"], name="idx_release_date" + ), ), ] diff --git a/frisson_music/models.py b/frisson_music/models.py index a754ca7..012fd7d 100644 --- a/frisson_music/models.py +++ b/frisson_music/models.py @@ -64,13 +64,11 @@ class ReleaseDatePrecision(models.TextChoices): class Meta: indexes = [ models.Index(fields=["media_title"], name="idx_media_title"), - GinIndex( name="idx_album_title_trgm", fields=["album_title"], - opclasses=["gin_trgm_ops"] + opclasses=["gin_trgm_ops"], ), - models.Index(fields=["release_date"], name="idx_release_date"), ] @@ -98,8 +96,12 @@ def average_rating(self): class Rating(models.Model): - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name="ratings") + user = models.ForeignKey( + settings.AUTH_USER_MODEL, on_delete=models.CASCADE + ) + album = models.ForeignKey( + Album, on_delete=models.CASCADE, related_name="ratings" + ) score = models.PositiveSmallIntegerField( validators=[MinValueValidator(1), MaxValueValidator(5)] ) @@ -110,7 +112,11 @@ class Meta: class Comment(models.Model): - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - album = models.ForeignKey(Album, on_delete=models.CASCADE, related_name="comments") + user = models.ForeignKey( + settings.AUTH_USER_MODEL, on_delete=models.CASCADE + ) + album = models.ForeignKey( + Album, on_delete=models.CASCADE, related_name="comments" + ) text = models.TextField() created_at = models.DateTimeField(auto_now_add=True) diff --git a/frisson_music/test_suite/test_comments.py b/frisson_music/test_suite/test_comments.py index d2f5690..234284c 100644 --- a/frisson_music/test_suite/test_comments.py +++ b/frisson_music/test_suite/test_comments.py @@ -11,14 +11,10 @@ class TestRatings(TestCase): def setUp(self): self.user1 = User.objects.create_user( - username="testuser1", - email="user1@example.com", - password="12345" + username="testuser1", email="user1@example.com", password="12345" ) self.user2 = User.objects.create_user( - username="testuser2", - email="user2@example.com", - password="12345" + username="testuser2", email="user2@example.com", password="12345" ) self.album = Album.objects.create( @@ -27,41 +23,24 @@ def setUp(self): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) def test_user_can_rate_album_once(self): - Rating.objects.create( - user=self.user1, - album=self.album, - score=4 - ) + Rating.objects.create(user=self.user1, album=self.album, score=4) Rating.objects.update_or_create( - user=self.user1, - album=self.album, - defaults={"score": 2} + user=self.user1, album=self.album, defaults={"score": 2} ) - ratings = Rating.objects.filter( - user=self.user1, - album=self.album - ) + ratings = Rating.objects.filter(user=self.user1, album=self.album) self.assertEqual(ratings.count(), 1) self.assertEqual(ratings.first().score, 2) def test_average_rating_calculation(self): - Rating.objects.create( - user=self.user1, - album=self.album, - score=4 - ) - Rating.objects.create( - user=self.user2, - album=self.album, - score=2 - ) + Rating.objects.create(user=self.user1, album=self.album, score=4) + Rating.objects.create(user=self.user2, album=self.album, score=2) ratings = self.album.ratings.all() avg_rating = sum(r.score for r in ratings) / ratings.count() diff --git a/frisson_music/test_suite/test_models.py b/frisson_music/test_suite/test_models.py index 604e59b..85429ab 100644 --- a/frisson_music/test_suite/test_models.py +++ b/frisson_music/test_suite/test_models.py @@ -10,9 +10,7 @@ @pytest.mark.django_db def test_user_can_rate_album_once(): user = User.objects.create_user( - username="testuser", - email="user1@example.com", - password="12345" + username="testuser", email="user1@example.com", password="12345" ) album = Album.objects.create( album_title="OST", @@ -20,15 +18,13 @@ def test_user_can_rate_album_once(): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) Rating.objects.create(user=user, album=album, score=4) Rating.objects.update_or_create( - user=user, - album=album, - defaults={"score": 2} + user=user, album=album, defaults={"score": 2} ) rating = Rating.objects.get(user=user, album=album) diff --git a/frisson_music/test_suite/test_search.py b/frisson_music/test_suite/test_search.py index f37a7d3..5801081 100644 --- a/frisson_music/test_suite/test_search.py +++ b/frisson_music/test_suite/test_search.py @@ -13,7 +13,7 @@ def setUp(self): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) Album.objects.create( album_title="Random Album", @@ -21,19 +21,14 @@ def setUp(self): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) def test_search_by_album_title(self): - response = self.client.get( - reverse("album-list") + "?search=best" - ) + response = self.client.get(reverse("album-list") + "?search=best") self.assertEqual(response.status_code, 200) albums = response.context["albums"] self.assertEqual(albums.count(), 1) - self.assertIn( - "Best", - albums.first().album_title - ) + self.assertIn("Best", albums.first().album_title) diff --git a/frisson_music/test_suite/test_views.py b/frisson_music/test_suite/test_views.py index a455bdb..a1fdbb8 100644 --- a/frisson_music/test_suite/test_views.py +++ b/frisson_music/test_suite/test_views.py @@ -13,7 +13,7 @@ def test_media_list_returns_unique_media(self): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) Album.objects.create( album_title="OST 2", @@ -21,7 +21,7 @@ def test_media_list_returns_unique_media(self): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) response = self.client.get(reverse("media-list")) @@ -37,7 +37,7 @@ def test_media_detail_filters_by_media_title(self): media_type="ANIME", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) Album.objects.create( album_title="Movie OST", @@ -45,7 +45,7 @@ def test_media_detail_filters_by_media_title(self): media_type="MOVIE", total_tracks=10, part_or_season="1", - release_date="2025-12-21" + release_date="2025-12-21", ) response = self.client.get(reverse("media-detail", args=["AOT"])) diff --git a/frisson_music/tests.py b/frisson_music/tests.py deleted file mode 100644 index ae623dc..0000000 --- a/frisson_music/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your test_suite here. diff --git a/frisson_music/urls.py b/frisson_music/urls.py index 7bfca5b..749c715 100644 --- a/frisson_music/urls.py +++ b/frisson_music/urls.py @@ -8,7 +8,9 @@ AlbumDetailView, AlbumUpdateView, RegisterView, - UserUpdateView, MediaListView, MediaDetailView, + UserUpdateView, + MediaListView, + MediaDetailView, ) @@ -19,18 +21,36 @@ path("accounts/", include("django.contrib.auth.urls")), path("profile/edit/", UserUpdateView.as_view(), name="profile-edit"), path("media/", MediaListView.as_view(), name="media-list"), - path("media//", MediaDetailView.as_view(), - name="media-detail"), + path( + "media//", + MediaDetailView.as_view(), + name="media-detail", + ), path("albums/", AlbumListView.as_view(), name="album-list"), path("album//", AlbumDetailView.as_view(), name="album-detail"), - path("album//update/", AlbumUpdateView.as_view(), - name="album-update"), - path("albums//", AlbumListView.as_view(), - name="album-list-by-type"), - path("comment//delete/", views.delete_comment, - name="delete-comment"), - path("about/", TemplateView.as_view( - template_name="frisson_music/about.html"), name="about"), - path("rules/", TemplateView.as_view( - template_name="frisson_music/rules.html"), name="rules"), + path( + "album//update/", + AlbumUpdateView.as_view(), + name="album-update", + ), + path( + "albums//", + AlbumListView.as_view(), + name="album-list-by-type", + ), + path( + "comment//delete/", + views.delete_comment, + name="delete-comment", + ), + path( + "about/", + TemplateView.as_view(template_name="frisson_music/about.html"), + name="about", + ), + path( + "rules/", + TemplateView.as_view(template_name="frisson_music/rules.html"), + name="rules", + ), ] diff --git a/frisson_music/views.py b/frisson_music/views.py index 6bd39fb..8f07523 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -3,9 +3,21 @@ from django.contrib.auth.mixins import LoginRequiredMixin from django.shortcuts import redirect, get_object_or_404 from django.urls import reverse_lazy -from django.views.generic import ListView, DetailView, UpdateView, TemplateView, CreateView - -from .forms import AlbumUpdateForm, CustomUserCreationForm, UserUpdateForm, CommentForm, RatingForm +from django.views.generic import ( + ListView, + DetailView, + UpdateView, + TemplateView, + CreateView, +) + +from .forms import ( + AlbumUpdateForm, + CustomUserCreationForm, + UserUpdateForm, + CommentForm, + RatingForm, +) from .models import Album, User, Rating, Comment @@ -40,8 +52,8 @@ def get_queryset(self): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) query_params = self.request.GET.copy() - query_params.pop('page', None) - context['query_params'] = query_params.urlencode() + query_params.pop("page", None) + context["query_params"] = query_params.urlencode() return context @@ -54,7 +66,9 @@ def get_context_data(self, **kwargs): album = self.object # --- Comments --- - context["comments"] = album.comments.select_related("user").order_by("-created_at") + context["comments"] = album.comments.select_related("user").order_by( + "-created_at" + ) context["comment_form"] = CommentForm() # --- Rating: Average --- @@ -62,7 +76,9 @@ def get_context_data(self, **kwargs): # --- User's Rating --- if self.request.user.is_authenticated: - context["user_rating"] = album.ratings.filter(user=self.request.user).first() + context["user_rating"] = album.ratings.filter( + user=self.request.user + ).first() else: context["user_rating"] = None @@ -89,9 +105,7 @@ def post(self, request, *args, **kwargs): score = int(request.POST.get("score", 0)) if 1 <= score <= 5: Rating.objects.update_or_create( - album=album, - user=request.user, - defaults={"score": score} + album=album, user=request.user, defaults={"score": score} ) return redirect_response @@ -112,11 +126,13 @@ class MediaListView(ListView): paginate_by = 15 def get_queryset(self): - return Album.objects.exclude(media_title__isnull=True) \ - .exclude(media_title="") \ - .order_by("media_title") \ - .values("media_title", "media_type") \ + return ( + Album.objects.exclude(media_title__isnull=True) + .exclude(media_title="") + .order_by("media_title") + .values("media_title", "media_type") .distinct() + ) class MediaDetailView(ListView): @@ -127,8 +143,9 @@ class MediaDetailView(ListView): def get_queryset(self): media_title = self.kwargs.get("media_title") media_type = self.request.GET.get("type") - return Album.objects.by_media_title(media_title, media_type).select_related() - + return Album.objects.by_media_title( + media_title, media_type + ).select_related() def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) diff --git a/frisson_music_service/asgi.py b/frisson_music_service/asgi.py index a9bf70d..079277d 100644 --- a/frisson_music_service/asgi.py +++ b/frisson_music_service/asgi.py @@ -11,6 +11,8 @@ from django.core.asgi import get_asgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings') +os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings" +) application = get_asgi_application() diff --git a/frisson_music_service/settings/base.py b/frisson_music_service/settings/base.py index 766cafe..8e613c3 100644 --- a/frisson_music_service/settings/base.py +++ b/frisson_music_service/settings/base.py @@ -9,6 +9,7 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/6.0/ref/settings/ """ + import os from pathlib import Path @@ -20,18 +21,21 @@ # See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", 'django-insecure-03*b0goqp7ol4746c@qx=)#yy&d2x#120^jw@embrqrcbybtjt') +SECRET_KEY = os.environ.get( + "DJANGO_SECRET_KEY", + "django-insecure-03*b0goqp7ol4746c@qx=)#yy&d2x#120^jw@embrqrcbybtjt", +) # Application definition INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", "frisson_music", "bootstrap4", "debug_toolbar", @@ -39,36 +43,35 @@ ] MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', + "django.middleware.security.SecurityMiddleware", "debug_toolbar.middleware.DebugToolbarMiddleware", "whitenoise.middleware.WhiteNoiseMiddleware", - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", ] -ROOT_URLCONF = 'frisson_music.urls' +ROOT_URLCONF = "frisson_music.urls" TEMPLATES = [ { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [BASE_DIR / 'templates'] - , - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [BASE_DIR / "templates"], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": [ + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", ], }, }, ] -WSGI_APPLICATION = 'frisson_music_service.wsgi.application' +WSGI_APPLICATION = "frisson_music_service.wsgi.application" # Password validation @@ -76,16 +79,16 @@ AUTH_PASSWORD_VALIDATORS = [ { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator", }, { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator", }, { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator", }, { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator", }, ] @@ -94,9 +97,9 @@ # Internationalization # https://docs.djangoproject.com/en/6.0/topics/i18n/ -LANGUAGE_CODE = 'en-us' +LANGUAGE_CODE = "en-us" -TIME_ZONE = 'UTC' +TIME_ZONE = "UTC" USE_I18N = True @@ -106,7 +109,7 @@ # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/6.0/howto/static-files/ -STATIC_URL = 'static/' +STATIC_URL = "static/" STATIC_ROOT = "staticfiles/" STATICFILES_DIRS = [ diff --git a/frisson_music_service/settings/dev.py b/frisson_music_service/settings/dev.py index 04d52f5..1547edb 100644 --- a/frisson_music_service/settings/dev.py +++ b/frisson_music_service/settings/dev.py @@ -11,8 +11,8 @@ # https://docs.djangoproject.com/en/6.0/ref/settings/#databases DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": BASE_DIR / "db.sqlite3", } } diff --git a/frisson_music_service/settings/prod.py b/frisson_music_service/settings/prod.py index c952e5c..abe07ba 100644 --- a/frisson_music_service/settings/prod.py +++ b/frisson_music_service/settings/prod.py @@ -6,7 +6,7 @@ ALLOWED_HOSTS = [] -RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME') +RENDER_EXTERNAL_HOSTNAME = os.environ.get("RENDER_EXTERNAL_HOSTNAME") if RENDER_EXTERNAL_HOSTNAME: ALLOWED_HOSTS.append(RENDER_EXTERNAL_HOSTNAME) @@ -14,12 +14,12 @@ # https://docs.djangoproject.com/en/6.0/ref/settings/#databases DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': os.environ['POSTGRES_DB'], - 'USER': os.environ['POSTGRES_USER'], - 'PASSWORD': os.environ['POSTGRES_PASSWORD'], - 'HOST': os.environ['POSTGRES_HOST'], - 'PORT': int(os.environ['POSTGRES_DB_PORT']), + "default": { + "ENGINE": "django.db.backends.postgresql", + "NAME": os.environ["POSTGRES_DB"], + "USER": os.environ["POSTGRES_USER"], + "PASSWORD": os.environ["POSTGRES_PASSWORD"], + "HOST": os.environ["POSTGRES_HOST"], + "PORT": int(os.environ["POSTGRES_DB_PORT"]), } } diff --git a/frisson_music_service/urls.py b/frisson_music_service/urls.py index 09c9ca7..8a7d2d2 100644 --- a/frisson_music_service/urls.py +++ b/frisson_music_service/urls.py @@ -14,10 +14,11 @@ 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ + from django.contrib import admin from django.urls import path, include urlpatterns = [ - path('admin/', admin.site.urls), - path('', include('frisson_music.urls')), + path("admin/", admin.site.urls), + path("", include("frisson_music.urls")), ] diff --git a/frisson_music_service/wsgi.py b/frisson_music_service/wsgi.py index d4a469a..aab20ce 100644 --- a/frisson_music_service/wsgi.py +++ b/frisson_music_service/wsgi.py @@ -11,6 +11,8 @@ from django.core.wsgi import get_wsgi_application -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings') +os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings" +) application = get_wsgi_application() diff --git a/manage.py b/manage.py index 94e12d3..f0c7714 100644 --- a/manage.py +++ b/manage.py @@ -8,9 +8,12 @@ load_dotenv() + def main(): """Run administrative tasks.""" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'frisson_music_service.settings.dev') + os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings.dev" + ) try: from django.core.management import execute_from_command_line except ImportError as exc: @@ -22,5 +25,5 @@ def main(): execute_from_command_line(sys.argv) -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/populate_db.py b/populate_db.py index 238274a..bb16907 100644 --- a/populate_db.py +++ b/populate_db.py @@ -3,40 +3,58 @@ import spotipy from spotipy.oauth2 import SpotifyClientCredentials +from frisson_music.models import Album + + # --- Django setup --- -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "frisson_music_service.settings") +os.environ.setdefault( + "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings" +) django.setup() -from frisson_music.models import Album - # --- Spotify setup --- CLIENT_ID = "Your_spotify_client_id" CLIENT_SECRET = "Your_spotify_client_secret" -auth_manager = SpotifyClientCredentials(client_id=CLIENT_ID, client_secret=CLIENT_SECRET) +auth_manager = SpotifyClientCredentials( + client_id=CLIENT_ID, client_secret=CLIENT_SECRET +) sp = spotipy.Spotify(auth_manager=auth_manager) # --- Album search --- -search_queries = ["Evangelion", "Naruto", "Attack on Titan", "DUNE", "DOOM", "Stranger Things"] +search_queries = [ + "Evangelion", + "Naruto", + "Attack on Titan", + "DUNE", + "DOOM", + "Stranger Things", +] max_albums_per_query = 10 for query in search_queries: - results = sp.search(q=f"album:{query}", type="album", limit=max_albums_per_query) - albums = results['albums']['items'] + results = sp.search( + q=f"album:{query}", type="album", limit=max_albums_per_query + ) + albums = results["albums"]["items"] for alb in albums: - album_title = alb['name'] - cover_image_url = alb['images'][0]['url'] if alb['images'] else "" - raw_release_date = alb['release_date'] - artists = ", ".join([artist['name'] for artist in alb['artists']]) - total_tracks = alb['total_tracks'] - spotify_url = alb['external_urls']['spotify'] + album_title = alb["name"] + cover_image_url = alb["images"][0]["url"] if alb["images"] else "" + raw_release_date = alb["release_date"] + artists = ", ".join([artist["name"] for artist in alb["artists"]]) + total_tracks = alb["total_tracks"] + spotify_url = alb["external_urls"]["spotify"] - tracks_data = sp.album_tracks(alb['id']) - tracklist = "\n".join([track['name'] for track in tracks_data['items']]) + tracks_data = sp.album_tracks(alb["id"]) + tracklist = "\n".join( + [track["name"] for track in tracks_data["items"]] + ) # --- Date Convertion with parse_release_date --- - release_date, release_date_precision = Album.parse_release_date(raw_release_date) + release_date, release_date_precision = Album.parse_release_date( + raw_release_date + ) Album.objects.update_or_create( album_title=album_title, @@ -47,8 +65,8 @@ "artists": artists, "tracklist": tracklist, "total_tracks": total_tracks, - "spotify_url": spotify_url - } + "spotify_url": spotify_url, + }, ) print("Populate complete!") diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..85a26c6 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,10 @@ +[tool.black] +line-length = 79 +target-version = ["py313"] +skip-string-normalization = false + +[tool.ruff] +line-length = 79 +target-version = "py313" +select = ["E", "F", "W", "C", "B"] +extend-ignore = ["E203"] From e7d4c85add2736108aac349528677f51b557001c Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 16:19:22 +0200 Subject: [PATCH 67/82] =?UTF-8?q?=C3=90updatedrequirements.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/requirements.txt b/requirements.txt index a8dc60a..d929424 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ arrow==1.4.0 asgiref==3.11.0 beautifulsoup4==4.14.3 binaryornot==0.4.4 +black==25.12.0 certifi==2025.11.12 chardet==5.2.0 charset-normalizer==3.4.4 @@ -11,6 +12,7 @@ cookiecutter==2.6.0 Django==6.0 django-bootstrap4==25.3 django-browser-reload==1.21.0 +django-debug-toolbar==6.1.0 django-tailwind==4.4.2 flake8==7.3.0 gunicorn==23.0.0 @@ -21,7 +23,10 @@ markdown-it-py==4.0.0 MarkupSafe==3.0.3 mccabe==0.7.0 mdurl==0.1.2 +mypy_extensions==1.1.0 packaging==25.0 +pathspec==0.12.1 +platformdirs==4.5.1 pluggy==1.6.0 psycopg2-binary==2.9.11 pycodestyle==2.14.0 @@ -33,10 +38,12 @@ pytest-django==4.11.1 python-dateutil==2.9.0.post0 python-dotenv==1.2.1 python-slugify==8.0.4 +pytokens==0.3.0 PyYAML==6.0.3 redis==7.1.0 requests==2.32.5 rich==14.2.0 +ruff==0.14.10 six==1.17.0 soupsieve==2.8.1 spotipy==2.25.2 From 9527fc65b28092ea478c64faab48fff3037e573c Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 16:22:31 +0200 Subject: [PATCH 68/82] style: apply formatting and code cleanup for Templates --- templates/base.html | 3 ++- templates/frisson_music/about.html | 3 ++- templates/frisson_music/album_list.html | 22 +++++++++++----------- templates/includes/footer.html | 15 ++++++++++----- templates/registration/logged_out.html | 4 ++-- 5 files changed, 27 insertions(+), 20 deletions(-) diff --git a/templates/base.html b/templates/base.html index 41dd1fe..6ab5ed8 100644 --- a/templates/base.html +++ b/templates/base.html @@ -6,7 +6,8 @@ - + {% block title %}Frisson Music{% endblock %} diff --git a/templates/frisson_music/about.html b/templates/frisson_music/about.html index 1177de7..3f0db32 100644 --- a/templates/frisson_music/about.html +++ b/templates/frisson_music/about.html @@ -9,7 +9,8 @@

Frisson Music

- Frisson Music + Frisson Music
diff --git a/templates/frisson_music/album_list.html b/templates/frisson_music/album_list.html index b98fd7a..26b64b3 100644 --- a/templates/frisson_music/album_list.html +++ b/templates/frisson_music/album_list.html @@ -7,17 +7,17 @@
- {{ album.album_title }} - + {{ album.album_title }} +
+
{{ album.album_title }}
+

+ {{ album.artists }}
+ {{ album.release_date }} +

+ + Spotify + +
{% empty %} diff --git a/templates/includes/footer.html b/templates/includes/footer.html index 4cbfde5..347328f 100644 --- a/templates/includes/footer.html +++ b/templates/includes/footer.html @@ -4,18 +4,23 @@
diff --git a/templates/registration/logged_out.html b/templates/registration/logged_out.html index da51849..74f91dd 100644 --- a/templates/registration/logged_out.html +++ b/templates/registration/logged_out.html @@ -1,8 +1,8 @@ {% extends "base.html" %} {% block content %} -
+

You have successfully logged out.

Login again -
+
{% endblock %} From 42123ef07a1541faf6a0048d2c48843b348ecec1 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 27 Dec 2025 20:09:44 +0200 Subject: [PATCH 69/82] changed settings to prod --- frisson_music_service/settings/__init__.py | 2 +- manage.py | 2 +- populate_db.py | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/frisson_music_service/settings/__init__.py b/frisson_music_service/settings/__init__.py index c787328..be7ce5e 100644 --- a/frisson_music_service/settings/__init__.py +++ b/frisson_music_service/settings/__init__.py @@ -1 +1 @@ -from .dev import * +from .prod import * diff --git a/manage.py b/manage.py index f0c7714..c7ace27 100644 --- a/manage.py +++ b/manage.py @@ -12,7 +12,7 @@ def main(): """Run administrative tasks.""" os.environ.setdefault( - "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings.dev" + "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings.prod" ) try: from django.core.management import execute_from_command_line diff --git a/populate_db.py b/populate_db.py index bb16907..6d2b794 100644 --- a/populate_db.py +++ b/populate_db.py @@ -3,15 +3,16 @@ import spotipy from spotipy.oauth2 import SpotifyClientCredentials -from frisson_music.models import Album - # --- Django setup --- os.environ.setdefault( - "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings" + "DJANGO_SETTINGS_MODULE", "frisson_music_service.settings.prod" ) + django.setup() +from frisson_music.models import Album + # --- Spotify setup --- CLIENT_ID = "Your_spotify_client_id" CLIENT_SECRET = "Your_spotify_client_secret" From 13662dcb8a5651cfd6be4cff0eff159a7d37878d Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 28 Dec 2025 00:41:13 +0200 Subject: [PATCH 70/82] changed settings to prod --- dump.json | 1292 ------------------------ frisson_music_service/settings/base.py | 2 + frisson_music_service/settings/prod.py | 3 + 3 files changed, 5 insertions(+), 1292 deletions(-) delete mode 100644 dump.json diff --git a/dump.json b/dump.json deleted file mode 100644 index 489c5bb..0000000 --- a/dump.json +++ /dev/null @@ -1,1292 +0,0 @@ -[ -{ - "model": "frisson_music.user", - "pk": 1, - "fields": { - "password": "pbkdf2_sha256$1200000$3bGeIy2bBXAVZu9KpMtC9w$7KF2CKEySFOKhxDI/LgMg5VBqaP2b0nQEUygZA3BtDo=", - "last_login": "2025-12-22T13:58:38.549Z", - "is_superuser": false, - "username": "lololoolo", - "first_name": "", - "last_name": "", - "is_staff": false, - "is_active": true, - "date_joined": "2025-12-20T16:36:18.731Z", - "email": "test@gmail.com", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "frisson_music.user", - "pk": 2, - "fields": { - "password": "pbkdf2_sha256$1200000$z9EI7GDPY8pzQUl7vB6KVI$OsI3rrJ5lvcAtsLU1QdDsN15+9GjJp2xEZllTGs2Qxc=", - "last_login": "2025-12-22T13:55:15.969Z", - "is_superuser": true, - "username": "admin", - "first_name": "Ivan", - "last_name": "Ventyk", - "is_staff": true, - "is_active": true, - "date_joined": "2025-12-20T16:39:03.791Z", - "email": "mine@gmail.com", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "frisson_music.user", - "pk": 3, - "fields": { - "password": "pbkdf2_sha256$1200000$U3S5342jiP385wr7EUgKZX$6WY8g/SlZVvXjWfd0sTdeim6aC4cClMV5Ro58sP1chE=", - "last_login": null, - "is_superuser": false, - "username": "lskasjdadf", - "first_name": "", - "last_name": "", - "is_staff": false, - "is_active": true, - "date_joined": "2025-12-20T18:18:20.497Z", - "email": "test1@gmail.com", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "frisson_music.user", - "pk": 4, - "fields": { - "password": "pbkdf2_sha256$1200000$1GOGNmxhnW772VZQF4zMl8$vHwgMzmlCIzF0pbaW0QPitmCZy9w7zQSeUassa5+jSg=", - "last_login": null, - "is_superuser": false, - "username": "jffevvf", - "first_name": "", - "last_name": "", - "is_staff": false, - "is_active": true, - "date_joined": "2025-12-23T11:10:21.261Z", - "email": "test2@gmail.com", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "frisson_music.user", - "pk": 5, - "fields": { - "password": "pbkdf2_sha256$1200000$3mXeSOOewFM0FO19gKrATm$UU6eZhzjRQpClWUDHpc94TbhJooEc309IkbWbrfQuDY=", - "last_login": null, - "is_superuser": false, - "username": "ergeggt", - "first_name": "", - "last_name": "", - "is_staff": false, - "is_active": true, - "date_joined": "2025-12-23T11:12:45.658Z", - "email": "test3@gmail.com", - "groups": [], - "user_permissions": [] - } -}, -{ - "model": "frisson_music.album", - "pk": 1, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Evangelion Finally", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2736df828bb10343f7bad08d4fe", - "part_or_season": "Unknown", - "release_date": "2020-12-04", - "artists": "Various Artists", - "tracklist": "The Cruel Angel's Thesis\nFLY ME TO THE MOON - YOKO TAKAHASHI Acid Bossa Version\nSoul's Refrain\nTHANATOS -IF I CAN'T BE YOURS-\nKOMM, SUSSER TOD - M-10 Director's Edit Version\nKYOU NO HI WA SAYOUNARA\nTSUBASA WO KUDASAI\nFLY ME TO THE MOON - 2020 Version\nKokoro yo Genshi ni Modore 2020\nMugen Houyou\nShiawase wa Tsumi no Nioi\nCome sweet death, second impact\nDilemmatic triangle opera\nThe Image of black me\nDilemmatic triangle opera - AYANAMI Version", - "total_tracks": 15, - "spotify_url": "https://open.spotify.com/album/3MRZ3T8TutKAlQK0d7mqho", - "created_at": "2025-12-20T15:51:56.234Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 2, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Evangelion", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273da7266038e1344839993bdcc", - "part_or_season": "Unknown", - "release_date": "2009-08-07", - "artists": "Behemoth", - "tracklist": "Daimonos\nShemhamforash\nOv Fire and the Void\nTransmigrating Beyond Realms Ov Amenti\nHe Who Breeds Pestilence\nThe Seed Ov I\nAlas, Lord Is Upon Me\nDefiling Morality Ov Black God\nLucifer", - "total_tracks": 9, - "spotify_url": "https://open.spotify.com/album/7k6KxkfxwJuUecA41Xe2QL", - "created_at": "2025-12-20T15:51:56.420Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 3, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NEON GENESIS EVANGELION III (Original Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2730c14a66e27297138c08f7695", - "part_or_season": "Unknown", - "release_date": "2023-01-27", - "artists": "Shiro SAGISU", - "tracklist": "Shiawase wa Tsumi no Nioi\nMugen Houyou\nNORMAL BLOOD\nHARBINGER OF TRAGEDY\nCHILDHOOD MEMORIES, SHUT AWAY\nThose women longed for the touch of others' lips, and thus invited their kisses\nBACKGROUND MUSIC II\nBACKGROUND MUSIC III\nIN THE DEPTHS OF HUMAN HEARTS\nHOSTILITY RESTRAINED\nTHREE OF ME, ONE OF SOMEONE ELSE\nCRIME OF INNOCENCE\nTHE SORROW OF LOSING THE OBJECT OF ONE'S DEPENDENCE\nDo you love me?\nSEPARATION ANXIETY\nINTROJECTION\nDEPRESSION\nSplitting of the Breast\nINFANTILE DEPENDENCE, ADULT DEPENDENCY\nMOTHER IS THE FIRST OTHER\nTHE HEADY FEELING OF FREEDOM\nGood, or Don't Be\nB-20 il tuo sorriso", - "total_tracks": 23, - "spotify_url": "https://open.spotify.com/album/15kyXcDWyZkpcVEeuKBdUk", - "created_at": "2025-12-20T15:51:56.606Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 4, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "A Cruel Angel's Thesis (Neon Genesis Evangelion Theme Rework)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c84201d7e78d4391dff6b418", - "part_or_season": "Unknown", - "release_date": "2021-02-16", - "artists": "Ginger Root", - "tracklist": "A Cruel Angel's Thesis (Neon Genesis Evangelion Theme Rework)", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/3rMaf40HV3WqpcYXn9ofU2", - "created_at": "2025-12-20T15:51:56.719Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 5, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Shiro SAGISU Music from \"EVANGELION 3.0\"YOU CAN (NOT)REDO.", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27354b26107b2b819ad77e17311", - "part_or_season": "Unknown", - "release_date": "2012-11-28", - "artists": "Shiro SAGISU", - "tracklist": "Gods Message =3EM02=\nThe Ultimate Soldier=3EM05=\nDark Defender =3EM06=\nThe Anthem =3EM07=\nOut of the Dark =3EM10=\nL'Apôtre de la Lune (2 pianos) =3EM12=\nQuatre Mains (à quatre mains) =3EM16=\nQui veut faire l'ange fait la bête (piano solo) =3EM17=\nTrust =3EM19=\nL'Apôtre de la Lune (orchestre cordes) =3EM22=\nReturn to Ash =3EM23=\nIt will mean Victory =3EM24=\nBetrayal =3EM25=\nScarred and Battled =3EM26=\nFrom Beethoven 9 =3EM27=\nThe Wrath of God in All its Fury =3EM28=\nTout est Perplexe (Thème Q) =3EM30b=\nGods Gift =3EM31=\nKindred Spirits (Thème Q) =3EM30a=\nBataille d'Espace =3EM01=\nQuiproquo 131(2pianos)=3EM03=\nSerenity Amongst the Turmoil =3EM04=\nQuelconque103(piano)=3EM08=\nQuiproquo 83 (2 pianos) =3EM09=\nQuatre Mains(chambre cordes)\nQuiproquo140(piano) =3EM18=\nLong Slow Pain=3EM20=\nQuelconque 56 avec A4 (2 pianos plus) =3EM21=\nQuiproquo131(orchestre)\nQui veut faire l'ange fait la bête (piano capricieux)\nThéme Q(guitare)=3EM13=\nande-annonce (garçons)\nPeaceful Times (chœur) =3EM32=\nFamously...", - "total_tracks": 34, - "spotify_url": "https://open.spotify.com/album/78BrgzadRuj57mDpBnd2dp", - "created_at": "2025-12-20T15:51:56.891Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 6, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NEON GENESIS EVANGELION II (Original Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2733d889ffa9b83f3fddfdabc00", - "part_or_season": "Unknown", - "release_date": "2023-01-27", - "artists": "Shiro SAGISU", - "tracklist": "Yokan\nThe Cruel Angel's Thesis \nBORDERLINE CASE\nA Crystalline Night Sky\nANGEL ATTACK II\nANGEL ATTACK III\nBoth of you, Dance Like You Want to Win!\nWaking up in the morning\nBACKGROUND MUSIC\nA Moment When Tension Breaks\nThe Day Tokyo-3 Stood Still\nSpending Time in Preparation\nShe said, \"Don't make others suffer for your personal hatred.\"\nMAGMADIVER\nPLEASURE PRINCIPLE\nThe Beast II (1996)\nTHANATOS\nREI III\nWhen I Find Peace of Mind\nJikai Yokoku (F-2 15 Second Version)\nB-16 Rhythm nomi (MISATO)\nB-17 Rhythm nomi (ASUKA STRIKES)", - "total_tracks": 22, - "spotify_url": "https://open.spotify.com/album/6o1pux1ryskKRd4LX3c3AC", - "created_at": "2025-12-20T15:51:57.062Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 7, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NEON GENESIS EVANGELION (Original Series Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273564b9a0c99103bf3c5e054f7", - "part_or_season": "Unknown", - "release_date": "2019-06-21", - "artists": "Shiro SAGISU", - "tracklist": "The Cruel Angel's Thesis (Director's Edit Version)\nANGEL ATTACK\nRei I\nHedgehog's Dilemma\nBAREFOOT IN THE PARK\nRITSUKO\nMISATO\nASUKA STRIKES!\nNERV\nTOKYO-3\nI. SHINJI\nEVA-01\nA STEP FORWARD INTO TERROR\nEVA-02\nDECISIVE BATTLE\nEVA-00\nTHE BEAST\nMARKING TIME, WAITING FOR DEATH\nRei II\nFLY ME TO THE MOON - Instrumental Version\nNext Episode\nFLY ME TO THE MOON - YOKO TAKAHASHI Acid Bossa Version", - "total_tracks": 22, - "spotify_url": "https://open.spotify.com/album/4vwgTxjKwiSWfEoGOqhiWa", - "created_at": "2025-12-20T15:51:57.197Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 8, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Shiro SAGISU Music from \"SHIN EVANGELION\" EVANGELION: 3.0+1.0.", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273210f52db7c98f5e1c0915342", - "part_or_season": "Unknown", - "release_date": "2021-08-13", - "artists": "Shiro SAGISU", - "tracklist": "paris\nif a cause is worth dying for then be\neuro nerv\ntema principale: orchestra dedicata ai maestri\nberceuse: piano\nl'homme n'est ni ange ni bete\nprettiest star\nkarma\nyearning for your love\ntema principale: piano dedicata ai maestri\nhand of fate\nunwelcome: piano\nm & r: piano\nlost in the memory\nberceuse: piano dans l'orchestre a cordes\nEM10A alterne\nEM10A alterne bis\ngekitotsu! gouten tai daimakan\ngekitotsu! gouten tai daimakan =hooked on the last train=\nmetamorphosis\nparanoia\nmirror mirror: refrain\nmirror mirror: orchestra and choir\nthis is the dream, beyond belief...\ntheme du concerto 494\npsycho\nkiller\ni'll go on loving someone else =version orchestre=\npillars of faith\nvoices in my head\nwhat if?: orchestra, choir and piano\nEM20 =wunder operation=\nthe path\nborn evil\ncitation from 'joy to the world'\npensees intimes: piano dans l'orchestre a cordes\nave verum corpus\nVoyager - Gravestone Without Date\n:||\nthe way of life\npensees intimes: piano\nunwelcome: orchestra\nm & r: suite pour piano, flute basse et orchestre\nthis is the dream\nVoyager - Gravestone Without Date =suppa duppa bossa=\nwhat if?: guitar\nhand of fate: playback\nyearning for your love: playback\nlost in the memory: playback\nla plus belle etoile", - "total_tracks": 54, - "spotify_url": "https://open.spotify.com/album/6IHkLv8IiMBV9hlfin14ok", - "created_at": "2025-12-20T15:51:57.535Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 9, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Shiro SAGISU Music from \"EVANGELION 2.0\" YOU CAN (NOT) ADVANCE.", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273417dfcd91721acbae2cdbc59", - "part_or_season": "Unknown", - "release_date": "2009-07-08", - "artists": "Shiro SAGISU", - "tracklist": "At The Very Beginning\nL'Agresseur\nAmbassadrice Rouge\nDes Cordes:opus1\nDestiny\nFate\nRobe des Champs\nDes Cordes:opus2\nTranquillite\nLes Betes\n今日の日はさようなら-Tribute to \"Sound of Music\"\nIn My Spirit\nKeep Your Heads Above The Mayhem\nInstabilite:Orchestre\nThe Final Decision We All Must Take\nEvanescence:mouvement 1\nEvanescence:mouvement 2\nEvanescence:mouvement 3\nCarnage\nSin From Genesis\n翼をください-Tribute to \"Sound of Music\"\nInstabilite:Piano Solo\nMellow2009", - "total_tracks": 23, - "spotify_url": "https://open.spotify.com/album/1Etq7R0V6TLzRfUXOPwAwc", - "created_at": "2025-12-20T15:51:57.727Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 10, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "THE END OF EVANGELION (Original Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273b53900d8b2056868839d7edd", - "part_or_season": "Unknown", - "release_date": "2023-02-15", - "artists": "Shiro SAGISU", - "tracklist": "Tanin no Kanshyou\nManatsu no Syuuen\nTaikou eno Kinkyuuhinan\nItsuwarino Saisei (M-7Bnewremix)\nMigawari no Sinnyuu\nII Air [ORCHESTRAL SUITE No.3 in D Major, BWV. 1068]\nMunashiki Nagare\nTHANATOS -IF I CAN'T BE YOURS-\nHajimari eno Touhi\nHuan to Mitsugetsu\nKOMM, SUSSER TOD - M-10 Director's Edit Version\nJesus bleibet meine Freude [Herz und Mund und Tat und Leben BWV.147] / Syuyo Hito no Nozomi no Yorokobiyo\nHeisoku no Kakudai\nYume no Sukima\nM-9 Heisoku no Kakudai\nF02 version 0706", - "total_tracks": 16, - "spotify_url": "https://open.spotify.com/album/12Zlf7jQUcYOsPl2qbuXgz", - "created_at": "2025-12-20T15:51:57.922Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 11, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Naruto For Sleep", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27356492622f9ca2fd5726845d5", - "part_or_season": "Unknown", - "release_date": "2023-11-17", - "artists": "Slumbering Tom", - "tracklist": "Comet (From \"Naruto Shippuden\")\nCloser (From \"Naruto Shippuden\")\nGuren Theme (From \"Naruto Shippuden\")\nDespair (From Despair (From \"Naruto Shippuden\")\nDecision (From \"Naruto Shippuden\")\nCompanions (From \"Naruto Shippuden\")\nMy Mother And My Father (From \"Naruto Shippuden\")\nSakura's Theme (From \"Naruto Shippuden\")\nKimimaro's Demise (From \"Naruto Shippuden\")\nItachi's Theme (From \"Naruto Shippuden\")\nTenten's Theme (From \"Naruto Shippuden\")\nThe Calm Before The Storm (From \"Naruto Shippuden\")\nYoung Obito's Death Theme (From \"Naruto Shippuden\")\nSilhouette (From \"Naruto Shippuden\")\nAlive (From \"Naruto Shippuden\")\nNindo (From \"Naruto Shippuden\")\nBurial (From \"Naruto Shippuden\")\nSamidare (From \"Naruto Shippuden\")\nGentle Hands (From \"Naruto Shippuden\")\nExperienced Many Battles (From \"Naruto Shippuden\")\nSaika (From \"Naruto Shippuden\")\nScene Of A Disaster (From \"Naruto Shippuden\")\nMountain Haze (From \"Naruto Shippuden\")\nObito & Rin (From \"Naruto Shippuden\")\nMan Of The World (From \"Naruto Shippuden\")\nChildhood Memories (From \"Naruto\")\nPain's Theme (From \"Naruto Shippuden\")\nShippuden (From \"Naruto Shippuden\")\nMinato Saves Kushina (From \"Naruto Shippuden\")\nGentle Hands (From \"Naruto Shippuden\") - Piano\nThe Raising Fighting Spirit (From \"Naruto Shippuden\")\nObito's Theme (From \"Naruto Shippuden\")", - "total_tracks": 32, - "spotify_url": "https://open.spotify.com/album/19wH4ozi5NozKOdGPDVO3i", - "created_at": "2025-12-20T15:51:58.298Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 12, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Best Sad Songs from Naruto", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273760d81cefd2c8cade93a812c", - "part_or_season": "Unknown", - "release_date": "2012-12-07", - "artists": "Bird Of Pray", - "tracklist": "Ai to Shu - Grief and Sorrow [from Naruto]\nKodoku – Alone [from Naruto]\nAi to Hi – Sadness and Sorrow [from Naruto] - Short Version\nShitsui – Despair [from Naruto Shippuuden]\nGuren [from Naruto Shippuuden]\nUtsusemi – Man of the World [from Naruto Shippuuden]\nHakubo – Nightfall [from Naruto Shippuuden]\nSamidare [from Naruto Shippuuden]\nKodoku – Loneliness [from Naruto Shippuuden]\nAi to Shu - Grief and Sorrow [from Naruto] - Hokage's Funeral\nAi to Hi – Sadness and Sorrow [from Naruto] - Long Version\nAi to Shu - Grief and Sorrow - Hokage's Funeral [from Naruto] - Dance Remix\nAi to Hi – Sadness and Sorrow [from Naruto] - Techno Remix", - "total_tracks": 13, - "spotify_url": "https://open.spotify.com/album/4sbOSN1tcN8i0ZG1ilDvNM", - "created_at": "2025-12-20T15:51:58.416Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 13, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NARUTO-ナルト- 疾風伝 オリジナル・サウンドトラック", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273d911e43123678e12f4eb2823", - "part_or_season": "Unknown", - "release_date": "2007-12-19", - "artists": "Yasuharu Takanashi, YAIBA", - "tracklist": "疾風伝\n動天\n帰郷\n千軍万馬\n電光石火\n任務\n空蝉\n出陣\n怒り\n暁\n哀鴻遍野\n人柱力\n孤独\n薄暮\n秘めたる闘志\n古今無双\n落日\n百花繚乱\n失意\n暗雲\n膠着\n悲壮\n対峙\n怪異\n乾坤一擲\n形勢逆転\n仲間\n疾風組曲", - "total_tracks": 28, - "spotify_url": "https://open.spotify.com/album/4f5CITLlnnTPE49n5Bd0zN", - "created_at": "2025-12-20T15:51:58.628Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 14, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Blue Bird (From \"Naruto Shippuden\")", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2732d6016235e4d0178b779afe1", - "part_or_season": "Unknown", - "release_date": "2020-12-22", - "artists": "Akano", - "tracklist": "Blue Bird (From \"Naruto Shippuden\")", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/7C41hnp5N5oQpH143Iz4rN", - "created_at": "2025-12-20T15:51:58.745Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 15, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NARUTO -ナルト- オリジナルサウンドトラック Ⅲ", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2737b3374e8abec5bc030466572", - "part_or_season": "Unknown", - "release_date": "2005-04-27", - "artists": "Toshio Masuda, MUSASHI PROJECT", - "tracklist": "美しき碧い野獣\n桜の季節\nフェイク!\n危機また危機\nロック・リーのテーマ\n舞\n究極奥義\nキメるってばよ!\n嗚呼、師弟愛\n復讐者!\n重は激\n猿飛\n火影\n哀と愁\n自来也のテーマ\n波紋\n首飾り揺れて\nブン太!\n茶ノ國\n忍びよる悪夢\n五代目の闘い!\n英雄\n火の意志を継ぐ者たち…", - "total_tracks": 23, - "spotify_url": "https://open.spotify.com/album/1HObVU42QE1DcypM59MBFS", - "created_at": "2025-12-20T15:51:58.960Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 16, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Wind - Naruto Ending Theme (From \"Naruto\")", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273a07a8e12bfe67dd7901ad23b", - "part_or_season": "Unknown", - "release_date": "2020-01-29", - "artists": "Geek Music", - "tracklist": "Wind - Naruto Ending Theme (From \"Naruto\")", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/27ukNwDRlAQf99DDE7VNHj", - "created_at": "2025-12-20T15:51:59.087Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 17, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NARUTO -ナルト- オリジナルサウンドトラック Ⅱ", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2738fc8a433553d6586f75d7dc1", - "part_or_season": "Unknown", - "release_date": "2004-03-10", - "artists": "Toshio Masuda, MUSASHI PROJECT", - "tracklist": "木ノ葉の昼\n対峙\n悪\nサスケのテーマ\nサバイバル試験\n木ノ葉の午後\nおふざけモード\n木ノ葉丸のテーマ\n修業だコレ!\nガイのテーマ\nヒナタvsネジ\n大蛇丸のテーマ\n復讐者\n大蛇丸~戦闘~\n雷切\nサスケ~運命~\nひとり", - "total_tracks": 17, - "spotify_url": "https://open.spotify.com/album/6dfygmKJzKiTCJJY7qpTnA", - "created_at": "2025-12-20T15:51:59.303Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 18, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NARUTO-ナルト- 疾風伝 オリジナル・サウンドトラック Ⅲ", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2735b26033d465f5cbd3ca87a5e", - "part_or_season": "Unknown", - "release_date": "2016-07-06", - "artists": "Yasuharu Takanashi, YAIBA", - "tracklist": "うちはイタチ\n九尾発動\n四代目火影\n父と母\n柔らかな手\n大筒木カグヤ\nゼツのテーマ\nアシュラ・インドラ\n修羅道\n冷たき土\n粛清の女神\nうずまく熱風\n轟地に立つ\n勇ある者たち\nずっと見てた\nカカシとオビト\n友よ\n永遠に眠れ\nオビトのテーマ\n殉教者\nノスタルジア\n届かぬ人に\n風と炎の円舞曲\n道は続く\nNARUTO Main Theme'16", - "total_tracks": 25, - "spotify_url": "https://open.spotify.com/album/7DQCQeGbnpjr3tF7p3f2jA", - "created_at": "2025-12-20T15:51:59.495Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 19, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NARUTO -ナルト- オリジナルサウンドトラック", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2736d1c1a631e1b46ccc32eaee2", - "part_or_season": "Unknown", - "release_date": "2003-03-19", - "artists": "Toshio Masuda, MUSASHI PROJECT", - "tracklist": "オレがナルトだってばよ!\n九尾の妖狐\n朝\nナルトの日常\n緊張\n沸き上がる闘志\n哀と悲\n孤独\nサクラのテーマ\nカカシのテーマ\nお色気\n行け行けナルト\n夕暮れ\n膠着状態\n強にして重\n劣勢\n激と撃\n逆転\n勝利\nNARUTO Main Theme", - "total_tracks": 20, - "spotify_url": "https://open.spotify.com/album/6NrJzDuBPZvp3ZRXnIqs1P", - "created_at": "2025-12-20T15:51:59.678Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 20, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "NARUTO-ナルト- 疾風伝 オリジナル・サウンドトラック Ⅱ", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273f9f0edfe58bbb6e3c44e574f", - "part_or_season": "Unknown", - "release_date": "2009-12-16", - "artists": "Yasuharu Takanashi, YAIBA", - "tracklist": "昇竜\n臨界\n撃破\n彩霞\n預言者\n飛段\n角都\n紅炎\n乱髪\n埋葬\n白詰草\n漂泊\n難攻不落\n疾空\n試練\n読心術\n紅蓮\n黒点\n緋文字\n儀礼\n紅薔薇\n山霞\n千夜\n幻視\n白映\n落葉船\n鳴神\n五月雨", - "total_tracks": 28, - "spotify_url": "https://open.spotify.com/album/1GoWJc6XFiHW1ewHcY1Xqm", - "created_at": "2025-12-20T15:51:59.859Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 21, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "\"Attack on Titan\" Season 3 Original Soundtrack", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27336c663196e968a1f8b7d6842", - "part_or_season": "1", - "release_date": "2019-08-26", - "artists": "Sawano Hiroyuki", - "tracklist": "K2-\r\nZero Eclipse\r\nSymphonicsuite (Aot) Part1-1st: 0Sk\r\nSymphonicsuite (Aot) Part1-2nd: Historia\r\nSymphonicsuite (Aot) Part1-3rd: Barrichestra\r\nSymphonicsuite (Aot) Part1-4th: 7-B@$\r\nK21\r\nAots3-3Spens / 21seki\r\nCall Your Name (Gv)\r\nSymphonicsuite (Aot) Part2-1st: Attack on Titan (Wmid)\r\nSymphonicsuite (Aot) Part2-2nd: Shingekinokyojin\r\nSymphonicsuite (Aot) Part2-3rd: Before Lights Out\r\nSymphonicsuite (Aot) Part2-4th: 2An\r\nSymphonicsuite (Aot) Part2-5th: Apple Seed\r\nSymphonicsuite (Aot) Part2-6th: Thanksat\r\nEren the Hyou - Movie Ver.\r\nBarricades - Movie Ver.\r\nAots3-Pf1\r\nT-Kt\r\nA 1 G U\r\nAots3-Pf2\r\nAots3-1000ryaku\r\nTooth-I:\r\nLen Zo 97N10 Hi Kyosetsu Mahle\r\nK21 - Instrumental\r\nZero Eclipse - Instrumental\r\nBarricades - Movie Ver. / Instrumental\r\nCall Your Name (Gv) - Instrumental\r\nAttack on Titan (Wmid) - Instrumental\r\nBefore Lights Out - Instrumental\r\nApple Seed - Instrumental", - "total_tracks": 31, - "spotify_url": "https://open.spotify.com/album/5ZT4JbMhZU7V8sDPHZhG8h", - "created_at": "2025-12-20T15:52:00.579Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 22, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "TV Anime \"Attack on Titan\" Original Soundtrack", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2732e09d63a7ba7fa7071e26524", - "part_or_season": "2", - "release_date": "2013", - "artists": "Sawano Hiroyuki", - "tracklist": "Attack on Titan\r\nThe Reluctant Heroes\r\nEye-Water\r\nRittaikidou\r\nCounter Attack-Mankind\r\nArmy-Attack\r\nVogel Im Kafig\r\nDOA\r\n凸】♀】♂】←Titan\r\nE.M.A\r\nTitan♀~9chiku\r\nBauklotze\r\n2chijou\r\nXl-Tt\r\nCall Your Name\r\nOmake-Pfadlib", - "total_tracks": 16, - "spotify_url": "https://open.spotify.com/album/3WDkuVqT1OfkTdCyYQ2gXa", - "created_at": "2025-12-20T15:52:00.745Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 23, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "TV Anime \"Attack on Titan Season 2\" (Original Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2739c44e39f1b6aafe87a6db356", - "part_or_season": "6", - "release_date": "2017-06-07", - "artists": "Sawano Hiroyuki", - "tracklist": "Barricades\r\nApetitan\r\nYou See Big Girl / T:T\r\nSon 2 Sea Ver\r\nCall of Silence\r\nEren Zahyo\r\nAttack on D\r\nYamanaiame\r\n2 Volt\r\nShingeki St - Hrn- Egt 20130629 Kyojin\r\nSo Ist Es Immer\r\nShingeki St - Hrn - Gt - Pf 20130629 Kyojin\r\nYmniam - Orch\r\nThe Reluctant Heroes (Modv)\r\nShingeki St - Hrn - Gt 20130629 Kyojin\r\nThe Dogs\r\nShingeki Pf - Medley 20130629 Kyojin\r\nEmaymniam\r\nShingeki Pf 20130218 Kyojin\r\nShingeki Gt 20130218 Kyojin\r\nTwo - Lives\r\nShingeki St 20130629 Kyojin\r\nShingeki Vn - Pf 20130524 Kyojin\r\nYmniam - Mkorch\r\nShingeki Pf - Adlib - C 20130218 Kyojin\r\nShingeki Pf - Adlib - B 20130218 Kyojin\r\nShingeki Vc - Pf 20130218 Kyojin\r\nThe Weight of Lives\r\nYamanaiame (Fmv)\r\nAots2m #1\r\nAots2m #2\r\nAots2m #3\r\nAots2m #4", - "total_tracks": 33, - "spotify_url": "https://open.spotify.com/album/0jNwqmKIwudqqbMJRRtzQb", - "created_at": "2025-12-20T15:52:00.937Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 24, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "My War (From \"Attack on Titan\")", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27372d5adcdef5c335651d067aa", - "part_or_season": "Unknown", - "release_date": "2020-12-30", - "artists": "Miura Jam", - "tracklist": "My War (From \"Attack on Titan\")", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/3ongPyO4cZbaYXcpVaJzMO", - "created_at": "2025-12-20T15:52:01.055Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 25, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "Epica vs. Attack on Titan Songs", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2730cca043a845cf671adcab58b", - "part_or_season": "7", - "release_date": "2018-07-20", - "artists": "Epica", - "tracklist": "Crimson Bow and Arrow\r\nWings of Freedom\r\nIf Inside These Walls Was a House\r\nDedicate Your Heart!\r\nCrimson Bow and Arrow - Instrumental\r\nWings of Freedom - Instrumental\r\nIf Inside These Walls Was a House - Instrumental\r\nDedicate Your Heart! - Instrumental", - "total_tracks": 8, - "spotify_url": "https://open.spotify.com/album/56nnXtBQCyeSTWpVkjDQM3", - "created_at": "2025-12-20T15:52:01.188Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 26, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Shinzou Wo Sasageyo (Attack on Titan)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273f957a4b3df0344dd0e1aeb6f", - "part_or_season": "Unknown", - "release_date": "2017-05-19", - "artists": "NateWantsToBattle", - "tracklist": "Shinzou Wo Sasageyo (Attack on Titan)", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/3ng95xtVQb1hJOH3vFiW9I", - "created_at": "2025-12-20T15:52:01.317Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 27, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "TV Anime \"Attack on Titan The Final Season\" Original Sound Track Complete Album", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2739d5eb312fb990f0527e451da", - "part_or_season": "4", - "release_date": "2024-07-17", - "artists": "KOHTA YAMAMOTO, Sawano Hiroyuki", - "tracklist": "Ashes on The Fire\r\nThe Other Side of the Sea\r\nSplinter Wolf\r\nNightmare\r\nGuilty Hero\r\nThe Successor\r\nMemory Lane\r\nLiberio at Night\r\nLiberio Festival\r\nTrue History\r\nThe Warriors\r\nThe Fall of Marley\r\nZeek's Plan\r\nCold Light\r\nNowhere to go\r\nAOTF-s1\r\nAOTF-s2\r\nAOTF-s3\r\nFootsteps of Doom\r\nInto the Night - Acoustic ver.\r\nAshes on The Fire - PTV\r\nMAN-Child\r\nAll of The Freedoms\r\nTRAITOR\r\nNight of The End\r\nFrom You, 2,000 Years Ago\r\nThe Global Allied Fleet\r\nMICHI\r\nTHAW\r\nInto the Night\r\nEren\r\nYouSee-Power\r\nattack ON taitan - TFSv\r\nAn Ordinary Day\r\nAim of the Fate\r\nLiar\r\nattack till we are Ashes\r\nVanishment\r\nThe Reason\r\nFriendships\r\nMemory Lane - Vln ver.\r\nLiberio at Night - Pf&Vln ver.\r\nAtonement", - "total_tracks": 43, - "spotify_url": "https://open.spotify.com/album/5qi9RDOs1DBNHsNNBM6gjA", - "created_at": "2025-12-20T15:52:01.516Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 28, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "Attack On Titan The Final Season Original Soundtrack 02", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273e6f7f9dd98d526830a50e59b", - "part_or_season": "3", - "release_date": "2022-06-22", - "artists": "KOHTA YAMAMOTO, Sawano Hiroyuki", - "tracklist": "Footsteps of Doom\r\nInto the Night - Acoustic ver.\r\nAshes on The Fire -PTV-\r\nMAN-Child\r\nAll of The Freedoms\r\nTRAITOR\r\nNight of The End\r\nFrom You, 2,000 Years Ago\r\nThe Global Allied Fleet\r\nMICHI\r\nTHAW\r\nInto the Night\r\nELO\r\nYouSee-Power\r\nattack ON taian [TFSv]", - "total_tracks": 15, - "spotify_url": "https://open.spotify.com/album/6ZhZFePX82sWsRzKMdaprL", - "created_at": "2025-12-20T15:52:01.763Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 29, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "Attack on Titan The Final Season Original Soundtrack", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2731ab362964a8865eace979a39", - "part_or_season": "5", - "release_date": "2021-06-23", - "artists": "Kohta Yamamoto and Hiroyuki Sawano", - "tracklist": "Ashes on The Fire\r\nThe Other Side of the Sea\r\nSplinter Wolf\r\nNightmare\r\nGuilty Hero\r\nThe Successor\r\nMemory Lane\r\nLiberio at Night\r\nLiberio Festival\r\nTrue History\r\nThe Warriors\r\nThe Fall of Marley\r\nZeek's Plan\r\nNowhere to go\r\nAtonement\r\nCold Light\r\nThe Reason\r\nFriendships\r\nMemory Lane - Vln ver.\r\nLiberio at Night - Pf&Vln ver.\r\nAOTF-s1\r\nAOTF-s2\r\nAOTF-s3", - "total_tracks": 23, - "spotify_url": "https://open.spotify.com/album/6hpEJjz25G99vP0DgMgqqi", - "created_at": "2025-12-20T15:52:01.988Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 30, - "fields": { - "media_type": "ANIME", - "media_title": "Attack On Titan", - "album_title": "Ashes on The Fire (Attack on Titan The Final Season Original Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c2bcff5fed95d5325eec7f91", - "part_or_season": "1", - "release_date": "2021-02-01", - "artists": "KOHTA YAMAMOTO", - "tracklist": "Ashes on The Fire (Attack on Titan The Final Season Original Soundtrack)", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/2D75BWyFdglxuY29CGfF4i", - "created_at": "2025-12-20T15:52:02.162Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 31, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Dune (Original Motion Picture Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27349fb09eb93f76a5805b8f485", - "part_or_season": "Unknown", - "release_date": "2021-09-17", - "artists": "Hans Zimmer", - "tracklist": "Dream of Arrakis\nHerald of the Change\nBene Gesserit\nGom Jabbar\nThe One\nLeaving Caladan\nArrakeen\nRipples in the Sand\nVisions of Chani\nNight on Arrakis\nArmada\nBurning Palms\nStranded\nBlood for Blood\nThe Fall\nHoly War\nSanctuary\nPremonition\nOrnithopter\nSandstorm\nStillsuits\nMy Road Leads into the Desert", - "total_tracks": 22, - "spotify_url": "https://open.spotify.com/album/56k8ay5oE5apR61WIeE4wQ", - "created_at": "2025-12-20T15:52:02.737Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 32, - "fields": { - "media_type": "MOVIE", - "media_title": "DUNE", - "album_title": "Dune: Part Two (Original Motion Picture Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273166adc280da684b1d54f4126", - "part_or_season": "2", - "release_date": "2024-02-23", - "artists": "Hans Zimmer", - "tracklist": "Beginnings Are Such Delicate Times\r\nEclipse\r\nThe Sietch\r\nWater of Life\r\nA Time of Quiet Between the Storms\r\nHarvester Attack\r\nWorm Ride\r\nOrnithopter Attack\r\nEach Man Is a Little War\r\nHarkonnen Arena\r\nSpice\r\nSeduction\r\nNever Lose Me\r\nTravel South\r\nPaul Drinks\r\nResurrection\r\nArrival\r\nSouthern Messiah\r\nThe Emperor\r\nWorm Army\r\nGurney Battle\r\nYou Fought Well\r\nKiss the Ring\r\nOnly I Will Remain\r\nLisan al Gaib", - "total_tracks": 25, - "spotify_url": "https://open.spotify.com/album/1PeYjDmxcRNvxLd5mGHuCC", - "created_at": "2025-12-20T15:52:03.029Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 33, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Dune Days", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c0e19ae45c7ec2bd3a62bf69", - "part_or_season": "Unknown", - "release_date": "2023-09-07", - "artists": "Lawrence Walther, Recalibration Machine, Less Gravity", - "tracklist": "Atmosphere\nEmotions\nSand Cottage\nHourglass\nSoft Spot", - "total_tracks": 5, - "spotify_url": "https://open.spotify.com/album/7jvCyA9lwTTbZWiuscFtyk", - "created_at": "2025-12-20T15:52:03.199Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 34, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Dune", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2734994c677f8c6369894ba6686", - "part_or_season": "Unknown", - "release_date": "2024-04-12", - "artists": "Lvst", - "tracklist": "Dune", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/0YveXaZSQ1niQlMmUa7xtN", - "created_at": "2025-12-20T15:52:03.654Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 35, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Dunes", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273a500281b02bbeb51295d5a94", - "part_or_season": "Unknown", - "release_date": "2023-05-19", - "artists": "southstar", - "tracklist": "Luna\nLe soleil\nDune\nLove Express\nTypa Girl", - "total_tracks": 5, - "spotify_url": "https://open.spotify.com/album/5OraR3Y7Ccd990r66pBWUB", - "created_at": "2025-12-20T15:52:04.026Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 36, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Prélude d'une nuit d'automne", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2731abd672f2be25e33261b473b", - "part_or_season": "Unknown", - "release_date": "2022-10-07", - "artists": "Adrien de la Salle", - "tracklist": "Prélude d'une nuit d'automne", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/3L0asUoUkDBJnLv4jDWh6i", - "created_at": "2025-12-20T15:52:04.202Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 37, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Spirit Dunes Afro-Arabian Rituals", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273d34edba696a5a2bf7577ae42", - "part_or_season": "Unknown", - "release_date": "2025-09-27", - "artists": "ANO LI", - "tracklist": "Asha Mirage\nAshara\nKahel Ritual\nKhalari Nights\nLumina Tribe\nNdoro Eclipse\nOba Drums\nOrixa Temple\nShira Waves\nZyra Chant", - "total_tracks": 10, - "spotify_url": "https://open.spotify.com/album/4KqREtmWnvZ7d5oBjCqnFL", - "created_at": "2025-12-20T15:52:04.352Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 38, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "The Dune Sketchbook (Music from the Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2734a9cb923dba2bba347ddb365", - "part_or_season": "Unknown", - "release_date": "2021-09-03", - "artists": "Hans Zimmer", - "tracklist": "Song of the Sisters\nI See You in My Dreams\nHouse Atreides\nThe Shortening of the Way\nPaul's Dream\nMoon over Caladan\nShai-hulud\nMind-killer\nGrains of Sand", - "total_tracks": 9, - "spotify_url": "https://open.spotify.com/album/78uSUydG2FbcVDDFWGMQjT", - "created_at": "2025-12-20T15:52:04.510Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 39, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Ice On The Dune", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273cf06b7a58c6bf3e90102bf05", - "part_or_season": "Unknown", - "release_date": "2013-01-01", - "artists": "Empire Of The Sun", - "tracklist": "Lux\nDNA\nAlive\nConcert Pitch\nIce On The Dune\nAwakening\nI’ll Be Around\nOld Flavours\nCelebrate\nSurround Sound\nDisarm\nKeep A Watch", - "total_tracks": 12, - "spotify_url": "https://open.spotify.com/album/4phgwA30YOM1BAhJEm96Al", - "created_at": "2025-12-20T15:52:04.663Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 40, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Genshin Impact - The Unfathomable Sand Dunes (Original Game Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b27300ed07c6e62b317ddeea973f", - "part_or_season": "Unknown", - "release_date": "2023-04-19", - "artists": "HOYO-MiX", - "tracklist": "Sorush's Purity\nResonance of Khvarena\nMaidens of Sanctity\nThe Caress of Three Mothers\nWhere Simurgh Rests\nFantasy of Ten Thousand Blossoms\nDirge of Newborn Life\nUndisturbed Tranquility\nMirage of the Oasis\nLonesome Road\nGrief of the Lost\nDividing Paths\nDawnlight Over Dunes\nDance of Scorpions\nGolden Crescent\nA Pearl Amongst Legends\nHymn of Cicadas\nSimurgh's Dream\nTaabak Laylatak\nResting Rogues\nPerilous Hollow\nOmen of Desolation\nSolitary Breach\nGhastly Badlands\nShadow in Ruins\nAbominable Bog\nWhere Vermin Crawl\nWhere Dreams Putrify\nPairidaeza\nHer Wishes\nOracle of the Void\nOnce-Joyful Dream\nKingdom of Dust\nEmpire of Sand\nSpice Road\nRealms of Amnesia\nGilded Journey\nOcean of Grains\nDesert Lullaby\nThe Crescent Moon's Waning\nMemories of Gurabad\nLo, There Do I See The Falcon\nWhere She Will Return\nThose Who Dream No Dreams\nThe Temple Conquered by Death\nLamenting Torrent of Oblivion\nDebris of the Beloved\nVermin Nest\nGurabad's Whisper\nBuried Mysteries", - "total_tracks": 108, - "spotify_url": "https://open.spotify.com/album/4JMjkt32NZ9VnPj68Mz7Ra", - "created_at": "2025-12-20T15:52:04.934Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 41, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Doom: The Dark Ages (Original Game Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2734f01ee10cef4a74c01766f49", - "part_or_season": "Unknown", - "release_date": "2025-05-14", - "artists": "Finishing Move Inc.", - "tracklist": "Invasion\nFrom the Ashes\nWhen the Shadows First Lengthened\nUnchained Predator\nHebeth\nAtlan Battleground\nSentinel Barracks\nHoly City\nBlood Red\nLast Bastion\nUnholy Siege\nPursuit of Demons\nUnyielding\nInfernal Chasm\nHellspawn Rift\nTitanic Prison\nAncestral Beast\nTransdimensional\nCosmic Sea\nInto the Void\nWhat Lies Below\nBattle on the Blackened Tide\nSteel Beyond the Grave\nRebirth\nDivine Retribution\nWither and Writhe\nRebuild\nColossus Unleashed\nOnslaught of the Damned\nTheomachy\nBlood Spill\nThe Prince\nBetween Hex and Flame\nApotheosis\nHe Is out There", - "total_tracks": 35, - "spotify_url": "https://open.spotify.com/album/1mL4QfAwy3gFEjtGPHMG3F", - "created_at": "2025-12-20T15:52:05.516Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 42, - "fields": { - "media_type": "GAME", - "media_title": "DOOM", - "album_title": "Doom (Original Game Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273aad36b64a1a78951b504bc4e", - "part_or_season": "1", - "release_date": "2016-09-28", - "artists": "Mick Gordon", - "tracklist": "I. Dogma\r\nRip & Tear\r\nAt Doom's Gate\r\nRust, Dust & Guts\r\nII. Demigod\r\nHellwalker\r\nAuthorization; Olivia Pierce\r\nFlesh & Metal\r\nImpure Spectrum\r\nTies That Bind\r\nBfg Division\r\nResidual\r\nArgent Energy\r\nHarbinger\r\nBiowaves\r\nOlivia's Doom (Chad Mossholder Remix)\r\nTransistor Fist\r\nDr. Samuel Hayden\r\nCyberdemon\r\nIncantation\r\nIII. Dakhma\r\nDamnation\r\nThe Stench\r\nUac Report File; Shto36u3\r\nDeath & Exhale\r\nSkullHacker\r\nLazarus Waves\r\nVega Core\r\n6_idkill.Vega.Cih\r\nMastermind\r\nIV. Doom", - "total_tracks": 31, - "spotify_url": "https://open.spotify.com/album/0KQyC28P9808r0oKKNgHvp", - "created_at": "2025-12-20T15:52:05.755Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 43, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "doom", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2735a1f723b6e58219f5a0edfe4", - "part_or_season": "Unknown", - "release_date": "2022-02-17", - "artists": "zavet", - "tracklist": "DOOM\nJEFF HARDY\nУ ТЕБЯ СТРЕМНАЯ ТЕЛКА", - "total_tracks": 3, - "spotify_url": "https://open.spotify.com/album/6WoCXFw7SOVsAl4xV43NIU", - "created_at": "2025-12-20T15:52:05.922Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 44, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Circus Of Doom", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273bcfd448bffc92c65938553b4", - "part_or_season": "Unknown", - "release_date": "2022-04-29", - "artists": "Battle Beast", - "tracklist": "Circus of Doom\nWings of Light\nMaster of Illusion\nWhere Angels Fear to Fly\nEye of the Storm\nRussian Roulette\nFreedom\nThe Road to Avalon\nArmageddon\nPlace That We Call Home\nThe Lightbringer\nTempest Of Blades", - "total_tracks": 12, - "spotify_url": "https://open.spotify.com/album/6Kuz73jchZKPe72PPi2s3C", - "created_at": "2025-12-20T15:52:06.125Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 45, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "DOOM FUNK", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2733b6ea915a75bd2f6b2eb63d6", - "part_or_season": "Unknown", - "release_date": "2025-12-12", - "artists": "TEENWXVE", - "tracklist": "DOOM FUNK\nDOOM FUNK - Slowed\nDOOM FUNK - Ultra Slowed\nDOOM FUNK - Sped Up", - "total_tracks": 4, - "spotify_url": "https://open.spotify.com/album/77vXvx346VTuKBfA5dYQ1y", - "created_at": "2025-12-20T15:52:06.318Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 46, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Operation: Doomsday (Complete)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2736ce90ec627a0198a8efd127f", - "part_or_season": "Unknown", - "release_date": "1999-10-19", - "artists": "MF DOOM", - "tracklist": "The Time We Faced Doom (Skit)\nDoomsday\nRhymes Like Dimes\nThe Finest\nBack in the Days (Skit)\nGo With the Flow\nTick, Tick...\nRed and Gold\nThe Hands of Doom (Skit)\nWho You Think I Am?\nDoom, Are You Awake? (Skit)\nHey!\nOperation: Greenbacks\nThe Mic\nThe Mystery of Doom (Skit)\nDead Bent\nGas Drawls\n?\nHero v.s. Villain (Epilogue)\nDead Bent - 12\" Version\nGas Drawls - 12\" Version\nHey - 12\" Version\nGreenbacks - 12\" Version\nGo With the Flow - 12\" Version\nGo With the Flow - Raw Rhymes\nI Hear Voices Pt. 1 - 12\" Version\nI Hear Voices Pt. 2 - 12\" Version\nTick, Tock - 12\" Version\n? - Extended Raw Rhymes Version\nDead Bent - 12\" Instrumental Version\nGas Drawls - 12\" Instrumental Version\nHey! - 12\" Instrumental Version\nGreenbacks - 12\" Instrumental Version\nThe Mic - 12\" Instrumental Version\nRed and Gold - 12\" Instrumental Version\nI Hear Voices - 12\" Instrumental Version\nDoomsday - Instrumental\nRhymes Like Dimes - Instrumental\nThe Finest - Instrumental\nThe Hands of Doom - Instrumental\nWho You Think I Am - Instrumental\n? - Instrumental", - "total_tracks": 42, - "spotify_url": "https://open.spotify.com/album/5bjUbZPVTEQcb6W3LquX1E", - "created_at": "2025-12-20T15:52:06.552Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 47, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Venus Doom (Deluxe Version)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273e03b4f7e970c5675a6179138", - "part_or_season": "Unknown", - "release_date": "2007-09-07", - "artists": "HIM", - "tracklist": "Venus Doom\nLove in Cold Blood\nPassion's Killing Floor\nThe Kiss of Dawn\nSleepwalking Past Hope\nDead Lovers' Lane\nSong or Suicide\nBleed Well\nCyanide Sun\nKilling Loneliness - Live\nWings of a Butterfly - Live", - "total_tracks": 11, - "spotify_url": "https://open.spotify.com/album/4dTGZjSM9J5rVcJbPITNLq", - "created_at": "2025-12-20T15:52:06.712Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 48, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Doomsday", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273a6c7b940a166ac0dce26672c", - "part_or_season": "Unknown", - "release_date": "2016-10-03", - "artists": "Timur Mutsurayev", - "tracklist": "No Turning Back\nExtinguished Candle\nLife is Vanity\nGunib\nWind\nLife Path\nIerusalim\nGiven The Vast\nI Go\nDoomsday\nAnthem\nThe Islamic Ummah\nSolomon\nNever Be Downhearted", - "total_tracks": 14, - "spotify_url": "https://open.spotify.com/album/0WP0myTTTajL9z1gOcwu4t", - "created_at": "2025-12-20T15:52:07.006Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 49, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "ALL IS BEAUTIFUL… BECAUSE WE'RE DOOMED", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2730496a68266b92e90d8cd623e", - "part_or_season": "Unknown", - "release_date": "2025-08-22", - "artists": "We Came As Romans", - "tracklist": "ALL IS BEAUTIFUL...\nbad luck\nlake of fire\nred smoke\none by one\nculture wound\nwhere did you go?\nno rest for the dreamer\nb2tm\ncircling a dying sun\nknowing pain\nso lost (burning flowers)\nBECAUSE WE'RE DOOMED", - "total_tracks": 13, - "spotify_url": "https://open.spotify.com/album/42KPmh26BJtkXWEQqsfIQ3", - "created_at": "2025-12-20T15:52:07.273Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 50, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Doom's Embrace", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2732fb333867284ea48aee670f8", - "part_or_season": "Unknown", - "release_date": "2025-12-20", - "artists": "Happy Birthday", - "tracklist": "Doom's Embrace", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/03g6Y2um52cRveH8ficA9J", - "created_at": "2025-12-20T15:52:07.421Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 51, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2731993bab532b897dea1633efe", - "part_or_season": "Unknown", - "release_date": "2025-12-20", - "artists": "VMZ", - "tracklist": "Stranger Things", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/6sdNrAS51yIjiP1TGQHkKs", - "created_at": "2025-12-20T15:52:07.801Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 52, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things 2 (Soundtrack from the Netflix Original Series)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273483c2fc141fcb4efe4470fb7", - "part_or_season": "Unknown", - "release_date": "2017-10-20", - "artists": "Kyle Dixon & Michael Stein", - "tracklist": "Walkin in Hawkins\nHome\nEulogy\nOn the Bus\nPresumptuous\nEight Fifteen\nThe First Lie\nScars\nI Can Save Them\nDescent into the Rift\nChicago\nLooking for a Way Out\nBirth / Rescue\nIn the Woods\nDigging\nSymptoms\nEggo in the Snow\nSoldiers\nChoices\nNever Tell\nShe Wants Me to Find Her\nShouldn't Have Lied\nIt's a Trap\nCrib\nThe Return\nEscape\nWe Go out Tonight\nConnect the Dots\nThe Hub\nOn Edge\nWhat Else Did You See?\nRun\nLevitation\nTo Be Continued", - "total_tracks": 34, - "spotify_url": "https://open.spotify.com/album/2l0rdHb97fQidl9dsOxE6B", - "created_at": "2025-12-20T15:52:08.024Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 53, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things, Vol. 1 (A Netflix Original Series Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2733fbdbf37626f8bee2abe8a39", - "part_or_season": "Unknown", - "release_date": "2016-08-12", - "artists": "Kyle Dixon & Michael Stein", - "tracklist": "Stranger Things\nKids\nNancy and Barb\nThis Isn't You\nLay-Z-Boy\nFriendship\nEleven\nA Kiss\nCastle Byers\nHawkins\nThe Upside Down\nAfter Sarah\nOne Blink for Yes\nPhotos in the Woods\nFresh Blood\nLamps\nHallucinations\nHanging Lights\nBiking to School\nAre You Sure?\nAgents\nPapa\nCops Are Good at Finding\nNo Weapons\nWalking Through the Upside Down\nShe'll Kill You\nRun Away\nNo Autopsy\nDispatch\nJoyce and Lonnie Fighting\nLights Out\nHazmat Suits\nTheoretically\nYou Can Talk to Me\nWhat Else Is There to Do?\nHawkins Lab", - "total_tracks": 36, - "spotify_url": "https://open.spotify.com/album/1puplOrvmUGoq2VxsB0ENJ", - "created_at": "2025-12-20T15:52:08.237Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 54, - "fields": { - "media_type": "SERIES", - "media_title": "Stranger Things", - "album_title": "Stranger Things: Soundtrack from the Netflix Series, Season 4", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2739456740ce4c5a93003341286", - "part_or_season": "4", - "release_date": "2022-07-01", - "artists": "Various Artists", - "tracklist": "Separate Ways (Worlds Apart) - Bryce Miller/Alloy Tracks Remix\r\nCalifornia Dreamin'\r\nPsycho Killer\r\nRunning Up That Hill (A Deal with God)\r\nYou Spin Me Round (Like a Record)\r\nChica Mejicanita\r\nPlay With Me\r\nDetroit Rock City - Single Version\r\nI Was A Teenage Werewolf\r\nPass the Dutchie\r\nWipe Out\r\nObject Of My Desire - Single Version\r\nRock Me Amadeus - Full Length Gold Mix\r\nTravelin' Man\r\nTarzan Boy\r\nDream a Little Dream of Me\r\nRock and Roll, Hoochie Koo - Single Version\r\nFire and Rain\r\nSpellbound\r\nMaster of Puppets\r\nWhen It's Cold I'd Like To Die\r\nSeparate Ways (Worlds Apart) - Steve Perry & Bryce Miller Extended Remix", - "total_tracks": 22, - "spotify_url": "https://open.spotify.com/album/3Tij2oa4FJWd7Gk0pJaf0w", - "created_at": "2025-12-20T15:52:08.485Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 55, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things 3 (Original Score from the Netflix Original Series)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b2738ad6d28ba7a9fe033fe23cb8", - "part_or_season": "Unknown", - "release_date": "2019-06-28", - "artists": "Kyle Dixon & Michael Stein", - "tracklist": "Boys and Girls\nI Like Presents Too\nStarcourt\nBlank Makes You Crazy\nI Need You to Trust Me\nYou're a Fighter\nThe Ceiling Is Beautiful\nThe First I love You\nRats\nWhat Did You Do To Him?\nFind the Source\nThe Silver Cat Feeds\nHeather's\nWilliam\nDestroying the Castle\nIn the Void\nTammy\nMirkwood\nPortal Drill\nHappy Screams\nRuins\nIt's Just Ice\nThe Door Is Opening\nPlanck's Constant\nShe's Gone Home\nSeven Feet\nThe Week Is Long\nSauna Test\nSix Facts\nThe Trees Are Moving\nOn Their Tracks\nNot Chinese Food\nBlueprints\nLand Deeds\nNot Kids Anymore\nCode Red\nFeel Safe\nHe’s Here\nScoops Troop\nWe Don't Understand Each Other\nAftermath", - "total_tracks": 41, - "spotify_url": "https://open.spotify.com/album/3qjUxwtbMHsiO0U20ezOjR", - "created_at": "2025-12-20T15:52:08.747Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 56, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things: Soundtrack from the Netflix Original Series, Season 3", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273de95344a3bafbaed194ea4be", - "part_or_season": "Unknown", - "release_date": "2019-07-05", - "artists": "Various Artists", - "tracklist": "Baba O'Riley - ConfidentialMX Remix\nThings Can Only Get Better\nMaterial Girl\nCold as Ice\nShe's Got You\nR.O.C.K. In the U.S.A. (A Salute to 60's Rock)\nNeutron Dance\nCan't Fight This Feeling\nWake Me Up Before You Go-Go\nMy Bologna\nMoving In Stereo\nNever Surrender\nLovergirl - Single Version\nWorkin' for a Livin'\nWe'll Meet Again\nNever Ending Story", - "total_tracks": 16, - "spotify_url": "https://open.spotify.com/album/7oiDQdZ810FzweT2fm3tAP", - "created_at": "2025-12-20T15:52:09.049Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 57, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things 4 (Original Score From The Netflix Series)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273acf5221c4faab1c7d2a8c792", - "part_or_season": "Unknown", - "release_date": "2022-07-01", - "artists": "Kyle Dixon & Michael Stein", - "tracklist": "What's the Internet?\nI wouldn’t remember me either.\nTeens\nJournalistic Instinct\n100% Convinced\nIn the closet (at Rink O Mania)\nDoes that make us friends?\nMy BOOBS Hurt.\nUnambiguous True Love\nStuck in 1983\nHawkins National Lab\nHellfire Club\nBuried Memories\nFancy Bomb\nWe are NOT Heroes\nNine Feet Tall\nHail Lord Vecna\nPowerful Psychic Connection\nRuth, Nevada\nHellfire Isn’t A Cult\nI Know What I Saw\nCurfew\nYou’re Regressing Eleven\nLetter to Willy\nPalm Tree Delight\nMusso\nBrenner’s Little Pet\nMr. Fibbly\nIt’s just a clock, right?\nWelcome to Kamchatka\nA Nightmare Far Worse\nCaught a Body at the Munsen Trailer\nA War is coming to Hawkins\nThe Elephant\nHurtling Towards a Gruesome Death\nBarefoot in the snow\nKills you in your dreams\nThe Shire is Burning\nBlood Balloons\nBurning Baby\nMugshot\nThere are some things worse than ghosts...\nA memory within a memory\nA Proper Thump\nHiiiiiiiii\nStill Dizzy\nReign Fire From Above\nReligious American\nSurf that Tasty Pie\nFollow me into Death", - "total_tracks": 80, - "spotify_url": "https://open.spotify.com/album/5qRG8S2ClNtl71wEf2TKPp", - "created_at": "2025-12-20T15:52:09.302Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 58, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Funk Stranger Things", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c177061440a36b12447b2842", - "part_or_season": "Unknown", - "release_date": "2025-12-08", - "artists": "Mc Delux, MC Donzela, DJ Cris Fontedofunk", - "tracklist": "Funk Stranger Things", - "total_tracks": 1, - "spotify_url": "https://open.spotify.com/album/4u8lkyhvotvvgDeLeB7ZyY", - "created_at": "2025-12-20T15:52:09.451Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 59, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things, Vol. 2 (A Netflix Original Series Soundtrack)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273c2c2b3721ed236205f5394e3", - "part_or_season": "Unknown", - "release_date": "2016-08-19", - "artists": "Kyle Dixon & Michael Stein", - "tracklist": "Hopper Sneaks In\nI Know What I Saw\nRolling out the Pool\nOver\nGearing Up\nFlickering\nFirst Kiss\nCrying\nWalking Down the Tracks\nWhere's Barb?\nSpeak of the Devil\nDanger Danger\nTribulations\nFlashback\nKids Two\nTalking to Australia\nNight of the Seventh\nSee Any Rain?\nCoffee & Contemplation\nInside the Black Room\nStarts to Rain\nEleven Is Gone\nTime for a 187\nSomething in the House\nStill Pretty\nAbilities\nTendril\nThey Found Us\nBad Men\nSpiked Bat\nMaking Contact\nWhat Do You Know?\nIt's Not My Boy\nSomething in the Wall\nLet's Go\nLeap of Faith\nIn Pursuit\nBreaking and Entering\nStranger Things - Extended", - "total_tracks": 39, - "spotify_url": "https://open.spotify.com/album/5d1hWmBYkAkVAE9XG5njrz", - "created_at": "2025-12-20T15:52:09.626Z" - } -}, -{ - "model": "frisson_music.album", - "pk": 60, - "fields": { - "media_type": "", - "media_title": "", - "album_title": "Stranger Things (Soundtrack from the Netflix Original Series)", - "cover_image_url": "https://i.scdn.co/image/ab67616d0000b273bd0db295c0164ddbc0584ebb", - "part_or_season": "Unknown", - "release_date": "2017-10-27", - "artists": "Various Artists", - "tracklist": "INTRO - Will Singing the Clash\nEvery Breath You Take\nShould I Stay or Should I Go - Remastered\n'Coffee and contemplation'\nHazy Shade of Winter\nNocturnal Me\n'Bring him home!'\nSunglasses at Night\nGirls On Film\n'Just because people tell you...'\nAtmosphere\n'Maybe I'm crazy...'\nTwist of Fate\n'Says logic'\nThe Ghost in You\nAfrica\nYou Don't Mess Around With Jim\n'Accident or not'\nWhip It\nRunaway\nTime After Time\nTalking In Your Sleep\n'Mouthbreather'\nBack to Nature\n'She's our friend and she's crazy!'\nRock You Like a Hurricane - 2011\nHeroes\n'Friends don't lie'\nElegia\nOUTRO - Will Singing the Clash", - "total_tracks": 30, - "spotify_url": "https://open.spotify.com/album/0CTCk1eshEadFqZ4NBfe9N", - "created_at": "2025-12-20T15:52:09.775Z" - } -}, -{ - "model": "frisson_music.rating", - "pk": 1, - "fields": { - "user": 2, - "album": 32, - "score": 3, - "created_at": "2025-12-21T10:51:34.880Z" - } -}, -{ - "model": "frisson_music.rating", - "pk": 2, - "fields": { - "user": 1, - "album": 32, - "score": 4, - "created_at": "2025-12-21T11:12:00.477Z" - } -}, -{ - "model": "frisson_music.rating", - "pk": 3, - "fields": { - "user": 1, - "album": 54, - "score": 5, - "created_at": "2025-12-21T11:55:22.099Z" - } -}, -{ - "model": "frisson_music.rating", - "pk": 4, - "fields": { - "user": 2, - "album": 28, - "score": 2, - "created_at": "2025-12-21T20:26:37.233Z" - } -}, -{ - "model": "frisson_music.rating", - "pk": 5, - "fields": { - "user": 2, - "album": 27, - "score": 3, - "created_at": "2025-12-22T13:57:27.836Z" - } -}, -{ - "model": "frisson_music.rating", - "pk": 6, - "fields": { - "user": 1, - "album": 28, - "score": 5, - "created_at": "2025-12-23T11:00:39.808Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 1, - "fields": { - "user": 2, - "album": 32, - "text": "Wow!", - "created_at": "2025-12-21T08:41:50.528Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 2, - "fields": { - "user": 2, - "album": 32, - "text": "reoekf", - "created_at": "2025-12-21T08:43:16.296Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 3, - "fields": { - "user": 2, - "album": 32, - "text": "khg", - "created_at": "2025-12-21T08:53:51.988Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 4, - "fields": { - "user": 1, - "album": 32, - "text": "kjshdfkrjb", - "created_at": "2025-12-21T11:12:16.445Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 5, - "fields": { - "user": 1, - "album": 32, - "text": ",ajdnbvfkjsd", - "created_at": "2025-12-21T11:12:29.136Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 6, - "fields": { - "user": 1, - "album": 32, - "text": "kjwvfnlwrn", - "created_at": "2025-12-21T11:12:33.135Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 8, - "fields": { - "user": 2, - "album": 29, - "text": "kjhb", - "created_at": "2025-12-21T20:16:30.764Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 9, - "fields": { - "user": 2, - "album": 29, - "text": "kjasd", - "created_at": "2025-12-21T20:24:33.029Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 11, - "fields": { - "user": 2, - "album": 28, - "text": "kjjbkj", - "created_at": "2025-12-21T20:34:39.543Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 13, - "fields": { - "user": 2, - "album": 27, - "text": "Wow!", - "created_at": "2025-12-22T13:58:18.295Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 14, - "fields": { - "user": 2, - "album": 27, - "text": "Nice))", - "created_at": "2025-12-22T13:58:24.966Z" - } -}, -{ - "model": "frisson_music.comment", - "pk": 15, - "fields": { - "user": 1, - "album": 27, - "text": "Superrr!", - "created_at": "2025-12-22T13:58:53.974Z" - } -} -] diff --git a/frisson_music_service/settings/base.py b/frisson_music_service/settings/base.py index 8e613c3..298a5e8 100644 --- a/frisson_music_service/settings/base.py +++ b/frisson_music_service/settings/base.py @@ -12,10 +12,12 @@ import os from pathlib import Path +from dotenv import load_dotenv # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent.parent +load_dotenv(BASE_DIR / ".env") # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/6.0/howto/deployment/checklist/ diff --git a/frisson_music_service/settings/prod.py b/frisson_music_service/settings/prod.py index abe07ba..eabedfb 100644 --- a/frisson_music_service/settings/prod.py +++ b/frisson_music_service/settings/prod.py @@ -21,5 +21,8 @@ "PASSWORD": os.environ["POSTGRES_PASSWORD"], "HOST": os.environ["POSTGRES_HOST"], "PORT": int(os.environ["POSTGRES_DB_PORT"]), + "OPTIONS": { + "sslmode": "require", + }, } } From 149537c7b37f79375ffcce9a6954baa83201e729 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 17:20:08 +0200 Subject: [PATCH 71/82] fixed a Bug with Sidebar: scrollbar isn't work on small landscape screens --- static/assets/css/black-dashboard.css | 1 - 1 file changed, 1 deletion(-) diff --git a/static/assets/css/black-dashboard.css b/static/assets/css/black-dashboard.css index 79802af..02966d3 100644 --- a/static/assets/css/black-dashboard.css +++ b/static/assets/css/black-dashboard.css @@ -17854,7 +17854,6 @@ table.tablesorter thead tr .headerSortDown { .perfect-scrollbar-on .sidebar, .perfect-scrollbar-on .main-panel { - height: 100%; max-height: 100%; } From a572149648742ffd9d20ee52d0461dac605be677 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 17:50:59 +0200 Subject: [PATCH 72/82] changed sidebar width to thinner --- static/assets/css/black-dashboard.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/static/assets/css/black-dashboard.css b/static/assets/css/black-dashboard.css index 02966d3..6f95afd 100644 --- a/static/assets/css/black-dashboard.css +++ b/static/assets/css/black-dashboard.css @@ -17356,7 +17356,7 @@ table.tablesorter thead tr .headerSortDown { background: -moz-linear-gradient(0deg, #ba54f5 0%, #e14eca 100%); background: linear-gradient(0deg, #ba54f5 0%, #e14eca 100%); height: calc(100vh - 90px); - width: 230px; + width: 200px; position: fixed; top: 0; left: 0; @@ -17840,7 +17840,7 @@ table.tablesorter thead tr .headerSortDown { } .main-panel > .content { - padding: 78px 30px 30px 280px; + padding: 78px 30px 30px 230px; min-height: calc(100vh - 70px); } From 06a4476e9cba76053014951c5064fdbdf8dc2b4e Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 17:55:31 +0200 Subject: [PATCH 73/82] changed HomePage latest albums to 6 in row instead of 5 --- frisson_music/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frisson_music/models.py b/frisson_music/models.py index 012fd7d..fbaa053 100644 --- a/frisson_music/models.py +++ b/frisson_music/models.py @@ -20,7 +20,7 @@ class Meta: class AlbumQuerySet(models.QuerySet): - def latest_by_type(self, media_type, n=5): + def latest_by_type(self, media_type, n=6): return self.filter(media_type=media_type).order_by("-release_date")[:n] def by_media_title(self, media_title, media_type=None): From 757f1c62eb6854382075123f667ed883da5d8f82 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 20:42:08 +0200 Subject: [PATCH 74/82] made Album List Page more compact --- frisson_music/views.py | 2 +- templates/frisson_music/album_list.html | 42 ++++++++++++++++--------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/frisson_music/views.py b/frisson_music/views.py index 8f07523..f3662b0 100644 --- a/frisson_music/views.py +++ b/frisson_music/views.py @@ -37,7 +37,7 @@ class AlbumListView(ListView): model = Album context_object_name = "albums" ordering = ["-release_date"] - paginate_by = 32 + paginate_by = 36 def get_queryset(self): qs = super().get_queryset() diff --git a/templates/frisson_music/album_list.html b/templates/frisson_music/album_list.html index 26b64b3..0a98ec8 100644 --- a/templates/frisson_music/album_list.html +++ b/templates/frisson_music/album_list.html @@ -1,23 +1,37 @@ {% extends "base.html" %} {% block content %} -
+
{% for album in albums %} -
-
- - {{ album.album_title }} -
-
{{ album.album_title }}
-

- {{ album.artists }}
- {{ album.release_date }} -

-
- Spotify - + {% empty %} From 532428e958eedf6b3bc51f2588e6a6d8c7b618f1 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 20:46:49 +0200 Subject: [PATCH 75/82] made Media List Page more compact --- templates/frisson_music/media_list.html | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/templates/frisson_music/media_list.html b/templates/frisson_music/media_list.html index 4b00f49..8c72004 100644 --- a/templates/frisson_music/media_list.html +++ b/templates/frisson_music/media_list.html @@ -1,15 +1,25 @@ {% extends "base.html" %} {% block content %} -
+
{% for media in media_list %} -
-
- -
-
{{ media.media_title }}
-

{{ media.media_type|title }}

+
+ From a863f5f37ef9e237d5fa8f77910ae0973def3c8e Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 20:53:20 +0200 Subject: [PATCH 76/82] made Media Detail Page more compact --- templates/frisson_music/media_detail.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/templates/frisson_music/media_detail.html b/templates/frisson_music/media_detail.html index 24b384a..1558a90 100644 --- a/templates/frisson_music/media_detail.html +++ b/templates/frisson_music/media_detail.html @@ -1,20 +1,20 @@ {% extends "base.html" %} {% block content %} -
-

Media: {{ media_title }}

+
+

{{ media_title }}

{% for part, albums in grouped_albums.items %} -
+
Part/Season {{ part }}
{% for album in albums %} From 95b1fa64d120367718f82e6f8e46a8e8042b32ea Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 21:11:22 +0200 Subject: [PATCH 77/82] swapped tracklist & comments blocks on Album Detail Page --- templates/frisson_music/album_detail.html | 42 +++++++++++------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/templates/frisson_music/album_detail.html b/templates/frisson_music/album_detail.html index 6ffa931..3b062c3 100644 --- a/templates/frisson_music/album_detail.html +++ b/templates/frisson_music/album_detail.html @@ -123,7 +123,27 @@

{{ album.album_title }}

- + +
+
+
+

+ Tracklist + + ({{ album.total_tracks }} tracks) + +

+ +
    + {% for track in album.tracklist.splitlines %} +
  1. {{ track }}
  2. + {% endfor %} +
+
+
+
+ +
@@ -164,26 +184,6 @@

Comments

- -
-
-
-

- Tracklist - - ({{ album.total_tracks }} tracks) - -

- -
    - {% for track in album.tracklist.splitlines %} -
  1. {{ track }}
  2. - {% endfor %} -
-
-
-
-
From 5466aa7af4e665e26598db2def496bbd61088b55 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 21:13:13 +0200 Subject: [PATCH 78/82] made Album Detail Page more compact --- static/assets/css/black-dashboard.css | 2 +- templates/frisson_music/album_detail.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/static/assets/css/black-dashboard.css b/static/assets/css/black-dashboard.css index 6f95afd..27ca17d 100644 --- a/static/assets/css/black-dashboard.css +++ b/static/assets/css/black-dashboard.css @@ -17840,7 +17840,7 @@ table.tablesorter thead tr .headerSortDown { } .main-panel > .content { - padding: 78px 30px 30px 230px; + padding: 78px 30px 30px 250px; min-height: calc(100vh - 70px); } diff --git a/templates/frisson_music/album_detail.html b/templates/frisson_music/album_detail.html index 3b062c3..64dd444 100644 --- a/templates/frisson_music/album_detail.html +++ b/templates/frisson_music/album_detail.html @@ -121,7 +121,7 @@

{{ album.album_title }}

-
+
From 03d1f2295adac01281f0097b65b276bbeecc5ab2 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Dec 2025 21:18:23 +0200 Subject: [PATCH 79/82] made About Us & Rules Pages more compact --- templates/frisson_music/about.html | 2 +- templates/frisson_music/rules.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/frisson_music/about.html b/templates/frisson_music/about.html index 3f0db32..d0abf62 100644 --- a/templates/frisson_music/about.html +++ b/templates/frisson_music/about.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block content %} -
+

Frisson Music

diff --git a/templates/frisson_music/rules.html b/templates/frisson_music/rules.html index 5c7671f..8e85766 100644 --- a/templates/frisson_music/rules.html +++ b/templates/frisson_music/rules.html @@ -1,7 +1,7 @@ {% extends "base.html" %} {% block content %} -
+

Frisson Music Guidelines

From 23fc20664f7424ba53b244300d661ff2d2efd6e6 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 15 Feb 2026 17:27:19 +0200 Subject: [PATCH 80/82] Added badges for technologies and tools in README --- README.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 42ce132..f9c66ed 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,29 @@ Here, albums are clearly linked to media, seasons, parts, and release context --- +## 🛠 Tech Stack + +![Python](https://img.shields.io/badge/Python-3670A0?style=for-the-badge&logo=python&logoColor=white) +![Django](https://img.shields.io/badge/Django-092E20?style=for-the-badge&logo=django&logoColor=white) +![Gunicorn](https://img.shields.io/badge/Gunicorn-499848?style=for-the-badge&logo=gunicorn&logoColor=white) +![python-dotenv](https://img.shields.io/badge/python--dotenv-000000?style=for-the-badge) +![spotipy](https://img.shields.io/badge/Spotipy-1DB954?style=for-the-badge) +![SQLite](https://img.shields.io/badge/SQLite-003B57?style=for-the-badge&logo=sqlite&logoColor=white) +![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge&logo=postgresql&logoColor=white) + +![Bootstrap](https://img.shields.io/badge/Bootstrap-7952B3?style=for-the-badge&logo=bootstrap&logoColor=white) +![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white) +![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white) +![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) +![Jinja2](https://img.shields.io/badge/Jinja2-B41717?style=for-the-badge) + + +![pytest](https://img.shields.io/badge/pytest-15416C?style=for-the-badge&logo=pytest&logoColor=white) +![black](https://img.shields.io/badge/Black-000000?style=for-the-badge) +![flake8](https://img.shields.io/badge/Flake8-4B8BBE?style=for-the-badge) + + +--- ## 🌍 Deployed Application Live version of the project available here: @@ -57,7 +80,7 @@ This allows users to: - **Backend:** Django - **Database:** - SQLite (development) - - PostgreSQL / MySQL (production) + - PostgreSQL (production) - **Frontend:** - Bootstrap - Custom CSS From abffdc248c31a7d70d76c353610822c27e872cd2 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 20 Feb 2026 19:06:50 +0200 Subject: [PATCH 81/82] docs: enhanced README documentation --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f9c66ed..5b05558 100644 --- a/README.md +++ b/README.md @@ -127,12 +127,13 @@ The project supports optional database population via **Spotify API**. --- -## UI Template +## Data Base Diagram -- https://demos.creative-tim.com/black-dashboard/examples/dashboard.html +![Data_Base_Diagram](DB_Diagram.drawio.png) --- -## Data Base Diagram +## UI Template -![Data_Base_Diagram](DB_Diagram.drawio.png) +- https://demos.creative-tim.com/black-dashboard/examples/dashboard.html +- https://github.com/creativetimofficial/black-dashboard From 80107aae479ca0cb80ec94b2f615ef85821f3f02 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 20 Feb 2026 19:17:06 +0200 Subject: [PATCH 82/82] chore: configured linguist to exclude CSS from statistics --- .gitattributes | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..4697f9d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# Ignore everything inside static +static/** linguist-vendored + +# Re-include my JavaScript file +static/assets/js/rating.js linguist-vendored=false