This commit is contained in:
Roman Krivonos 2024-04-25 19:22:53 +03:00
parent 655aa11384
commit 52b209b176
3494 changed files with 2224681 additions and 0 deletions

7
srg/__init__.py Normal file
View File

@ -0,0 +1,7 @@
from __future__ import absolute_import, unicode_literals
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
__all__ = ('celery_app',)

58
srg/celery.py Normal file
View File

@ -0,0 +1,58 @@
import os
from celery import Celery
from celery.schedules import crontab
# celery -A srg worker -l info --loglevel=DEBUG
# celery -A srg beat
# taken from:
# https://code.tutsplus.com/tutorials/using-celery-with-django-for-background-task-processing--cms-28732
# Demon
# https://docs.celeryproject.org/en/3.1/tutorials/daemonizing.html
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'srg.settings')
app = Celery('srg')
# Using a string here means the worker doesn't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
# should have a `CELERY_` prefix.
app.config_from_object('django.conf:settings', namespace='CELERY')
# Load task modules from all registered Django app configs.
app.autodiscover_tasks()
app.conf.beat_schedule = {
# 'load-erosita-transients-every-10min': {
# 'task': 'srglib.tasks.load_erosita_daily_source_list',
# 'schedule': crontab(minute='*/10'),
# },
# 'load-ztf-alerce-every-15min': {
# 'task': 'srglib.tasks.load_ztf_alerce_task',
# 'schedule': crontab(minute='*/15'),
# },
# 'load-srg-data-dumps-every-2h': {
# 'task': 'srglib.tasks.load_srg_data_dumps_task',
# 'schedule': crontab(minute=0, hour='*/2'),
# },
# 'load-skymap-sources-every-morning': {
# 'task': 'srglib.tasks.load_skymap_sources_task',
# 'schedule': crontab(minute=0, hour='4'),
# },
'load-surveypath-every-5h': {
'task': 'srglib.tasks.load_surveypath_task',
'schedule': crontab(minute=0, hour='*/5'),
},
'load-monthplan-every-7h': {
'task': 'srglib.tasks.load_monthplan_task',
'schedule': crontab(minute=0, hour='*/7'),
},
}
# change to `crontab(minute=0, hour=0)` if you want it to run daily at midnight
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))

207
srg/settings.py Normal file
View File

@ -0,0 +1,207 @@
from __future__ import absolute_import, unicode_literals
import os
import sys
sys.path += ["/opt/soft/psoft/heasoft-6.27.1/x86_64-pc-linux-gnu-libc2.17/lib/python"]
from django.utils.translation import ugettext_lazy as _
# ^^^ The above is required if you want to import from the celery
# library. If you don't have this then `from celery.schedules import`
# becomes `proj.celery.schedules` in Python 2.x since it allows
# for relative imports by default.
# Celery settings
CELERY_BROKER_URL = 'amqp://guest:guest@localhost'
#: Only add pickle to this list if your broker is secured
#: from unwanted access (see userguide/security.html)
CELERY_ACCEPT_CONTENT = ['json']
CELERY_RESULT_BACKEND = 'db+sqlite:///results.sqlite'
CELERY_TASK_SERIALIZER = 'json'
CELERY_ENABLE_UTC = False
#CELERY_TIMEZONE = 'Australia/Sydney'
"""
Django settings for srg project.
Generated by 'django-admin startproject' using Django 2.2.6.
For more information on this file, see
https://docs.djangoproject.com/en/2.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/2.2/ref/settings/
"""
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'oqq*v4@2ji9v1)9use287^stktqiqxta$rv0!xyqv=0a7hubqx'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = [u'10.5.2.25', u'arxiv.srg.rssi.ru', u'127.0.0.1', u'10.5.2.51', u'localhost']
#from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS
#TEMPLATE_CONTEXT_PROCESSORS += ('django.core.context_processors.request',)
# Application definition
INSTALLED_APPS = [
'polymorphic',
'plan.apps.PlanConfig',
'astrobasis.apps.AstrobasisConfig',
'logbook.apps.LogbookConfig',
'monthplan.apps.MonthplanConfig',
'artsim.apps.ArtsimConfig',
'groups.apps.GroupsConfig',
'srglib.apps.SrglibConfig',
'heasarc.apps.HeasarcConfig',
'srgcat.apps.SrgcatConfig',
'artsurvey.apps.ArtsurveyConfig',
'nasa.apps.NasaConfig',
'srgz.apps.SrgzConfig',
'erosurvey.apps.ErosurveyConfig',
'erotrans.apps.ErotransConfig',
'genericsource.apps.GenericsourceConfig',
'ErositaDailySourceCatalogues.apps.ErositadailysourcecataloguesConfig',
'auxcatalogues.apps.AuxcataloguesConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'debug_toolbar',
'mathfilters',
'django_extensions',
'dbbackup', # django-dbbackup
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
ROOT_URLCONF = 'srg.urls'
EMAIL_HOST='mx.iki.rssi.ru'
EMAIL_PORT='25'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/export/django/srg/Templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'srg.wsgi.application'
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'django_db',
'USER': 'django',
'PASSWORD': 'srg2019@L2',
'HOST': 'localhost',
'PORT': '5432',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# "OPTIONS": {
# "unix_socket": "/ssd/mysql/mysql.sock",
# }
}
}
# Password validation
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/2.2/topics/i18n/
LANGUAGE_CODE = 'en'
# Provide a lists of languages which your site supports.
LANGUAGES = (
('en', _('English')),
('ru', _('Russian')),
)
# Tell Django where the project's translation files should be.
LOCALE_PATHS = [
os.path.join(BASE_DIR, 'locale'),
]
TIME_ZONE = 'Europe/Moscow'
USE_I18N = True # False
USE_L10N = False
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/
SITE_ROOT = os.path.dirname(__file__)
STATIC_ROOT = os.path.join(SITE_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = ["/data/erosita/transients/products/",]
DEFAULT_AUTO_FIELD='django.db.models.BigAutoField'
DBBACKUP_STORAGE = 'django.core.files.storage.FileSystemStorage'
DBBACKUP_STORAGE_OPTIONS = {'location': '/ssd/backup/'}
"""
django.db.utils.OperationalError: could not extend file "base/16384/41329.293": wrote only 4096 of 8192 bytes at block 38481115
"""

View File

@ -0,0 +1,59 @@
<HTML>
<HEAD>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<link rel="stylesheet" href="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.css" >
<script type="text/javascript">var jqMenu = jQuery.noConflict();</script>
<script type="text/javascript">
var hipsDir=null;</script>
</HEAD>
<H1>"artmap_healpix.fits" progressive survey</H1>
This Web resource contains HiPS(*) components for <B>artmap_healpix.fits</B> progressive survey.
<script type="text/javascript">
hipsDir = location.href;
hipsDir = hipsDir.substring(0,hipsDir.lastIndexOf("/",hipsDir.length));
document.getElementById("hipsBase").innerHTML=hipsDir;
</script>
<TABLE>
<TR>
<TD>
<script type="text/javascript" src="https://aladin.u-strasbg.fr/AladinLite/api/v2/latest/aladin.min.js" charset="utf-8"></script>
<div id="aladin-lite-div" style="width:70vw;height:70vh;"></div>
<script type="text/javascript">
//var hipsDir = location.href;
//hipsDir = hipsDir.substring(0,hipsDir.lastIndexOf("/",hipsDir.length));
var aladin = $.aladin("#aladin-lite-div", {showSimbadPointerControl: true });
aladin.setImageSurvey(aladin.createImageSurvey('artmap_healpix.fits', 'artmap_healpix.fits',
hipsDir, 'galactic', 3, {imgFormat: 'png'}));
console.log(hipsDir)
</script>
</TD>
<TD>
<UL>
<LI> <B>Label:</B> artmap_healpix.fits
<LI> <B>Type:</B> HiPS image
<LI> <B>Best pixel angular resolution:</B> 1.718'
<LI> <B>Max tile order:</B> 3 (NSIDE=8)
<LI> <B>Available encoding tiles:</B> png fits
<LI> <B>Tile size:</B> 256x256
<LI> <B>FITS tile BITPIX:</B> -32
<LI> <B>Processing date:</B> 2020-06-12T11:46Z
<LI> <B>HiPS builder:</B> Aladin/HipsGen v11.021
<LI> <B>Coordinate frame:</B> galactic
<LI> <B>Sky area:</B> 100.0% of sky => 41253°^2
<LI> <B>Associated coverage map:</B> <A HREF="Moc.fits">MOC</A>
<LI> <B>Property file:</B> <A HREF="properties">properties</A>
<LI> <B>Base URL:<p id="hipsBase"></p></B>
</UL>
</TD>
</TR>
</TABLE>
This survey can be displayed by <A HREF="https://aladin.u-strasbg.fr/AladinLite">Aladin Lite</A> (see above),
by <A HREF="https://aladin.u-strasbg.fr/java/nph-aladin.pl?frame=downloading">Aladin Desktop</A> client
(just open the base URL)<BR>or any other HiPS aware clients.
<HR>
<I>(*) HiPS is a recommended <A HREF="www.ivoa.net">International Virtual Observatory Alliance</A> standard:<A HREF="www.ivoa.net/documents/HiPS">HiPS REC</A>.
The HiPS technology allows a dedicated client to access an astronomical survey at any location and at any scale.
HiPS has been invented by <A HREF="https://aladin.u-strasbg.fr/hips">CDS-Universit&eacute; de Strasbourg/CNRS</A> (<A HREF="http://cdsads.u-strasbg.fr/abs/2015A%26A...578A.114F">2015A&amp;A...578A.114F</A>). It is based on HEALPix sky tessellation and it is designed for astronomical scientifical usages (low distorsion, true pixel values...).</I><script type="text/javascript">
document.getElementById("hipsBase").innerHTML=hipsDir;
</script>
</HTML>

View File

@ -0,0 +1,40 @@
hips_initial_fov = 58.63230142835039
hips_initial_ra = 0
hips_initial_dec = +0
creator_did = ivo://IKI/P/SRG/ART
#hips_creator = HiPS creator (institute or person)
#hips_copyright = Copyright mention of the HiPS
obs_title = artmap_healpix.fits
#obs_collection = Dataset collection name
#obs_description = Dataset text description
#obs_ack = Acknowledgement mention
#prov_progenitor = Provenance of the original data (free text)
#bib_reference = Bibcode for bibliographic reference
#bib_reference_url = URL to bibliographic reference
#obs_copyright = Copyright mention of the original data
#obs_copyright_url = URL to copyright page of the original data
#t_min = Start time in MJD ( =(Unixtime/86400)+40587 or https://heasarc.gsfc.nasa.gov/cgi-bin/Tools/xTime/xTime.pl)
#t_max = Stop time in MJD
#obs_regime = Waveband keyword (Radio Infrared Optical UV X-ray Gamma-ray)
#em_min = Start in spectral coordinates in meters ( =2.998E8/freq in Hz, or =1.2398841929E-12*energy in MeV )
#em_max = Stop in spectral coordinates in meters
hips_builder = Aladin/HipsGen v11.021
hips_version = 1.4
hips_release_date = 2020-06-12T11:46Z
hips_frame = galactic
hips_order = 3
hips_order_min = 0
hips_tile_width = 256
#hips_service_url = ex: http://yourHipsServer/artmap_healpix.fits
hips_status = public master clonableOnce
hips_tile_format = png fits
hips_pixel_bitpix = -32
hips_pixel_cut = -0.01084 0.02383
hips_data_range = -3.237 9.143
hips_pixel_scale = 0.02863
dataproduct_type = image
moc_sky_fraction = 1
hips_estsize = 284289
hipsgen_date = 2020-06-12T11:46Z
hipsgen_params = in=artmap_healpix.fits out=/export/django/srg/srg/static/ArtHiPS creator_did=ivo://IKI/SRG/ART pilot=100
hips_creation_date = 2020-06-12T11:46Z

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,2 @@
table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#b0bed9}table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected,table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected{background-color:#acbad4}table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover,table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover{background-color:#aab7d1}table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.order-column tbody>tr>.selected,table.dataTable.display tbody>tr>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#a6b4cd}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#acbad5}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#a5b2cb}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#a2aec7}table.dataTable tbody td.select-checkbox,table.dataTable tbody th.select-checkbox{position:relative}table.dataTable tbody td.select-checkbox:before,table.dataTable tbody td.select-checkbox:after,table.dataTable tbody th.select-checkbox:before,table.dataTable tbody th.select-checkbox:after{position:absolute;top:1.2em;left:50%;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:12px;height:12px}table.dataTable tbody td.select-checkbox:before,table.dataTable tbody th.select-checkbox:before{margin-top:4px;margin-left:-6px;content:" ";border:1px solid #000;border-radius:3px}table.dataTable tr.selected td.select-checkbox:after,table.dataTable tr.selected th.select-checkbox:after{margin-top:0;margin-left:-4px;text-align:center;text-shadow:1px 1px #b0bed9, -1px -1px #b0bed9, 1px -1px #b0bed9, -1px 1px #b0bed9;content:"\2714"}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:.5em}@media screen and (max-width: 640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{display:block;margin-left:0}}

View File

@ -0,0 +1,2 @@
div.dataTables_wrapper div.dataTables_length select,div.dataTables_wrapper div.dataTables_length input{width:auto}div.dataTables_wrapper div.dataTables_length.d-flex.flex-row label{margin-top:1.2rem;margin-right:1rem}div.dataTables_wrapper div.dataTables_length.d-flex.flex-row .select-wrapper.mdb-select span,div.dataTables_wrapper div.dataTables_length.d-flex.flex-row .select-wrapper.mdb-select .select-dropdown{margin-top:1rem}div.dataTables_wrapper div.dataTables_length label,div.dataTables_wrapper div.dataTables_filter label{padding-top:.5rem;padding-bottom:.5rem;font-weight:400;text-align:left}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter select,div.dataTables_wrapper div.dataTables_filter input{width:auto}div.dataTables_wrapper div.dataTables_filter input{display:inline-block;margin-left:.5rem}div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{padding-top:1rem;padding-bottom:1rem;font-weight:400}div.dataTables_wrapper div.dataTables_paginate{margin:0;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{-ms-flex-pack:end;justify-content:flex-end;-webkit-box-pack:end}div.dataTables_wrapper div.dataTables_paginate ul.pagination .page-item.active .page-link:focus{background-color:#4285f4}div.dataTables_wrapper div.dataTables_paginate ul.pagination .page-item .page-link:focus{-webkit-box-shadow:none;box-shadow:none}@media (max-width: 767px){div.dataTables_wrapper div .dataTables_length,div.dataTables_wrapper div .dataTables_filter,div.dataTables_wrapper div .dataTables_info,div.dataTables_wrapper div .dataTables_paginate ul.pagination{-ms-flex-pack:center;justify-content:center;text-align:center;-webkit-box-pack:center}}.bs-select select{display:inline-block !important}table.dataTable thead{cursor:pointer}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{position:relative;cursor:pointer}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:.9em;display:block;opacity:.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;font-family:"Font Awesome\ 5 Free", sans-serif;font-size:1rem;font-weight:900;content:"\f0de"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:16px;font-family:"Font Awesome\ 5 Free", sans-serif;font-size:1rem;font-weight:900;content:"\f0dd"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}

View File

@ -0,0 +1,2 @@
.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
.zmd-hierarchical-display{visibility:hidden}.zmd-hierarchical-display.in{visibility:visible}.zmd-hierarchical-displaying{visibility:visible}.animation{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animation.zoomedIn,.animation.zoomedOut{-webkit-animation-timing-function:cubic-bezier(0.55, 0, 0.1, 1);animation-timing-function:cubic-bezier(0.55, 0, 0.1, 1)}@-webkit-keyframes zoomedIn{from{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes zoomedIn{from{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes zoomedOut{from{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes zoomedOut{from{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(0);transform:scale(0)}}.zoomedIn{-webkit-animation-name:zoomedIn;animation-name:zoomedIn}.zoomedOut{-webkit-animation-name:zoomedOut;animation-name:zoomedOut}

View File

@ -0,0 +1,2 @@
.mdb-rating .rate-popover{color:#808080}.mdb-rating .live{color:#000}.mdb-rating .oneStar{color:#44370f}.mdb-rating .twoStars{color:#96781e}.mdb-rating .threeStars{color:#e2b52e}.mdb-rating .fourStars{color:#f1ba12}.mdb-rating .fiveStars{color:#f3cb06}.mdb-rating .amber-text{color:#ffc107}

10038
srg/static/MDB-Free/css/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

46
srg/static/MDB-Free/css/mdb.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,4 @@
<svg fill="#FFFFFF" height="36" viewBox="0 0 24 24" width="36" xmlns="http://www.w3.org/2000/svg">
<path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/>
<path d="M0-.5h24v24H0z" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 218 B

View File

@ -0,0 +1,4 @@
<svg fill="#FFFFFF" height="36" viewBox="0 0 24 24" width="36" xmlns="http://www.w3.org/2000/svg">
<path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/>
<path d="M0-.25h24v24H0z" fill="none"/>
</svg>

After

Width:  |  Height:  |  Size: 217 B

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Material Design for Bootstrap</title>
<!-- MDB icon -->
<link rel="icon" href="img/mdb-favicon.ico" type="image/x-icon">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.11.2/css/all.css">
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<!-- Material Design Bootstrap -->
<link rel="stylesheet" href="css/mdb.min.css">
<!-- Your custom styles (optional) -->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!-- Start your project here-->
<div style="height: 100vh">
<div class="flex-center flex-column">
<h1 class="text-hide animated fadeIn mb-4" style="background-image: url('https://mdbootstrap.com/img/logo/mdb-transparent-250px.png'); width: 250px; height: 90px;">MDBootstrap</h1>
<h5 class="animated fadeIn mb-3">Thank you for using our product. We're glad you're with us.</h5>
<p class="animated fadeIn text-muted">MDB Team</p>
</div>
</div>
<!-- End your project here-->
<!-- jQuery -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<!-- Bootstrap tooltips -->
<script type="text/javascript" src="js/popper.min.js"></script>
<!-- Bootstrap core JavaScript -->
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<!-- MDB core JavaScript -->
<script type="text/javascript" src="js/mdb.min.js"></script>
<!-- Your custom scripts (optional) -->
<script type="text/javascript"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=219)}({219:function(e,t,r){}});

View File

@ -0,0 +1 @@
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=220)}({220:function(e,t,r){}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4435
srg/static/MDB-Free/js/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

10598
srg/static/MDB-Free/js/jquery.js vendored Normal file

File diff suppressed because it is too large Load Diff

2
srg/static/MDB-Free/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

11631
srg/static/MDB-Free/js/mdb.js Normal file

File diff suppressed because it is too large Load Diff

51
srg/static/MDB-Free/js/mdb.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=221)}({221:function(e,t,r){}});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e){var n={};function r(t){if(n[t])return n[t].exports;var o=n[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)r.d(t,o,function(n){return e[n]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=133)}({133:function(e,n){var r;(r=jQuery)(window).on("scroll",(function(){var e=r(".navbar");e.length&&(e.offset().top>50?r(".scrolling-navbar").addClass("top-nav-collapse"):r(".scrolling-navbar").removeClass("top-nav-collapse"))}))}});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

5
srg/static/MDB-Free/js/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
// Your custom styles

View File

@ -0,0 +1 @@
// Your custom variables

View File

@ -0,0 +1,149 @@
/*
* MDBootstrap integration with Datatables
* Learn more: https://mdbootstrap.com/docs/jquery/tables/datatables/
* About MDBootstrap: https://mdbootstrap.com/
*
* This combined file was created taking that code from this webstie:
* https://cdn.datatables.net/select/1.2.7/css/select.dataTables.min.css
*
*
* To rebuild or modify this file with the latest versions of the included
* software please visit:
* https://datatables.net/download/#bs4/dt-1.10.18
*
* Included libraries:
* DataTables 1.10.18
*/
table {
&.dataTable {
tbody > tr {
&.selected,
> .selected {
background-color: #b0bed9;
}
}
&.stripe, &.display {
tbody > tr.odd {
&.selected,
> .selected {
background-color: #acbad4;
}
}
}
&.hover, &.display {
tbody > tr {
&.selected:hover,
> .selected:hover {
background-color: #aab7d1;
}
}
}
&.order-column, &.display {
tbody > tr {
&.selected > {
.sorting_1, .sorting_2, .sorting_3 {
background-color: #acbad5;
}
}
> .selected {
background-color: #acbad5;
}
}
}
&.display, &.order-column.stripe {
tbody > tr {
&.odd.selected > .sorting_1 {
background-color: #a6b4cd;
}
}
}
&.display tbody > tr.odd.selected > .sorting_2, &.order-column.stripe tbody > tr.odd.selected > .sorting_2 {
background-color: #a8b5cf;
}
&.display tbody > tr.odd.selected > .sorting_3, &.order-column.stripe tbody > tr.odd.selected > .sorting_3 {
background-color: #a9b7d1;
}
&.display tbody > tr.even.selected > .sorting_1, &.order-column.stripe tbody > tr.even.selected > .sorting_1 {
background-color: #acbad5;
}
&.display tbody > tr.even.selected > .sorting_2, &.order-column.stripe tbody > tr.even.selected > .sorting_2 {
background-color: #aebcd6;
}
&.display tbody > tr.even.selected > .sorting_3, &.order-column.stripe tbody > tr.even.selected > .sorting_3 {
background-color: #afbdd8;
}
&.display tbody > tr.odd > .selected, &.order-column.stripe tbody > tr.odd > .selected {
background-color: #a6b4cd;
}
&.display tbody > tr.even > .selected, &.order-column.stripe tbody > tr.even > .selected {
background-color: #acbad5;
}
&.display tbody > tr.selected:hover > .sorting_1, &.order-column.hover tbody > tr.selected:hover > .sorting_1 {
background-color: #a2aec7;
}
&.display tbody > tr.selected:hover > .sorting_2, &.order-column.hover tbody > tr.selected:hover > .sorting_2 {
background-color: #a3b0c9;
}
&.display tbody > tr.selected:hover > .sorting_3, &.order-column.hover tbody > tr.selected:hover > .sorting_3 {
background-color: #a5b2cb;
}
&.display, &.order-column.hover {
tbody > tr {
&:hover > .selected, > .selected:hover {
background-color: #a2aec7;
}
}
}
tbody {
td, th {
&.select-checkbox {
position: relative;
&:before,
&:after {
position: absolute;
top: 1.2em;
left: 50%;
box-sizing: border-box;
display: block;
width: 12px;
height: 12px;
}
}
}
td.select-checkbox:before,
th.select-checkbox:before {
margin-top: 4px;
margin-left: -6px;
content: " ";
border: 1px solid #000;
border-radius: 3px;
}
}
tr.selected {
td.select-checkbox:after,
th.select-checkbox:after {
margin-top: 0;
margin-left: -4px;
text-align: center;
text-shadow: 1px 1px #b0bed9, -1px -1px #b0bed9, 1px -1px #b0bed9, -1px 1px #b0bed9;
content: "\2714";
}
}
}
}
div.dataTables_wrapper span {
&.select-info, &.select-item {
margin-left: .5em;
}
}
@media screen and (max-width: 640px) {
div.dataTables_wrapper span {
&.select-info, &.select-item {
display: block;
margin-left: 0;
}
}
}

View File

@ -0,0 +1,144 @@
/*
* MDBootstrap integration with Datatables
* Learn more: https://mdbootstrap.com/docs/jquery/tables/datatables/
* About MDBootstrap: https://mdbootstrap.com/
*
* This combined file was created by the DataTables downloader builder:
* https://datatables.net/download
*
* To rebuild or modify this file with the latest versions of the included
* software please visit:
* https://datatables.net/download/#bs4/dt-1.10.18
*
* Included libraries:
* DataTables 1.10.18
*/
div.dataTables_wrapper div {
&.dataTables_length {
select, input {
width: auto;
}
&.d-flex.flex-row {
label {
margin-top: 1.2rem;
margin-right: 1rem;
}
.select-wrapper.mdb-select {
span, .select-dropdown {
margin-top: 1rem;
}
}
}
}
&.dataTables_length,
&.dataTables_filter {
label {
padding-top: .5rem;
padding-bottom: .5rem;
font-weight: 400;
text-align: left;
}
}
&.dataTables_filter {
select,
input {
width: auto;
}
input {
display: inline-block;
margin-left: .5rem;
}
text-align: right;
}
&.dataTables_info,
&.dataTables_paginate {
padding-top: 1rem;
padding-bottom: 1rem;
font-weight: 400;
}
&.dataTables_paginate {
margin: 0;
text-align: right;
ul.pagination {
-ms-flex-pack: end;
-webkit-justify-content: flex-end;
justify-content: flex-end;
-webkit-box-pack: end;
.page-item {
&.active .page-link:focus {
background-color: #4285f4;
}
.page-link:focus {
-webkit-box-shadow: none;
box-shadow: none;
}
}
}
}
}
@media (max-width: 767px) {
div.dataTables_wrapper div {
.dataTables_length, .dataTables_filter, .dataTables_info, .dataTables_paginate ul.pagination {
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
text-align: center;
-webkit-box-pack: center;
}
}
}
.bs-select select {
display: inline-block !important;
}
table.dataTable thead {
cursor: pointer;
> tr > {
th,
td {
&.sorting_asc, &.sorting_desc, &.sorting {
padding-right: 30px;
}
}
th:active, td:active {
outline: none;
}
}
.sorting,
.sorting_asc,
.sorting_desc,
.sorting_asc_disabled,
.sorting_desc_disabled {
position: relative;
cursor: pointer;
&:before, &:after {
position: absolute;
bottom: .9em;
display: block;
opacity: .3;
}
}
.sorting:before, .sorting_asc:before, .sorting_desc:before, .sorting_asc_disabled:before, .sorting_desc_disabled:before {
right: 1em;
font-family: "Font Awesome\ 5 Free", sans-serif;
font-size: 1rem;
font-weight: 900;
content: "\f0de";
}
.sorting:after, .sorting_asc:after, .sorting_desc:after, .sorting_asc_disabled:after, .sorting_desc_disabled:after {
right: 16px;
font-family: "Font Awesome\ 5 Free", sans-serif;
font-size: 1rem;
font-weight: 900;
content: "\f0dd";
}
.sorting_asc:before, .sorting_desc:after {
opacity: 1;
}
.sorting_asc_disabled:before, .sorting_desc_disabled:after {
opacity: 0;
}
}

View File

@ -0,0 +1,6 @@
// Optional directives
@each $key in (0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100) {
.opacity-#{$key} {
opacity: $key * .01;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,46 @@
.zmd-hierarchical-display {
visibility: hidden;
&.in {
visibility: visible;
}
}
.zmd-hierarchical-displaying {
visibility: visible;
}
.animation {
animation-duration: 1s;
animation-fill-mode: both;
}
.animation.zoomedIn,
.animation.zoomedOut {
animation-timing-function: cubic-bezier(.55, 0, .1, 1); // "Swift Out" easing curve
}
@keyframes zoomedIn {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
@keyframes zoomedOut {
from {
transform: scale(1);
}
to {
transform: scale(0);
}
}
.zoomedIn {
animation-name: zoomedIn;
}
.zoomedOut {
animation-name: zoomedOut;
}

View File

@ -0,0 +1,35 @@
.mdb-rating {
.rate-popover {
color: #808080;
}
.live {
color: #000;
}
.oneStar {
color: #44370f;
}
.twoStars {
color: #96781e;
}
.threeStars {
color: #e2b52e;
}
.fourStars {
color: #f1ba12;
}
.fiveStars {
color: #f3cb06;
}
.amber-text {
color: #ffc107;
}
}

View File

@ -0,0 +1,932 @@
// Colors
$mdb-color-lighten-5: #d0d6e2 !default;
$mdb-color-lighten-4: #b1bace !default;
$mdb-color-lighten-3: #929fba !default;
$mdb-color-lighten-2: #7283a7 !default;
$mdb-color-lighten-1: #59698d !default;
$mdb-color-base: #45526e !default;
$mdb-color-darken-1: #3b465e !default;
$mdb-color-darken-2: #2e3951 !default;
$mdb-color-darken-3: #1c2a48 !default;
$mdb-color-darken-4: #1c2331 !default;
$red-lighten-5: #ffebee !default;
$red-lighten-4: #ffcdd2 !default;
$red-lighten-3: #ef9a9a !default;
$red-lighten-2: #e57373 !default;
$red-lighten-1: #ef5350 !default;
$red-base: #f44336 !default;
$red-darken-1: #e53935 !default;
$red-darken-2: #d32f2f !default;
$red-darken-3: #c62828 !default;
$red-darken-4: #b71c1c !default;
$red-accent-1: #ff8a80 !default;
$red-accent-2: #ff5252 !default;
$red-accent-3: #ff1744 !default;
$red-accent-4: #d50000 !default;
$pink-lighten-5: #fce4ec !default;
$pink-lighten-4: #f8bbd0 !default;
$pink-lighten-3: #f48fb1 !default;
$pink-lighten-2: #f06292 !default;
$pink-lighten-1: #ec407a !default;
$pink-base: #e91e63 !default;
$pink-darken-1: #d81b60 !default;
$pink-darken-2: #c2185b !default;
$pink-darken-3: #ad1457 !default;
$pink-darken-4: #880e4f !default;
$pink-accent-1: #ff80ab !default;
$pink-accent-2: #ff4081 !default;
$pink-accent-3: #f50057 !default;
$pink-accent-4: #c51162 !default;
$purple-lighten-5: #f3e5f5 !default;
$purple-lighten-4: #e1bee7 !default;
$purple-lighten-3: #ce93d8 !default;
$purple-lighten-2: #ba68c8 !default;
$purple-lighten-1: #ab47bc !default;
$purple-base: #9c27b0 !default;
$purple-darken-1: #8e24aa !default;
$purple-darken-2: #7b1fa2 !default;
$purple-darken-3: #6a1b9a !default;
$purple-darken-4: #4a148c !default;
$purple-accent-1: #ea80fc !default;
$purple-accent-2: #e040fb !default;
$purple-accent-3: #d500f9 !default;
$purple-accent-4: #a0f !default;
$deep-purple-lighten-5: #ede7f6 !default;
$deep-purple-lighten-4: #d1c4e9 !default;
$deep-purple-lighten-3: #b39ddb !default;
$deep-purple-lighten-2: #9575cd !default;
$deep-purple-lighten-1: #7e57c2 !default;
$deep-purple-base: #673ab7 !default;
$deep-purple-darken-1: #5e35b1 !default;
$deep-purple-darken-2: #512da8 !default;
$deep-purple-darken-3: #4527a0 !default;
$deep-purple-darken-4: #311b92 !default;
$deep-purple-accent-1: #b388ff !default;
$deep-purple-accent-2: #7c4dff !default;
$deep-purple-accent-3: #651fff !default;
$deep-purple-accent-4: #6200ea !default;
$indigo-lighten-5: #e8eaf6 !default;
$indigo-lighten-4: #c5cae9 !default;
$indigo-lighten-3: #9fa8da !default;
$indigo-lighten-2: #7986cb !default;
$indigo-lighten-1: #5c6bc0 !default;
$indigo-base: #3f51b5 !default;
$indigo-darken-1: #3949ab !default;
$indigo-darken-2: #303f9f !default;
$indigo-darken-3: #283593 !default;
$indigo-darken-4: #1a237e !default;
$indigo-accent-1: #8c9eff !default;
$indigo-accent-2: #536dfe !default;
$indigo-accent-3: #3d5afe !default;
$indigo-accent-4: #304ffe !default;
$blue-lighten-5: #e3f2fd !default;
$blue-lighten-4: #bbdefb !default;
$blue-lighten-3: #90caf9 !default;
$blue-lighten-2: #64b5f6 !default;
$blue-lighten-1: #42a5f5 !default;
$blue-base: #2196f3 !default;
$blue-darken-1: #1e88e5 !default;
$blue-darken-2: #1976d2 !default;
$blue-darken-3: #1565c0 !default;
$blue-darken-4: #0d47a1 !default;
$blue-accent-1: #82b1ff !default;
$blue-accent-2: #448aff !default;
$blue-accent-3: #2979ff !default;
$blue-accent-4: #2962ff !default;
$light-blue-lighten-5: #e1f5fe !default;
$light-blue-lighten-4: #b3e5fc !default;
$light-blue-lighten-3: #81d4fa !default;
$light-blue-lighten-2: #4fc3f7 !default;
$light-blue-lighten-1: #29b6f6 !default;
$light-blue-base: #03a9f4 !default;
$light-blue-darken-1: #039be5 !default;
$light-blue-darken-2: #0288d1 !default;
$light-blue-darken-3: #0277bd !default;
$light-blue-darken-4: #01579b !default;
$light-blue-accent-1: #80d8ff !default;
$light-blue-accent-2: #40c4ff !default;
$light-blue-accent-3: #00b0ff !default;
$light-blue-accent-4: #0091ea !default;
$cyan-lighten-5: #e0f7fa !default;
$cyan-lighten-4: #b2ebf2 !default;
$cyan-lighten-3: #80deea !default;
$cyan-lighten-2: #4dd0e1 !default;
$cyan-lighten-1: #26c6da !default;
$cyan-base: #00bcd4 !default;
$cyan-darken-1: #00acc1 !default;
$cyan-darken-2: #0097a7 !default;
$cyan-darken-3: #00838f !default;
$cyan-darken-4: #006064 !default;
$cyan-accent-1: #84ffff !default;
$cyan-accent-2: #18ffff !default;
$cyan-accent-3: #00e5ff !default;
$cyan-accent-4: #00b8d4 !default;
$teal-lighten-5: #e0f2f1 !default;
$teal-lighten-4: #b2dfdb !default;
$teal-lighten-3: #80cbc4 !default;
$teal-lighten-2: #4db6ac !default;
$teal-lighten-1: #26a69a !default;
$teal-base: #009688 !default;
$teal-darken-1: #00897b !default;
$teal-darken-2: #00796b !default;
$teal-darken-3: #00695c !default;
$teal-darken-4: #004d40 !default;
$teal-accent-1: #a7ffeb !default;
$teal-accent-2: #64ffda !default;
$teal-accent-3: #1de9b6 !default;
$teal-accent-4: #00bfa5 !default;
$green-lighten-5: #e8f5e9 !default;
$green-lighten-4: #c8e6c9 !default;
$green-lighten-3: #a5d6a7 !default;
$green-lighten-2: #81c784 !default;
$green-lighten-1: #66bb6a !default;
$green-base: #4caf50 !default;
$green-darken-1: #43a047 !default;
$green-darken-2: #388e3c !default;
$green-darken-3: #2e7d32 !default;
$green-darken-4: #1b5e20 !default;
$green-accent-1: #b9f6ca !default;
$green-accent-2: #69f0ae !default;
$green-accent-3: #00e676 !default;
$green-accent-4: #00c853 !default;
$light-green-lighten-5: #f1f8e9 !default;
$light-green-lighten-4: #dcedc8 !default;
$light-green-lighten-3: #c5e1a5 !default;
$light-green-lighten-2: #aed581 !default;
$light-green-lighten-1: #9ccc65 !default;
$light-green-base: #8bc34a !default;
$light-green-darken-1: #7cb342 !default;
$light-green-darken-2: #689f38 !default;
$light-green-darken-3: #558b2f !default;
$light-green-darken-4: #33691e !default;
$light-green-accent-1: #ccff90 !default;
$light-green-accent-2: #b2ff59 !default;
$light-green-accent-3: #76ff03 !default;
$light-green-accent-4: #64dd17 !default;
$lime-lighten-5: #f9fbe7 !default;
$lime-lighten-4: #f0f4c3 !default;
$lime-lighten-3: #e6ee9c !default;
$lime-lighten-2: #dce775 !default;
$lime-lighten-1: #d4e157 !default;
$lime-base: #cddc39 !default;
$lime-darken-1: #c0ca33 !default;
$lime-darken-2: #afb42b !default;
$lime-darken-3: #9e9d24 !default;
$lime-darken-4: #827717 !default;
$lime-accent-1: #f4ff81 !default;
$lime-accent-2: #eeff41 !default;
$lime-accent-3: #c6ff00 !default;
$lime-accent-4: #aeea00 !default;
$yellow-lighten-5: #fffde7 !default;
$yellow-lighten-4: #fff9c4 !default;
$yellow-lighten-3: #fff59d !default;
$yellow-lighten-2: #fff176 !default;
$yellow-lighten-1: #ffee58 !default;
$yellow-base: #ffeb3b !default;
$yellow-darken-1: #fdd835 !default;
$yellow-darken-2: #fbc02d !default;
$yellow-darken-3: #f9a825 !default;
$yellow-darken-4: #f57f17 !default;
$yellow-accent-1: #ffff8d !default;
$yellow-accent-2: #ff0 !default;
$yellow-accent-3: #ffea00 !default;
$yellow-accent-4: #ffd600 !default;
$amber-lighten-5: #fff8e1 !default;
$amber-lighten-4: #ffecb3 !default;
$amber-lighten-3: #ffe082 !default;
$amber-lighten-2: #ffd54f !default;
$amber-lighten-1: #ffca28 !default;
$amber-base: #ffc107 !default;
$amber-darken-1: #ffb300 !default;
$amber-darken-2: #ffa000 !default;
$amber-darken-3: #ff8f00 !default;
$amber-darken-4: #ff6f00 !default;
$amber-accent-1: #ffe57f !default;
$amber-accent-2: #ffd740 !default;
$amber-accent-3: #ffc400 !default;
$amber-accent-4: #ffab00 !default;
$orange-lighten-5: #fff3e0 !default;
$orange-lighten-4: #ffe0b2 !default;
$orange-lighten-3: #ffcc80 !default;
$orange-lighten-2: #ffb74d !default;
$orange-lighten-1: #ffa726 !default;
$orange-base: #ff9800 !default;
$orange-darken-1: #fb8c00 !default;
$orange-darken-2: #f57c00 !default;
$orange-darken-3: #ef6c00 !default;
$orange-darken-4: #e65100 !default;
$orange-accent-1: #ffd180 !default;
$orange-accent-2: #ffab40 !default;
$orange-accent-3: #ff9100 !default;
$orange-accent-4: #ff6d00 !default;
$deep-orange-lighten-5: #fbe9e7 !default;
$deep-orange-lighten-4: #ffccbc !default;
$deep-orange-lighten-3: #ffab91 !default;
$deep-orange-lighten-2: #ff8a65 !default;
$deep-orange-lighten-1: #ff7043 !default;
$deep-orange-base: #ff5722 !default;
$deep-orange-darken-1: #f4511e !default;
$deep-orange-darken-2: #e64a19 !default;
$deep-orange-darken-3: #d84315 !default;
$deep-orange-darken-4: #bf360c !default;
$deep-orange-accent-1: #ff9e80 !default;
$deep-orange-accent-2: #ff6e40 !default;
$deep-orange-accent-3: #ff3d00 !default;
$deep-orange-accent-4: #dd2c00 !default;
$brown-lighten-5: #efebe9 !default;
$brown-lighten-4: #d7ccc8 !default;
$brown-lighten-3: #bcaaa4 !default;
$brown-lighten-2: #a1887f !default;
$brown-lighten-1: #8d6e63 !default;
$brown-base: #795548 !default;
$brown-darken-1: #6d4c41 !default;
$brown-darken-2: #5d4037 !default;
$brown-darken-3: #4e342e !default;
$brown-darken-4: #3e2723 !default;
$blue-grey-lighten-5: #eceff1 !default;
$blue-grey-lighten-4: #cfd8dc !default;
$blue-grey-lighten-3: #b0bec5 !default;
$blue-grey-lighten-2: #90a4ae !default;
$blue-grey-lighten-1: #78909c !default;
$blue-grey-base: #607d8b !default;
$blue-grey-darken-1: #546e7a !default;
$blue-grey-darken-2: #455a64 !default;
$blue-grey-darken-3: #37474f !default;
$blue-grey-darken-4: #263238 !default;
$grey-lighten-5: #fafafa !default;
$grey-lighten-4: #f5f5f5 !default;
$grey-lighten-3: #eee !default;
$grey-lighten-2: #e0e0e0 !default;
$grey-lighten-1: #bdbdbd !default;
$grey-base: #9e9e9e !default;
$grey-darken-1: #757575 !default;
$grey-darken-2: #616161 !default;
$grey-darken-3: #424242 !default;
$grey-darken-4: #212121 !default;
$black-base: #000 !default;
$white-base: #fff !default;
$foggy-grey: #4f4f4f !default;
$mdb-colors-1: () !default;
$mdb-colors-1: map-merge(
(
"mdb-color": (
"lighten-5": $mdb-color-lighten-5,
"lighten-4": $mdb-color-lighten-4,
"lighten-3": $mdb-color-lighten-3,
"lighten-2": $mdb-color-lighten-2,
"lighten-1": $mdb-color-lighten-1,
"base": $mdb-color-base,
"darken-1": $mdb-color-darken-1,
"darken-2": $mdb-color-darken-2,
"darken-3": $mdb-color-darken-3,
"darken-4": $mdb-color-darken-4
),
"red": (
"lighten-5": $red-lighten-5,
"lighten-4": $red-lighten-4,
"lighten-3": $red-lighten-3,
"lighten-2": $red-lighten-2,
"lighten-1": $red-lighten-1,
"base": $red-base,
"darken-1": $red-darken-1,
"darken-2": $red-darken-2,
"darken-3": $red-darken-3,
"darken-4": $red-darken-4,
"accent-1": $red-accent-1,
"accent-2": $red-accent-2,
"accent-3": $red-accent-3,
"accent-4": $red-accent-4
),
"pink": (
"lighten-5": $pink-lighten-5,
"lighten-4": $pink-lighten-4,
"lighten-3": $pink-lighten-3,
"lighten-2": $pink-lighten-2,
"lighten-1": $pink-lighten-1,
"base": $pink-base,
"darken-1": $pink-darken-1,
"darken-2": $pink-darken-2,
"darken-3": $pink-darken-3,
"darken-4": $pink-darken-4,
"accent-1": $pink-accent-1,
"accent-2": $pink-accent-2,
"accent-3": $pink-accent-3,
"accent-4": $pink-accent-4
),
"purple": (
"lighten-5": $purple-lighten-5,
"lighten-4": $purple-lighten-4,
"lighten-3": $purple-lighten-3,
"lighten-2": $purple-lighten-2,
"lighten-1": $purple-lighten-1,
"base": $purple-base,
"darken-1": $purple-darken-1,
"darken-2": $purple-darken-2,
"darken-3": $purple-darken-3,
"darken-4": $purple-darken-4,
"accent-1": $purple-accent-1,
"accent-2": $purple-accent-2,
"accent-3": $purple-accent-3,
"accent-4": $purple-accent-4
),
"deep-purple": (
"lighten-5": $deep-purple-lighten-5,
"lighten-4": $deep-purple-lighten-4,
"lighten-3": $deep-purple-lighten-3,
"lighten-2": $deep-purple-lighten-2,
"lighten-1": $deep-purple-lighten-1,
"base": $deep-purple-base,
"darken-1": $deep-purple-darken-1,
"darken-2": $deep-purple-darken-2,
"darken-3": $deep-purple-darken-3,
"darken-4": $deep-purple-darken-4,
"accent-1": $deep-purple-accent-1,
"accent-2": $deep-purple-accent-2,
"accent-3": $deep-purple-accent-3,
"accent-4": $deep-purple-accent-4
),
"indigo": (
"lighten-5": $indigo-lighten-5,
"lighten-4": $indigo-lighten-4,
"lighten-3": $indigo-lighten-3,
"lighten-2": $indigo-lighten-2,
"lighten-1": $indigo-lighten-1,
"base": $indigo-base,
"darken-1": $indigo-darken-1,
"darken-2": $indigo-darken-2,
"darken-3": $indigo-darken-3,
"darken-4": $indigo-darken-4,
"accent-1": $indigo-accent-1,
"accent-2": $indigo-accent-2,
"accent-3": $indigo-accent-3,
"accent-4": $indigo-accent-4
),
"blue": (
"lighten-5": $blue-lighten-5,
"lighten-4": $blue-lighten-4,
"lighten-3": $blue-lighten-3,
"lighten-2": $blue-lighten-2,
"lighten-1": $blue-lighten-1,
"base": $blue-base,
"darken-1": $blue-darken-1,
"darken-2": $blue-darken-2,
"darken-3": $blue-darken-3,
"darken-4": $blue-darken-4,
"accent-1": $blue-accent-1,
"accent-2": $blue-accent-2,
"accent-3": $blue-accent-3,
"accent-4": $blue-accent-4
),
"light-blue": (
"lighten-5": $light-blue-lighten-5,
"lighten-4": $light-blue-lighten-4,
"lighten-3": $light-blue-lighten-3,
"lighten-2": $light-blue-lighten-2,
"lighten-1": $light-blue-lighten-1,
"base": $light-blue-base,
"darken-1": $light-blue-darken-1,
"darken-2": $light-blue-darken-2,
"darken-3": $light-blue-darken-3,
"darken-4": $light-blue-darken-4,
"accent-1": $light-blue-accent-1,
"accent-2": $light-blue-accent-2,
"accent-3": $light-blue-accent-3,
"accent-4": $light-blue-accent-4
),
"cyan": (
"lighten-5": $cyan-lighten-5,
"lighten-4": $cyan-lighten-4,
"lighten-3": $cyan-lighten-3,
"lighten-2": $cyan-lighten-2,
"lighten-1": $cyan-lighten-1,
"base": $cyan-base,
"darken-1": $cyan-darken-1,
"darken-2": $cyan-darken-2,
"darken-3": $cyan-darken-3,
"darken-4": $cyan-darken-4,
"accent-1": $cyan-accent-1,
"accent-2": $cyan-accent-2,
"accent-3": $cyan-accent-3,
"accent-4": $cyan-accent-4
),
"teal": (
"lighten-5": $teal-lighten-5,
"lighten-4": $teal-lighten-4,
"lighten-3": $teal-lighten-3,
"lighten-2": $teal-lighten-2,
"lighten-1": $teal-lighten-1,
"base": $teal-base,
"darken-1": $teal-darken-1,
"darken-2": $teal-darken-2,
"darken-3": $teal-darken-3,
"darken-4": $teal-darken-4,
"accent-1": $teal-accent-1,
"accent-2": $teal-accent-2,
"accent-3": $teal-accent-3,
"accent-4": $teal-accent-4
),
"green": (
"lighten-5": $green-lighten-5,
"lighten-4": $green-lighten-4,
"lighten-3": $green-lighten-3,
"lighten-2": $green-lighten-2,
"lighten-1": $green-lighten-1,
"base": $green-base,
"darken-1": $green-darken-1,
"darken-2": $green-darken-2,
"darken-3": $green-darken-3,
"darken-4": $green-darken-4,
"accent-1": $green-accent-1,
"accent-2": $green-accent-2,
"accent-3": $green-accent-3,
"accent-4": $green-accent-4
),
"light-green": (
"lighten-5": $light-green-lighten-5,
"lighten-4": $light-green-lighten-4,
"lighten-3": $light-green-lighten-3,
"lighten-2": $light-green-lighten-2,
"lighten-1": $light-green-lighten-1,
"base": $light-green-base,
"darken-1": $light-green-darken-1,
"darken-2": $light-green-darken-2,
"darken-3": $light-green-darken-3,
"darken-4": $light-green-darken-4,
"accent-1": $light-green-accent-1,
"accent-2": $light-green-accent-2,
"accent-3": $light-green-accent-3,
"accent-4": $light-green-accent-4
),
"lime": (
"lighten-5": $lime-lighten-5,
"lighten-4": $lime-lighten-4,
"lighten-3": $lime-lighten-3,
"lighten-2": $lime-lighten-2,
"lighten-1": $lime-lighten-1,
"base": $lime-base,
"darken-1": $lime-darken-1,
"darken-2": $lime-darken-2,
"darken-3": $lime-darken-3,
"darken-4": $lime-darken-4,
"accent-1": $lime-accent-1,
"accent-2": $lime-accent-2,
"accent-3": $lime-accent-3,
"accent-4": $lime-accent-4
),
"yellow": (
"lighten-5": $yellow-lighten-5,
"lighten-4": $yellow-lighten-4,
"lighten-3": $yellow-lighten-3,
"lighten-2": $yellow-lighten-2,
"lighten-1": $yellow-lighten-1,
"base": $yellow-base,
"darken-1": $yellow-darken-1,
"darken-2": $yellow-darken-2,
"darken-3": $yellow-darken-3,
"darken-4": $yellow-darken-4,
"accent-1": $yellow-accent-1,
"accent-2": $yellow-accent-2,
"accent-3": $yellow-accent-3,
"accent-4": $yellow-accent-4
),
"amber": (
"lighten-5": $amber-lighten-5,
"lighten-4": $amber-lighten-4,
"lighten-3": $amber-lighten-3,
"lighten-2": $amber-lighten-2,
"lighten-1": $amber-lighten-1,
"base": $amber-base,
"darken-1": $amber-darken-1,
"darken-2": $amber-darken-2,
"darken-3": $amber-darken-3,
"darken-4": $amber-darken-4,
"accent-1": $amber-accent-1,
"accent-2": $amber-accent-2,
"accent-3": $amber-accent-3,
"accent-4": $amber-accent-4
),
"orange": (
"lighten-5": $orange-lighten-5,
"lighten-4": $orange-lighten-4,
"lighten-3": $orange-lighten-3,
"lighten-2": $orange-lighten-2,
"lighten-1": $orange-lighten-1,
"base": $orange-base,
"darken-1": $orange-darken-1,
"darken-2": $orange-darken-2,
"darken-3": $orange-darken-3,
"darken-4": $orange-darken-4,
"accent-1": $orange-accent-1,
"accent-2": $orange-accent-2,
"accent-3": $orange-accent-3,
"accent-4": $orange-accent-4
),
"deep-orange": (
"lighten-5": $deep-orange-lighten-5,
"lighten-4": $deep-orange-lighten-4,
"lighten-3": $deep-orange-lighten-3,
"lighten-2": $deep-orange-lighten-2,
"lighten-1": $deep-orange-lighten-1,
"base": $deep-orange-base,
"darken-1": $deep-orange-darken-1,
"darken-2": $deep-orange-darken-2,
"darken-3": $deep-orange-darken-3,
"darken-4": $deep-orange-darken-4,
"accent-1": $deep-orange-accent-1,
"accent-2": $deep-orange-accent-2,
"accent-3": $deep-orange-accent-3,
"accent-4": $deep-orange-accent-4
),
"brown": (
"lighten-5": $brown-lighten-5,
"lighten-4": $brown-lighten-4,
"lighten-3": $brown-lighten-3,
"lighten-2": $brown-lighten-2,
"lighten-1": $brown-lighten-1,
"base": $brown-base,
"darken-1": $brown-darken-1,
"darken-2": $brown-darken-2,
"darken-3": $brown-darken-3,
"darken-4": $brown-darken-4
),
"blue-grey": (
"lighten-5": $blue-grey-lighten-5,
"lighten-4": $blue-grey-lighten-4,
"lighten-3": $blue-grey-lighten-3,
"lighten-2": $blue-grey-lighten-2,
"lighten-1": $blue-grey-lighten-1,
"base": $blue-grey-base,
"darken-1": $blue-grey-darken-1,
"darken-2": $blue-grey-darken-2,
"darken-3": $blue-grey-darken-3,
"darken-4": $blue-grey-darken-4
),
"grey": (
"lighten-5": $grey-lighten-5,
"lighten-4": $grey-lighten-4,
"lighten-3": $grey-lighten-3,
"lighten-2": $grey-lighten-2,
"lighten-1": $grey-lighten-1,
"base": $grey-base,
"darken-1": $grey-darken-1,
"darken-2": $grey-darken-2,
"darken-3": $grey-darken-3,
"darken-4": $grey-darken-4
),
"black": (
"base": $black-base
),
"white": (
"base": $white-base
)
),
$mdb-colors-1
);
// Full palette of colors
$enable_full_palette: true !default;
// Stylish rgba colors
$stylish-rgba: (
"rgba-stylish-slight": rgba(62, 69, 81, .1),
"rgba-stylish-light": rgba(62, 69, 81, .3),
"rgba-stylish-strong": rgba(62, 69, 81, .7),
);
// Material colors
$primary-color: #4285f4 !default;
$primary-color-dark: #0d47a1 !default;
$secondary-color: #a6c !default;
$secondary-color-dark: #93c !default;
$default-color: #2bbbad !default;
$default-color-dark: #00695c !default;
$info-color: #33b5e5 !default;
$info-color-dark: #09c !default;
$success-color: #00c851 !default;
$success-color-dark: #007e33 !default;
$warning-color: #fb3 !default;
$warning-color-dark: #f80 !default;
$danger-color: #ff3547 !default;
$danger-color-dark: #c00 !default;
$elegant-color: #2e2e2e !default;
$elegant-color-dark: #212121 !default;
$stylish-color: #4b515d !default;
$stylish-color-dark: #3e4551 !default;
$unique-color: #3f729b !default;
$unique-color-dark: #1c2331 !default;
$special-color: #37474f !default;
$special-color-dark: #263238 !default;
$white: #fff;
$black: #000;
$error-color: $red-base !default;
$material-colors: () !default;
$material-colors: map-merge(
(
"primary-color": $primary-color,
"primary-color-dark": $primary-color-dark,
"secondary-color": $secondary-color,
"secondary-color-dark": $secondary-color-dark,
"default-color": $default-color,
"default-color-dark": $default-color-dark,
"info-color": $info-color,
"info-color-dark": $info-color-dark,
"success-color": $success-color,
"success-color-dark": $success-color-dark,
"warning-color": $warning-color,
"warning-color-dark": $warning-color-dark,
"danger-color": $danger-color,
"danger-color-dark": $danger-color-dark,
"elegant-color": $elegant-color,
"elegant-color-dark": $elegant-color-dark,
"stylish-color": $stylish-color,
"stylish-color-dark": $stylish-color-dark,
"unique-color": $unique-color,
"unique-color-dark": $unique-color-dark,
"special-color": $special-color,
"special-color-dark": $special-color-dark
),
$material-colors
);
// Social colors
$fb-color: #3b5998 !default;
$tw-color: #55acee !default;
$gplus-color: #dd4b39 !default;
$yt-color: #ed302f !default;
$li-color: #0082ca !default;
$pin-color: #c61118 !default;
$ins-color: #2e5e86 !default;
$git-color: #333 !default;
$comm-color: #30cfc0 !default;
$vk-color: #4c75a3 !default;
$drib-color: #ec4a89 !default;
$so-color: #ffac44 !default;
$slack-color: #56b68b !default;
$email-color: #4b515d !default;
$redd-color: #ff4500 !default;
$twitch-color: #6441a4 !default;
$discord-color: #7289da !default;
$whatsapp-color:#25d366 !default;
$social-colors: () !default;
$social-colors: map-merge(
(
"fb": $fb-color,
"tw": $tw-color,
"gplus": $gplus-color,
"yt": $yt-color,
"li": $li-color,
"pin": $pin-color,
"ins": $ins-color,
"git": $git-color,
"comm": $comm-color,
"vk": $vk-color,
"dribbble": $drib-color,
"so": $so-color,
"slack": $slack-color,
"email": $email-color,
"reddit": $redd-color,
"twitch": $twitch-color,
"discord": $discord-color,
"whatsapp": $whatsapp-color
),
$social-colors
);
// MDB buttons colors
$mdb-colors: () !default;
$mdb-colors: map-merge(
(
"primary": $primary-color,
"danger": $danger-color,
"warning": $warning-color,
"success": $success-color,
"info": $info-color,
"default": $default-color,
"secondary": $secondary-color,
"elegant": $elegant-color,
"unique": $pink-darken-4,
"dark-green": $green-darken-2,
"mdb-color": $mdb-color-lighten-1,
"red": $red-darken-2,
"pink": $pink-lighten-1,
"purple": $purple-darken-1,
"deep-purple": $deep-purple-darken-2,
"indigo": $indigo-base,
"blue": $blue-darken-2,
"light-blue": $blue-accent-1,
"cyan": $cyan-base,
"teal": $teal-darken-2,
"green": $green-darken-2,
"light-green": $light-green-base,
"lime": $lime-darken-2,
"yellow": $yellow-darken-2,
"amber": $amber-darken-2,
"orange": $orange-darken-2,
"deep-orange": $deep-orange-lighten-1,
"brown": $brown-base,
"grey": $grey-darken-2,
"blue-grey": $blue-grey-lighten-1,
"dark": $grey-darken-4,
"light": $grey-lighten-2,
"white": $white-base,
"black": $black-base
),
$mdb-colors
);
// Basic colors
$basic: () !default;
$basic: map-merge(
(
"primary": $primary-color,
"danger": $danger-color,
"warning": $warning-color,
"success": $success-color,
"info": $info-color
),
$basic
);
$basic-mdb-colors: () !default;
$basic-mdb-colors: map-merge(
(
"primary": $primary-color,
"danger": $danger-color,
"warning": $warning-color,
"success": $success-color,
"info": $info-color,
"default": $default-color,
"secondary": $secondary-color,
"dark": $grey-darken-4,
"light": $grey-lighten-2
),
$basic-mdb-colors
);
$pagination-colors: () !default;
$pagination-colors: map-merge(
(
"blue": $primary-color,
"red": $danger-color,
"teal": $default-color,
"dark-grey": $special-color,
"dark": $elegant-color,
"blue-grey": $unique-color,
"amber": $amber-darken-4,
"purple": $deep-purple-darken-1
),
$pagination-colors
);
$ctbc: () !default;
$ctbc: map-merge(
(
"tabs-cyan": $yellow-base,
"tabs-orange": $red-darken-1,
"tabs-grey": $white-base,
"tabs-pink": $deep-purple-base,
"tabs-green": $blue-darken-3,
"tabs-primary": $white-base
),
$ctbc
);
$switch-color-bg: $secondary-color !default;
$switch-color-checked-lever-bg: desaturate(lighten($secondary-color, 25%), 25%) !default;
$switch-color-unchecked-bg: #f1f1f1 !default;
$switch-color-unchecked-lever-bg: #818181 !default;
$switch-colors: () !default;
$switch-colors: map-merge(
(
"bg": $switch-color-bg,
"checked-lever-bg": $switch-color-checked-lever-bg,
"unchecked-bg": $switch-color-unchecked-bg,
"unchecked-lever-bg": $switch-color-unchecked-lever-bg,
),
$switch-colors
);
$dropdown-colors: () !default;
$dropdown-colors: map-merge(
(
"primary" : $primary-color,
"danger" : $danger-color-dark,
"default" : $default-color,
"secondary": $secondary-color,
"success" : $success-color,
"info" : $info-color,
"warning" : $warning-color,
"dark" : map-get($mdb-colors, "elegant"),
"ins" : map-get($social-colors, "ins")
),
$dropdown-colors
);
// Gradients
$gradients: () !default;
$gradients: map-merge(
(
"purple": (
"start": #ff6ec4,
"end": #7873f5
),
"peach": (
"start": #ffd86f,
"end": #fc6262
),
"aqua": (
"start": #2096ff,
"end": #05ffa3
),
"blue": (
"start": #45cafc,
"end": $indigo-darken-2
),
),
$gradients
);
// Gradients RGBA Version
$gradients-rgba: () !default;
$gradients-rgba: map-merge(
(
"purple": (
"start": rgba(255, 110, 196, .9),
"end": rgba(120, 115, 245, .9)
),
"peach": (
"start": rgba(255, 216, 111, .9),
"end": rgba(252, 98, 98, .9)
),
"aqua": (
"start": rgba(32, 150, 255, .9),
"end": rgba(5, 255, 163, .9)
),
"blue": (
"start": rgba(69, 202, 252, .9),
"end": rgba(48, 63, 159, .9)
),
),
$gradients-rgba
);
$note: () !default;
$note: map-merge(
(
"primary": (
"bgc": #dfeefd,
"border-color": #176ac4
),
"secondary": (
"bgc": #e2e3e5,
"border-color": #58595a
),
"success": (
"bgc": #e2f0e5,
"border-color": #49a75f
),
"danger": (
"bgc": #fae7e8,
"border-color": #e45460
),
"warning": (
"bgc": #faf4e0,
"border-color": #c2a442
),
"info": (
"bgc": #e4f2f5,
"border-color": #2492a5
),
"light": (
"bgc": #fefefe,
"border-color": #0f0f0f
)
),
$note
);

View File

@ -0,0 +1,153 @@
// Globals
// Full palette of colors
@each $color_name, $color in $mdb-colors-1 {
@each $color_type, $color_value in $color {
@if $color_type == "base" {
.#{$color_name} {
background-color: $color_value !important;
}
.#{$color_name}-text {
color: $color-value !important;
}
.rgba-#{$color_name}-slight,
.rgba-#{$color_name}-slight:after {
background-color: rgba($color_value, .1);
}
.rgba-#{$color_name}-light,
.rgba-#{$color_name}-light:after {
background-color: rgba($color_value, .3);
}
.rgba-#{$color_name}-strong,
.rgba-#{$color_name}-strong:after {
background-color: rgba($color_value, .7);
}
}
@else {
@if $enable_full_palette {
.#{$color_name}.#{$color_type} {
background-color: $color_value !important;
}
}
}
}
}
// Stylish color
@each $color_name, $color_value in $stylish-rgba {
.#{$color_name} {
background-color: $color_value;
}
}
// Material colors palette
@each $color_name, $color in $material-colors {
.#{$color_name} {
background-color: $color !important;
}
}
// Basic gradients
@each $name, $val in $gradients {
@include make-gradient($name, $val);
}
@each $name, $val in $gradients-rgba {
@include make-gradient-rgba($name, $val);
}
.dark-grey-text {
color: #4f4f4f !important;
&:hover,
&:focus {
color: #4f4f4f !important;
}
}
// Shadow on hover
.hoverable {
box-shadow: none;
transition: $transition-hoverable;
&:hover {
box-shadow: $z-depth-2;
transition: $transition-hoverable;
}
}
// Shadows
.z-depth-0 {
box-shadow: none !important;
}
.z-depth-1 {
box-shadow: $z-depth-1 !important;
}
.z-depth-1-half {
box-shadow: $z-depth-1-half !important;
}
.z-depth-2 {
box-shadow: $z-depth-2 !important;
}
.z-depth-3 {
box-shadow: $z-depth-3 !important;
}
.z-depth-4 {
box-shadow: $z-depth-4 !important;
}
.z-depth-5 {
box-shadow: $z-depth-5 !important;
}
// Disabled cursor
.disabled,
:disabled {
pointer-events: none !important;
}
// Links
a {
color: $link-color;
text-decoration: none;
cursor: pointer;
transition: $transition-basic;
&:hover {
color: $link-hover-color;
text-decoration: none;
transition: $transition-basic;
}
&.disabled,
&:disabled {
&:hover {
color: $link-color;
}
}
}
a:not([href]):not([tabindex]), a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
color: inherit;
text-decoration: none;
}
// Divider
.divider-new {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-top: $divider-margin-y;
margin-bottom: $divider-margin-y;
> h1, h2, h3, h4, h5, h6 {
margin-bottom: 0;
}
&:before,
&:after {
flex: 1;
height: 1.5px;
height: $divider-height;
content: "";
background: #c6c6c6;
}
&:before {
margin: 0 $divider-margin-x 0 0;
}
&:after {
margin: 0 0 0 $divider-margin-x;
}
}

View File

@ -0,0 +1,91 @@
// Helpers
// MDB helpers
.img-fluid,
.video-fluid {
max-width: 100%;
height: auto;
}
.flex-center {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
p {
margin: 0;
}
ul {
text-align: center;
li {
margin-bottom: $flex-center-ul-mb;
&:last-of-type {
margin-bottom: 0;
}
}
}
}
.hr-light {
border-top: 1px solid $hr-light;
}
.hr-dark {
border-top: 1px solid $hr-dark;
}
// Responsive width
.w-responsive {
width: 75%;
@media (max-width: 740px) {
width: 100%;
}
}
.w-header {
width: 3.2rem;
}
// Collapsible body
.collapsible-body {
display: none;
}
.jumbotron {
background-color: $white-base;
border-radius: $border-radius-base;
box-shadow: $z-depth-1;
}
@each $name,
$color in $basic-mdb-colors {
@include bg-variant(".bg-#{$name}", $color);
.border-#{$name} {
border-color: $color !important;
}
}
.card-img-100 {
width: 100px;
height: 100px;
}
.card-img-64 {
width: 64px;
height: 64px;
}
.mml-1 {
margin-left: - .25rem !important;
}
.flex-1 {
flex: 1;
}

View File

@ -0,0 +1,78 @@
// Masks
// General properties
.view {
position: relative;
overflow: hidden;
cursor: default;
.mask {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
background-attachment: fixed;
}
img, video {
position: relative;
display: block;
}
video {
&.video-intro {
top: 50%;
left: 50%;
z-index: -100;
width: auto;
min-width: 100%;
height: auto;
min-height: 100%;
transition: $intro-video-transition opacity;
transform: $intro-video-transform;
}
}
}
// Overlay
.overlay {
.mask {
opacity: 0;
transition: $mask-overlay-transition;
&:hover {
opacity: 1;
}
}
}
// Zoom
.zoom {
img, video {
transition: $mask-zoom-transition;
}
&:hover {
img, video {
transform: $mask-zoom-transform;
}
}
}
// Patterns
$patterns: (
1: "01",
2: "02",
3: "03",
4: "04",
5: "05",
6: "06",
7: "07",
8: "08",
9: "09"
) !default;
@each $no, $filename in $patterns {
.pattern-#{$no} {
background: url("#{$image-path}/overlays/#{$filename}.png");
background-attachment: fixed;
}
}

View File

@ -0,0 +1,617 @@
// Mixins
// Bootstrap Mixins
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
$n: index($breakpoint-names, $name);
@return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
}
@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
$min: map-get($breakpoints, $name);
@return if($min !=0, $min, null);
}
@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
$next: breakpoint-next($name, $breakpoints);
@return if($next, breakpoint-min($next, $breakpoints) - .02px, null);
}
// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
// Makes the @content apply to the given breakpoint and wider.
@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
$min: breakpoint-min($name, $breakpoints);
@if $min {
@media (min-width: $min) {
@content;
}
}
@else {
@content;
}
}
// Media of at most the maximum breakpoint width. No query for the largest breakpoint.
// Makes the @content apply to the given breakpoint and narrower.
@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
$max: breakpoint-max($name, $breakpoints);
@if $max {
@media (max-width: $max) {
@content;
}
}
@else {
@content;
}
}
// Media that spans multiple breakpoint widths.
// Makes the @content apply between the min and max breakpoints
@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
$min: breakpoint-min($lower, $breakpoints);
$max: breakpoint-max($upper, $breakpoints);
@if $min !=null and $max !=null {
@media (min-width: $min) and (max-width: $max) {
@content;
}
}
@else if $max==null {
@include media-breakpoint-up($lower, $breakpoints) {
@content;
}
}
@else if $min==null {
@include media-breakpoint-down($upper, $breakpoints) {
@content;
}
}
}
// Media between the breakpoint's minimum and maximum widths.
// No minimum for the smallest breakpoint, and no maximum for the largest one.
// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
$min: breakpoint-min($name, $breakpoints);
$max: breakpoint-max($name, $breakpoints);
@if $min !=null and $max !=null {
@media (min-width: $min) and (max-width: $max) {
@content;
}
}
@else if $max==null {
@include media-breakpoint-up($name, $breakpoints) {
@content;
}
}
@else if $min==null {
@include media-breakpoint-down($name, $breakpoints) {
@content;
}
}
}
@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
@return if(breakpoint-min($name, $breakpoints)==null, "", "-#{$name}");
}
@mixin hover {
&:hover { @content; }
}
@mixin hover-focus {
&:hover,
&:focus {
@content;
}
}
// Background color
@mixin bg-variant($parent, $color) {
#{$parent} {
background-color: $color !important;
}
a#{$parent},
button#{$parent} {
@include hover-focus {
background-color: darken($color, 10%) !important;
}
}
}
// Typography
@mixin text-emphasis-variant($parent, $color) {
#{$parent} {
color: $color !important;
}
a#{$parent} {
@include hover-focus {
color: darken($color, 10%) !important;
}
}
}
// Placeholder
@mixin placeholder {
&::placeholder {
@content;
}
}
/// Grid system
//
// Generate semantic grid columns with these mixins.
@mixin make-container($gutter: $grid-gutter-width) {
width: 100%;
padding-right: $gutter / 2;
padding-left: $gutter / 2;
margin-right: auto;
margin-left: auto;
}
// For each breakpoint, define the maximum width of the container in a media query
@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
@each $breakpoint,
$container-max-width in $max-widths {
@include media-breakpoint-up($breakpoint, $breakpoints) {
max-width: $container-max-width;
}
}
}
@mixin make-row() {
display: flex;
flex-wrap: wrap;
margin-right: ($grid-gutter-width / -2);
margin-left: ($grid-gutter-width / -2);
}
@mixin make-col-ready() {
position: relative;
// Prevent columns from becoming too narrow when at smaller grid tiers by
// always setting `width: 100%;`. This works because we use `flex` values
// later on to override this initial width.
width: 100%;
min-height: 1px; // Prevent collapsing
padding-right: ($grid-gutter-width / 2);
padding-left: ($grid-gutter-width / 2);
}
@mixin make-col($size, $columns: $grid-columns) {
flex: 0 0 percentage($size / $columns);
// Add a `max-width` to ensure content within each column does not blow out
// the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
// do not appear to require this.
max-width: percentage($size / $columns);
}
@mixin make-col-offset($size, $columns: $grid-columns) {
$num: $size / $columns;
margin-left: if($num==0, 0, percentage($num));
}
@mixin clearfix() {
&::after {
display: block;
clear: both;
content: "";
}
}
@mixin float-left {
float: left !important;
}
@mixin float-right {
float: right !important;
}
@mixin float-none {
float: none !important;
}
// CSS image replacement
@mixin text-hide($ignore-warning: false) {
// stylelint-disable-next-line font-family-no-missing-generic-family-keyword
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
@if ($ignore-warning !=true) {
@warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
}
}
// Only display content to screen readers
//
// See: https://a11yproject.com/posts/how-to-hide-content/
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
@mixin sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
// Use in conjunction with .sr-only to only display content when it's focused.
//
// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
//
// Credit: HTML5 Boilerplate
@mixin sr-only-focusable {
&:active,
&:focus {
position: static;
width: auto;
height: auto;
overflow: visible;
clip: auto;
white-space: normal;
}
}
@mixin invisible($visibility) {
visibility: $visibility !important;
}
// MDB Mixins
@mixin hover-focus-active {
&:hover,
&:focus,
&:active {
@content;
}
}
// Set the color of the button and badge
@function set-notification-text-color($color) {
@if (lightness($color) > 80) {
@return $black-base; // Lighter backgorund, return dark color
}
@else {
@return $white-base; // Darker background, return light color
}
}
// Make button
@mixin make-button ($name, $color) {
.btn-#{$name} {
color: set-notification-text-color($color);
background-color: $color !important;
&:hover {
color: set-notification-text-color($color);
background-color: lighten($color, 5%);
}
&:focus,
&.focus {
box-shadow: $z-depth-1-half;
}
&:focus,
&:active,
&.active {
background-color: darken($color, 20%);
}
&.dropdown-toggle {
background-color: $color !important;
&:hover,
&:focus {
background-color: lighten($color, 5%) !important;
}
}
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active,
.show > &.dropdown-toggle {
background-color: darken($color, 20%) !important;
box-shadow: $z-depth-1-half;
}
&:not([disabled]):not(.disabled):active:focus,
&:not([disabled]):not(.disabled).active:focus,
.show > &.dropdown-toggle:focus {
box-shadow: $z-depth-1-half;
}
}
.#{$name}-ic {
color: $color !important;
&:hover,
&:focus {
color: $color;
}
}
a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
color: set-notification-text-color($color);
}
table {
&.table {
a {
&.btn {
&.btn-#{$name} {
color: set-notification-text-color($color);
}
}
}
}
}
}
// Make outline button
@mixin make-outline-button ($name, $color) {
.btn-outline-#{$name} {
color: $color !important;
background-color: transparent !important;
border: 2px solid $color !important;
&:hover,
&:focus,
&:active,
&:active:focus,
&.active {
color: $color !important;
background-color: transparent !important;
border-color: $color !important;
}
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active,
.show > &.dropdown-toggle {
background-color: transparent !important;
border-color: $color !important;
box-shadow: $z-depth-1-half;
}
&:not([disabled]):not(.disabled):active:focus,
&:not([disabled]):not(.disabled).active:focus,
.show > &.dropdown-toggle:focus {
box-shadow: $z-depth-1-half;
}
}
}
// Make gradient
@mixin make-gradient($name, $value) {
.#{$name}-gradient {
background: linear-gradient(40deg, map-get($value, start), map-get($value, end)) !important;
}
}
$opacity: .9 !default;
// Make gradient
@mixin make-gradient-rgba($name, $value) {
.#{$name}-gradient-rgba {
background: linear-gradient(40deg, map-get($value, start), map-get($value, end)) !important;
}
}
// Make gradient button
@mixin make-gradient-button($name, $value) {
.btn {
&.#{$name}-gradient {
color: $white-base;
transition: .5s ease;
&:hover,
&:focus,
&:active,
&:active:focus &.active {
background: linear-gradient(lighten(map-get($value, start), 5%), lighten(map-get($value, end), 5%));
}
}
}
}
// Button size
@mixin button-size($padding-y, $padding-x, $font-size) {
padding: $padding-y $padding-x;
font-size: $font-size;
}
@mixin make-badge($name, $color) {
.badge-#{$name} {
color: set-notification-text-color($color) !important;
background-color: $color !important;
}
}
// Make input
@mixin make-input($margin-bottom, $label-font-size, $label-active-font-size, $top, $prefix-font-size, $margin-left, $width, $margin-left-2) {
.validate {
margin-bottom: $margin-bottom;
}
label {
font-size: $label-font-size;
&.active {
font-size: $label-active-font-size;
}
}
.prefix {
top: $top;
font-size: $prefix-font-size;
~ input,
~ textarea {
width: $width;
margin-left: $margin-left;
}
~ label {
margin-left: $margin-left;
}
~ .form-text {
margin-left: $margin-left-2;
}
}
}
// Make navbar
@mixin make-navbar($color-0, $background-image, $color, $color-2, $color-3) {
.navbar-nav {
.nav-item {
.nav-link {
&.disbled {
color: $color-0;
&:hover {
color: $color-0;
}
}
}
}
}
.navbar-toggler-icon {
cursor: pointer;
background-image: $background-image;
}
.breadcrumb,
.navbar-nav {
.nav-item {
.nav-link {
color: $color;
transition: $navbar-nav-transition;
&:hover {
color: $color-2;
}
}
&.active > .nav-link {
background-color: $color-3;
&:hover {
color: $color;
}
}
}
}
.navbar-toggler {
color: $color;
}
form {
.md-form {
input {
border-bottom: 1px solid $color;
&:focus:not([readonly]) {
border-color: $input-md-focus-color;
}
}
.form-control {
color: $color;
@include placeholder {
font-weight: $navbar-font-weight;
color: $color;
}
}
}
}
}
// Make floating button
@mixin make-btn-floating($width, $height, $font-size, $line-height) {
width: $width;
height: $height;
i {
font-size: $font-size;
line-height: $line-height;
}
}
// Keyframes
@mixin keyframes($animation-name) {
@keyframes #{$animation-name} {
@content;
}
}
// Scroll bar and scroll spy width and height
@mixin scroll-width($scrollbar-width) {
width: $scrollbar-width;
}
@mixin scroll-height($scrollbar-height) {
height: $scrollbar-height;
}
// Scroll spy font-weight
@mixin scrollspy-font-weight($scrollspy-font-weight) {
font-weight: $scrollspy-font-weight;
}
// Switch width and height
@mixin switch-width-height($switchWidth, $switchHeight) {
width: $switchWidth;
height: $switchHeight;
}
// Make Box-shadows
@mixin box-shadows($shadow...) {
box-shadow: $shadow;
}
// Make Transition
@mixin transition-main($transition...) {
transition: $transition;
}
// Make border-radius scrollspy
@mixin scrollspy-border-radius($scrollspy-radius) {
border-radius: $scrollspy-radius;
}
// Make border-radius scrollspy 4rows
@mixin scrollspy-border-radius-4rows($top-left, $top-right, $bottom-right, $bottom-left) {
border-radius: $top-left $top-right $bottom-right $bottom-left;
}
//Make animation for progresss
@mixin progress-animation-default($animation...) {
animation: $animation;
}
//Make transform
@mixin transform($transform...) {
transform: $transform;
}

View File

@ -0,0 +1,95 @@
// Typography
// Roboto font
@font-face {
font-family: Roboto;
font-weight: 200;
src: local(Roboto Thin), url("#{$roboto-font-path}Roboto-Thin.eot");
src: url("#{$roboto-font-path}Roboto-Thin.eot?#iefix") format("embedded-opentype"), url("#{$roboto-font-path}Roboto-Thin.woff2") format("woff2"), url("#{$roboto-font-path}Roboto-Thin.woff") format("woff"), url("#{$roboto-font-path}Roboto-Thin.ttf") format("truetype");
}
@font-face {
font-family: Roboto;
font-weight: 300;
src: local(Roboto Light), url("#{$roboto-font-path}Roboto-Light.eot");
src: url("#{$roboto-font-path}Roboto-Light.eot?#iefix") format("embedded-opentype"), url("#{$roboto-font-path}Roboto-Light.woff2") format("woff2"), url("#{$roboto-font-path}Roboto-Light.woff") format("woff"), url("#{$roboto-font-path}Roboto-Light.ttf") format("truetype");
}
@font-face {
font-family: Roboto;
font-weight: 400;
src: local(Roboto Regular), url("#{$roboto-font-path}Roboto-Regular.eot");
src: url("#{$roboto-font-path}Roboto-Regular.eot?#iefix") format("embedded-opentype"), url("#{$roboto-font-path}Roboto-Regular.woff2") format("woff2"), url("#{$roboto-font-path}Roboto-Regular.woff") format("woff"), url("#{$roboto-font-path}Roboto-Regular.ttf") format("truetype");
}
@font-face {
font-family: Roboto;
font-weight: 500;
src: url("#{$roboto-font-path}Roboto-Medium.eot");
src: url("#{$roboto-font-path}Roboto-Medium.eot?#iefix") format("embedded-opentype"), url("#{$roboto-font-path}Roboto-Medium.woff2") format("woff2"), url("#{$roboto-font-path}Roboto-Medium.woff") format("woff"), url("#{$roboto-font-path}Roboto-Medium.ttf") format("truetype");
}
@font-face {
font-family: Roboto;
font-weight: 700;
src: url("#{$roboto-font-path}Roboto-Bold.eot");
src: url("#{$roboto-font-path}Roboto-Bold.eot?#iefix") format("embedded-opentype"), url("#{$roboto-font-path}Roboto-Bold.woff2") format("woff2"), url("#{$roboto-font-path}Roboto-Bold.woff") format("woff"), url("#{$roboto-font-path}Roboto-Bold.ttf") format("truetype");
}
// General properties
body {
font-family: $mdb-font-family;
font-weight: $font-weight-light;
}
h1, h2, h3, h4, h5, h6 {
font-weight: $font-weight-light;
}
// Blockquote
.blockquote {
padding: $blockquote-padding-y $blockquote-padding-x;
border-left: .25rem solid #eceeef;
&.text-right {
border-right: .25rem solid #eceeef;
border-left: none;
}
.bq-title {
margin-bottom: 0;
font-size: $font-size-large;
font-weight: 400;
}
p {
padding: $blockquote-p-padding-y 0;
font-size: $blockquote-p-font-size;
}
}
@each $name, $color in $basic {
.bq-#{$name} {
border-left: 3px solid $color !important;
.bq-title {
color: $color !important;
}
}
}
// Responsive headings
@each $key, $val in $grid-breakpoints {
@include media-breakpoint-up($key) {
$y: map-get($responsive-headings, $key);
@each $name, $value in $y {
.#{$name}-responsive {
font-size: $value;
}
}
}
}
@each $name, $color in $basic-mdb-colors {
@include text-emphasis-variant(".text-#{$name}", $color);
}
.font-small {
font-size: $font-size-small;
}

View File

@ -0,0 +1,503 @@
// ===========================================================================
// MDB variables
// ===========================================================================
//
// Table of Contents:
//
// 1. Fonts
// 2. Shadows
// 3. Transitions
// 4. Borders
// 5. Globals
// 6. Masks
// 7. Images
// 8. Buttons
// 9. Cards
// 10. Navbars
// 11. Pagination
// 12. Badges
// 13. Modals
// 14. Carousels
// 15. Forms
// 16. Miscellaneous
// 17. Footers
// 18. List groups
// 19. Tables
// 20. Steppers
// 1. Fonts
// ===========================================================================
// Basic font properties
$roboto-font-path: "../font/roboto/" !default;
$roboto-font-family: "Roboto", sans-serif !default;
$mdb-font-family: $roboto-font-family !default;
$font-size-large: 1.5rem !default;
$font-size-small: .9rem !default;
// Blockquote
$blockquote-padding-y : .5rem !default;
$blockquote-padding-x : 1rem !default;
$blockquote-p-padding-y : $blockquote-padding-x !default;
$blockquote-p-padding-l : 2rem !default;
$blockquote-p-font-size : 1.1rem !default;
// Custom map for file browser
$custom-mdb-file-text : (
es : "Elegir",
pl-pl : "Wybierz",
fr : "Choisir",
in : "Pilih",
zh : "選擇",
de : "Wählen",
ru : "выбирать"
) !default;
// Reponsive Headings
$responsive-headings : () !default;
$responsive-headings : map-merge(
(
"xs" : (
"h1" : 150%,
"h2" : 145%,
"h3" : 135%,
"h4" : 135%,
"h5" : 135%
),
"sm" : (
"h1" : 170%,
"h2" : 140%,
"h3" : 125%,
"h4" : 125%,
"h5" : 125%
),
"md" : (
"h1" : 200%,
"h2" : 170%,
"h3" : 140%,
"h4" : 125%,
"h5" : 125%
),
"lg" : (
"h1" : 200%,
"h2" : 170%,
"h3" : 140%,
"h4" : 125%,
"h5" : 125%
),
"xl" : (
"h1" : 250%,
"h2" : 200%,
"h3" : 170%,
"h4" : 140%,
"h5" : 125%
),
),
$responsive-headings
);
// Links
$link-color : #0275d8 !default;
$link-hover-color : darken($link-color, 15%) !default;
// 2. Shadows
// ===========================================================================
// Shadows
$z-depth-1 : 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12) !default;
$z-depth-1-half : 0 5px 11px 0 rgba(0, 0, 0, .18), 0 4px 15px 0 rgba(0, 0, 0, .15) !default;
$z-depth-2 : 0 8px 17px 0 rgba(0, 0, 0, .2), 0 6px 20px 0 rgba(0, 0, 0, .19) !default;
$z-depth-3 : 0 12px 15px 0 rgba(0, 0, 0, .24), 0 17px 50px 0 rgba(0, 0, 0, .19) !default;
$z-depth-4 : 0 16px 28px 0 rgba(0, 0, 0, .22), 0 25px 55px 0 rgba(0, 0, 0, .21) !default;
$z-depth-5 : 0 27px 24px 0 rgba(0, 0, 0, .2), 0 40px 77px 0 rgba(0, 0, 0, .22) !default;
// 3. Transitions
// ===========================================================================
// Transitions
$transition-basic : all .2s ease-in-out !default;
$transition-hoverable : all .55s ease-in-out !default;
// 4. Borders
// ===========================================================================
// Border radius
$border-radius-base : .125rem !default;
$border-radius-circle : 50% !default;
// 5. Globals
// ===========================================================================
// Media Query Ranges
$small-screen-up : 601px !default;
$medium-screen-up : 993px !default;
$large-screen-up : 1201px !default;
$small-screen : 600px !default;
$medium-screen : 992px !default;
$large-screen : 1200px !default;
$sidenav-breakpoint : 1440px !default;
$medium-and-up : "only screen and (min-width : #{$small-screen-up})" !default;
$large-and-up : "only screen and (min-width : #{$medium-screen-up})" !default;
$small-and-down : "only screen and (max-width : #{$small-screen})" !default;
$medium-and-down : "only screen and (max-width : #{$medium-screen})" !default;
$medium-only : "only screen and (min-width : #{$small-screen-up}) and (max-width : #{$medium-screen})" !default;
$hide-sidenav : "only screen and (max-width : #{$sidenav-breakpoint})" !default;
// Divider
$divider-margin-y : 2.8rem !default;
$divider-margin-x : .5rem !default;
$divider-height : 2px !default;
// Dividers colors
$hr-light : $white-base !default;
$hr-dark : #666 !default;
$flex-center-ul-mb : 1rem !default;
// 6. Masks
// ===========================================================================
// Masks
$mask-overlay-transition : all .4s ease-in-out !default;
$mask-zoom-transition : all .2s linear !default;
$mask-zoom-transform : scale(1.1) !default;
$intro-video-transform : translateX(-50%) translateY(-50%) !default;
$intro-video-transition : 1s !default;
// 7. Images
// ===========================================================================
// Images
$image-path : "../img" !default;
$avatar-img-max-width : 100px !default;
// 8. Buttons
// ===========================================================================
// Buttons
$btn-color-basic : $white-base !default;
$btn-margin-basic : .375rem !default;
$btn-padding-y-basic : .84rem !default;
$btn-padding-x-basic : 2.14rem !default;
$btn-font-size-basic : .81rem !default;
$btn-padding-y-large : 1rem !default;
$btn-padding-x-large : 2.4rem !default;
$btn-font-size-large : .94rem !default;
$btn-padding-y-medium : .7rem !default;
$btn-padding-x-medium : 1.6rem !default;
$btn-font-size-medium : .7rem !default;
$btn-padding-y-small : .5rem !default;
$btn-padding-x-small : 1.6rem !default;
$btn-font-size-small : .64rem !default;
$btn-outline-padding-y-basic : .7rem !default;
$btn-outline-padding-y-large : .88rem !default;
$btn-outline-padding-y-medium : .58rem !default;
$btn-outline-padding-y-small : .38rem !default;
$btn-tb-padding-y : .3rem !default;
$btn-tb-padding-x : 1rem !default;
$btn-transition : $transition-basic !default;
$btn-icon-basic : .9rem !default;
$btn-icon-large : 1rem !default;
$btn-icon-medium : .8rem !default;
$btn-icon-small : .7rem !default;
$btn-icon-margin : .3rem !default;
$btn-group-margin : .375rem !default;
// 9. Cards
// ===========================================================================
// Cards
$md-card-border-radius : .25rem !default;
$md-card-link-transition : .2s ease-in-out !default;
$md-card-font-size : .9rem !default;
$md-card-text-color : #747373 !default;
// 10. Navbars
// ===========================================================================
// Navbars
$navbar-font-weight : 300 !default;
$navbar-double-font-size : 15px !default;
$navbar-light-toggler-icon : url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default;
$navbar-light-bg-active-color : rgba($black-base, .1) !default;
$navbar-light-hover-color : rgba($black-base, .75) !default;
$navbar-light-disabled-color : rgba(0, 0, 0, .5) !default;
$navbar-dark-toggler-icon : url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !default;
$navbar-dark-bg-active-color : rgba($white-base, .1) !default;
$navbar-dark-hover-color : rgba($white-base, .75) !default;
$navbar-dark-disabled-color : rgba(255, 255, 255, .5) !default;
$navbar-scrolling-transition : background .5s ease-in-out, padding .5s ease-in-out !default;
$navbar-scrolling-transition-duration : 1s !default;
$navbar-scrolling-padding : 12px !default;
$navbar-top-collapse-padding : 5px !default;
$navbar-nav-transition : .35s !default;
$navbar-dropdown-font-size : .9375rem !default;
$navbar-dropdown-menu-padding : 10px !default;
$navbar-flex-icons-padding-md : 6px !default;
$navbar-flex-icons-padding-lg : 3px !default;
$navbar-form-input-mr : 5px !default;
$navbar-form-input-mb : 1px !default;
$navbar-form-input-ml : 8px !default;
$navbar-form-input-height : 1rem !default;
$navbar-breadcrumb-padding-top : .3rem !default;
$navbar-breadcrumb-padding-left : 1rem !default;
$navbar-breadcrumb-color : rgba(255, 255, 255, .65) !default;
// 11. Pagination
// ===========================================================================
// Pagination
$pagination-active-transition : all .2s linear !default;
$pagination-page-link-transition : all .3s linear !default;
$pagination-page-link-font-size : .9rem !default;
$pagination-page-link-font-size-lg : 1rem !default;
$pagination-page-link-font-size-sm : .8rem !default;
$pagination-page-item-disabled-color : #868e96 !default;
$pagination-page-link-color : #212529 !default;
$pagination-page-link-hover-bg-color : #eee !default;
$pagination-circle-margin-x : 2px !default;
$pagination-circle-border-radius : $border-radius-circle !default;
// 12. Badges
// ===========================================================================
// Badges
$badge-pill-padding-x : .6rem !default;
$badge-pill-border-radius : 10rem !default;
// 13. Modals
// ===========================================================================
// Modals
$modal-distance : 10px !default;
$modal-width : 400px !default;
$modal-full-height-medium-screen : 800px !default;
$modal-full-height-large-screen : 1000px !default;
$modal-fade-top-transform : translate3d(0, -25%, 0) !default;
$modal-fade-bottom-transform : translate3d(0, 25%, 0) !default;
$modal-fade-right-transform : translate3d(25%, 0, 0) !default;
$modal-fade-left-transform : translate3d(-25%, 0, 0) !default;
$modal-notify-body-padding : 1.5rem !default;
$modal-notify-heading-padding : .3rem !default;
$modal-notify-font-size : 1.15rem !default;
$modal-avatar-margin-top : 6rem !default;
$modal-avatar-header-margin-top : -6rem !default;
$modal-avatar-header-margin-bottom : -1rem !default;
$modal-avatar-img-width : 130px !default;
$modal-body-padding-right : 2rem !default;
$modal-body-padding-left : $modal-body-padding-right !default;
$modal-body-margin-top : 1rem !default;
$cascading-modal-margin-top : -2rem !default;
$cascading-modal-margin-right : 1rem !default;
$cascading-modal-margin-bottom : $cascading-modal-margin-right !default;
$cascading-modal-margin-left : $cascading-modal-margin-right !default;
$cascading-modal-padding : 1.5rem !default;
$cascading-modal-close-margin-right : $cascading-modal-margin-right !default;
$cascading-modal-font-size : 1.25rem !default;
$cascading-modal-fa-margin-right : 9px !default;
$cascading-modal-social-margin-top : $cascading-modal-padding !default;
$cascading-modal-a-font-size : 1rem !default;
$cascading-modal-tabs-margin-x : 1rem !default;
$cascading-modal-tabs-margin-top : -1.5rem !default;
$cascading-modal-tabs-padding-top : 1.7rem !default;
// 14. Carousels
// ===========================================================================
// Carousels
$carousel-control-icon-width : 2.25rem !default;
$carousel-control-icon-height : $carousel-control-icon-width !default;
$carousel-control-prev-icon : url(#{$image-path}/svg/arrow_left.svg) !default;
$carousel-control-next-icon : url(#{$image-path}/svg/arrow_right.svg) !default;
$carousel-indicators-width : .625rem !default;
$carousel-indicators-height : $carousel-indicators-width !default;
$carousel-indicators-border-radius : $border-radius-circle !default;
$carousel-transition-duration : .6s !default;
$carousel-item-transform : translateX(0) !default;
$carousel-item-transform-2 : translate3d(0, 0, 0) !default;
// 15. Forms
// ===========================================================================
// Forms
$input-bg-color : $white-base !default;
$label-font-size : .8rem !default;
$input-transition : all .3s !default;
$input-disabled-color : rgba(0, 0, 0, .46) !default;
$input-md-focus-color : $primary-color !default;
$input-error-color : $error-color !default;
$input-success-color : $success-color !default;
$input-label-after-top : 65px !default;
$input-label-after-transition : .2s opacity ease-out, .2s color ease-out !default;
$input-border-color : #ced4da !default;
$input-label-transition : .2s ease-out !default;
$input-label-color : #757575 !default;
$input-label-top : .65rem !default;
$input-label-active-transform : translateY(-14px) !default;
$input-prefix-transition : color .2s !default;
$input-md-form-margin-top : 1.5rem !default;
$input-md-form-margin-bottom : $input-md-form-margin-top !default;
$input-label-font-size : 1rem !default;
$input-label-active-font-size : 1rem !default;
$input-prefix-top : .25rem !default;
$input-prefix-font-size : 1.75rem !default;
$input-prefix-margin-left : 2.5rem !default;
$input-prefix-width : calc(100% - 2.5rem) !default;
$input-group-addon-font-size : 1.4rem !default;
$input-form-text-ml : 2.6rem !default;
$input-validate-mb : 2.5rem !default;
$input-label-valid-top : 4.1rem !default;
$input-label-invalid-top : 4rem !default;
$input-label-font-size-lg : 1.25rem !default;
$input-label-active-font-size-lg : 1.15rem !default;
$input-prefix-top-lg : .4rem !default;
$input-prefix-font-size-lg : 2rem !default;
$input-prefix-margin-left-lg : 3rem !default;
$input-prefix-width-lg : calc(100% - 3rem) !default;
$input-group-addon-font-size-lg : 1.65rem !default;
$input-form-text-ml-lg : 3.1rem !default;
$input-validate-mb-lg : 2.8rem !default;
$input-label-valid-top-lg : 4.6rem !default;
$input-label-invalid-top-lg : 4.6rem !default;
$input-label-font-size-sm : .875rem !default;
$input-label-active-font-size-sm : .95rem !default;
$input-prefix-top-sm : .35rem !default;
$input-prefix-font-size-sm : 1.5rem !default;
$input-prefix-margin-left-sm : 2rem !default;
$input-prefix-width-sm : calc(100% - 2rem) !default;
$input-group-addon-font-size-sm : 1.15rem !default;
$input-form-text-ml-sm : 2rem !default;
$input-validate-mb-sm : 2.3rem !default;
$input-label-valid-top-sm : 3.7rem !default;
$input-label-invalid-top-sm : 3.6rem !default;
$textarea-padding : 1.5rem !default;
$input-form-control-margin-bottom : .5rem !default;
$input-form-control-padding-top : .6rem !default;
$input-form-control-padding-bottom : .4rem !default;
$input-disabled-solid-color : #bdbdbd !default;
// Input group
$input-group-text-bgc : #e0e0e0 !default;
$input-group-form-control-px : .75rem !default;
$input-group-form-control-py : .375rem !default;
// 16. Miscellaneous
// ===========================================================================
// Miscellaneous
$edge-header-height : 278px !default;
$edge-header-background-color : #ccc !default;
$edge-header-margin-top : -100px !default;
// 17. Footers
// ===========================================================================
// Footers
$footer-copyright-color : rgba($white-base, .6) !default;
$footer-copyright-bg-color : rgba($black-base, .2) !default;
$footer-font-size : .9rem !default;
// 18. List groups
// ===========================================================================
// List group
$list-group-padding : 0 10px 10px 0 !default;
$list-group-transition : .5s !default;
// 19. Tables
// ===========================================================================
// Tables
$table-th-font-size : .9rem !default;
$table-td-font-size : $table-th-font-size !default;
$table-th-padding-top : 1.1rem !default;
$table-td-padding-bottom : 1rem !default;
$table-a-color : #212529 !default;
$table-hover-transition : .5s !default;
$table-hover-background-color : rgba(0, 0, 0, .075) !default;
$table-sm-padding-y : .6rem !default;
$table-inverse-color-border : $white-base !default;
$product-table-img-max-height : 150px !default;
$product-table-img-min-width : 50px !default;
$table-th-lg-min-width : 9rem !default;
$table-th-sm-min-width : 6rem !default;
$table-scroll-vertical-max-height : 300px !default;
$table-label-height : .94rem !default;
$table-label-line-height : $table-label-height !default;
// 20. Steppers
// ===========================================================================
// Steppers
$stepper-li-a-padding : 1.5rem !default;
$stepper-li-a-circle-color : $white !default;
$stepper-li-a-circle-border-radius : $border-radius-circle !default;
$stepper-li-a-circle-bg : rgba($black, .38) !default;
$stepper-li-a-circle-mr : .5rem !default;
$stepper-li-a-label-color : rgba($black, .87) !default;
$stepper-horizontal-li-transition : .5s !default;
$stepper-horizontal-li-a-label-mt : .63rem !default;
$stepper-horizontal-li-after-margin : .5rem !default;
$stepper-horizontal-li-after-height : 1px !default;
$stepper-horizontal-li-after-bgc : rgba($black, .1) !default;
$stepper-horizontal-breakpoint : 47.9375rem !default;
$stepper-horizontal-small-li-a-label-mt : .2rem !default;
$stepper-horizontal-small-li-after-width : $stepper-horizontal-li-after-height !default;
$stepper-horizontal-small-li-after-height : calc(100% - 40px) !default;
$stepper-horizontal-small-li-after-left : 2.19rem !default;
$stepper-horizontal-small-li-after-top : 3.75rem !default;
$stepper-vertical-li-a-label-mt : $stepper-horizontal-small-li-a-label-mt !default;
$stepper-vertical-li-step-content-ml : 3.13rem !default;
$stepper-vertical-li-step-content-padding : .94rem !default;
$stepper-vertical-li-step-content-p-font-size: .88rem !default;
$stepper-vertical-li-after-width : 1px !default;
$stepper-vertical-li-after-height : $stepper-horizontal-small-li-after-height !default;
$stepper-vertical-li-after-left : $stepper-horizontal-small-li-after-left !default;
$stepper-vertical-li-after-top : 3.44rem !default;
$stepper-vertical-li-after-bgc : $stepper-horizontal-li-after-bgc !default;
// 21. Loader / Spinner
// ===========================================================================
// Loader / Spinner
$spinner-border-animation: spinner-border .4s linear infinite !default;
$spinner-grow-animation: spinner-grow .4s linear infinite !default;

View File

@ -0,0 +1,157 @@
/*!
* Waves v0.7.6
* http://fian.my.id/Waves
*
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
* Released under the MIT license
* https://github.com/fians/Waves/blob/master/LICENSE */
@mixin waves-transition($transition){
-webkit-transition: $transition;
-moz-transition: $transition;
-o-transition: $transition;
transition: $transition;
}
@mixin waves-transform($string){
-webkit-transform: $string;
-moz-transform: $string;
-ms-transform: $string;
-o-transform: $string;
transform: $string;
}
@mixin waves-box-shadow($shadow){
-webkit-box-shadow: $shadow;
box-shadow: $shadow;
}
.waves-effect {
position: relative;
overflow: hidden;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
.waves-ripple {
$gradient: rgba(0, 0, 0, .2) 0,rgba(0, 0, 0, .3) 40%,rgba(0, 0, 0, .4) 50%,rgba(0, 0, 0, .5) 60%,rgba(255, 255, 255, 0) 70%;
position: absolute;
width: 100px;
height: 100px;
margin-top: -50px;
margin-left: -50px;
pointer-events: none;
background: rgba(0, 0, 0, .2);
background: radial-gradient($gradient);
border-radius: 50%;
opacity: 0;
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
-o-transition-property: -o-transform, opacity;
transition-property: transform, opacity;
@include waves-transition(all .5s ease-out);
@include waves-transform(scale(0) translate(0,0));
}
&.waves-light .waves-ripple {
$gradient: rgba(255, 255, 255, .2) 0,rgba(255, 255, 255, .3) 40%,rgba(255, 255, 255, .4) 50%,rgba(255, 255, 255, .5) 60%,rgba(255, 255, 255, 0) 70%;
background: rgba(255, 255, 255, .4);
background: radial-gradient($gradient);
}
&.waves-classic .waves-ripple {
background: rgba(0, 0, 0, .2);
}
&.waves-classic.waves-light .waves-ripple {
background: rgba(255, 255, 255, .4);
}
}
.waves-notransition {
@include waves-transition(none #{"!important"});
}
.waves-button,
.waves-circle {
@include waves-transform(translateZ(0));
-webkit-mask-image: -webkit-radial-gradient(circle, #fff 100%, #000 100%);
}
.waves-button,
.waves-button:hover,
.waves-button:visited,
.waves-button-input {
z-index: 1;
font-size: 1em;
line-height: 1em;
color: inherit;
text-align: center;
text-decoration: none;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
background-color: rgba(0, 0, 0, 0);
border: none;
outline: none;
}
.waves-button {
padding: .85em 1.1em;
border-radius: .2em;
}
.waves-button-input {
padding: .85em 1.1em;
margin: 0;
}
.waves-input-wrapper {
position: relative;
display: inline-block;
vertical-align: middle;
border-radius: .2em;
&.waves-button {
padding: 0;
}
.waves-button-input {
position: relative;
top: 0;
left: 0;
z-index: 1;
}
}
.waves-circle {
width: 2.5em;
height: 2.5em;
line-height: 2.5em;
text-align: center;
border-radius: 50%;
}
.waves-float {
-webkit-mask-image: none;
@include waves-box-shadow(0 1px 1.5px 1px rgba(0, 0, 0, .12));
@include waves-transition(all 300ms);
&:active {
@include waves-box-shadow(0 8px 20px 1px rgba(0, 0, 0, .3));
}
}
.waves-block {
display: block;
}
a {
&.waves-effect,
&.waves-light {
display: inline-block;
}
}

View File

@ -0,0 +1,86 @@
// Bootstrap functions
//
// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
// Ascending
// Used to evaluate Sass maps like our grid breakpoints.
@mixin _assert-ascending($map, $map-name) {
$prev-key: null;
$prev-num: null;
@each $key, $num in $map {
@if $prev-num == null or unit($num) == "%" {
// Do nothing
} @else if not comparable($prev-num, $num) {
@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}' !";
} @else if $prev-num >= $num {
@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}' !";
}
$prev-key: $key;
$prev-num: $num;
}
}
// Starts at zero
// Used to ensure the min-width of the lowest breakpoint starts at 0.
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
$values: map-values($map);
$first-value: nth($values, 1);
@if $first-value != 0 {
@warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
}
}
// Replace `$search` with `$replace` in `$string`
// Used on our SVG icon backgrounds for custom forms.
//
// @author Hugo Giraudel
// @param {String} $string - Initial string
// @param {String} $search - Substring to replace
// @param {String} $replace ('') - New value
// @return {String} - Updated string
@function str-replace($string, $search, $replace: "") {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
// Color contrast
@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
$r: red($color);
$g: green($color);
$b: blue($color);
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
@if ($yiq >= $yiq-contrasted-threshold) {
@return $dark;
} @else {
@return $light;
}
}
// Retrieve color Sass maps
@function color($key: "blue") {
@return map-get($colors, $key);
}
@function theme-color($key: "primary") {
@return map-get($theme-colors, $key);
}
@function gray($key: "100") {
@return map-get($grays, $key);
}
// Request a theme color level
@function theme-color-level($color-name: "primary", $level: 0) {
$color: theme-color($color-name);
$color-base: if($level > 0, $black, $white);
$level: abs($level);
@return mix($color-base, $color, $level * $theme-color-interval);
}

View File

@ -0,0 +1,204 @@
// stylelint-disable property-blacklist, scss/dollar-variable-default
// SCSS RFS mixin
//
// Automated font-resizing
//
// See https://github.com/twbs/rfs
// Configuration
// Base font size
$rfs-base-font-size: 1.25rem !default;
$rfs-font-size-unit: rem !default;
// Breakpoint at where font-size starts decreasing if screen width is smaller
$rfs-breakpoint: 1200px !default;
$rfs-breakpoint-unit: px !default;
// Resize font-size based on screen height and width
$rfs-two-dimensional: false !default;
// Factor of decrease
$rfs-factor: 10 !default;
@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {
@error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";
}
// Generate enable or disable classes. Possibilities: false, "enable" or "disable"
$rfs-class: false !default;
// 1 rem = $rfs-rem-value px
$rfs-rem-value: 16 !default;
// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
$rfs-safari-iframe-resize-bug-fix: false !default;
// Disable RFS by setting $enable-responsive-font-sizes to false
$enable-responsive-font-sizes: true !important;
// Cache $rfs-base-font-size unit
$rfs-base-font-size-unit: unit($rfs-base-font-size);
// Remove px-unit from $rfs-base-font-size for calculations
@if $rfs-base-font-size-unit == "px" {
$rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);
}
@else if $rfs-base-font-size-unit == "rem" {
$rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);
}
// Cache $rfs-breakpoint unit to prevent multiple calls
$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
// Remove unit from $rfs-breakpoint for calculations
@if $rfs-breakpoint-unit-cache == "px" {
$rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);
}
@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {
$rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);
}
// Responsive font-size mixin
@mixin rfs($fs, $important: false) {
// Cache $fs unit
$fs-unit: if(type-of($fs) == "number", unit($fs), false);
// Add !important suffix if needed
$rfs-suffix: if($important, " !important", "");
// 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
@if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {
font-size: #{$fs}#{$rfs-suffix};
}
@else {
// Variables for storing static and fluid rescaling
$rfs-static: null;
$rfs-fluid: null;
// Remove px-unit from $fs for calculations
@if $fs-unit == "px" {
$fs: $fs / ($fs * 0 + 1);
}
@else if $fs-unit == "rem" {
$fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);
}
// Set default font-size
@if $rfs-font-size-unit == rem {
$rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};
}
@else if $rfs-font-size-unit == px {
$rfs-static: #{$fs}px#{$rfs-suffix};
}
@else {
@error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
}
// Only add media query if font-size is bigger as the minimum font-size
// If $rfs-factor == 1, no rescaling will take place
@if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {
$min-width: null;
$variable-unit: null;
// Calculate minimum font-size for given font-size
$fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;
// Calculate difference between given font-size and minimum font-size for given font-size
$fs-diff: $fs - $fs-min;
// Base font-size formatting
// No need to check if the unit is valid, because we did that before
$min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);
// If two-dimensional, use smallest of screen width and height
$variable-unit: if($rfs-two-dimensional, vmin, vw);
// Calculate the variable width between 0 and $rfs-breakpoint
$variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};
// Set the calculated font-size.
$rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};
}
// Rendering
@if $rfs-fluid == null {
// Only render static font-size if no fluid font-size is available
font-size: $rfs-static;
}
@else {
$mq-value: null;
// RFS breakpoint formatting
@if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {
$mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};
}
@else if $rfs-breakpoint-unit == px {
$mq-value: #{$rfs-breakpoint}px;
}
@else {
@error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
}
@if $rfs-class == "disable" {
// Adding an extra class increases specificity,
// which prevents the media query to override the font size
&,
.disable-responsive-font-size &,
&.disable-responsive-font-size {
font-size: $rfs-static;
}
}
@else {
font-size: $rfs-static;
}
@if $rfs-two-dimensional {
@media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {
@if $rfs-class == "enable" {
.enable-responsive-font-size &,
&.enable-responsive-font-size {
font-size: $rfs-fluid;
}
}
@else {
font-size: $rfs-fluid;
}
@if $rfs-safari-iframe-resize-bug-fix {
// stylelint-disable-next-line length-zero-no-unit
min-width: 0vw;
}
}
}
@else {
@media (max-width: #{$mq-value}) {
@if $rfs-class == "enable" {
.enable-responsive-font-size &,
&.enable-responsive-font-size {
font-size: $rfs-fluid;
}
}
@else {
font-size: $rfs-fluid;
}
@if $rfs-safari-iframe-resize-bug-fix {
// stylelint-disable-next-line length-zero-no-unit
min-width: 0vw;
}
}
}
}
}
}
// The font-size & responsive-font-size mixin uses RFS to rescale font sizes
@mixin font-size($fs, $important: false) {
@include rfs($fs, $important);
}
@mixin responsive-font-size($fs, $important: false) {
@include rfs($fs, $important);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,207 @@
/*!
* animate.css -http://daneden.me/animate
* Version - 3.7.0
* Licensed under the MIT license - http://opensource.org/licenses/MIT
*
* Copyright (c) 2018 Daniel Eden
*/
.animated {
animation-duration: 1s;
animation-fill-mode: both;
&.infinite {
animation-iteration-count: infinite;
}
&.delay-1s {
animation-delay: 1s;
}
&.delay-2s {
animation-delay: 2s;
}
&.delay-3s {
animation-delay: 3s;
}
&.delay-4s {
animation-delay: 4s;
}
&.delay-5s {
animation-delay: 5s;
}
&.fast {
animation-duration: 800ms;
}
&.faster {
animation-duration: 500ms;
}
&.slow {
animation-duration: 2s;
}
&.slower {
animation-duration: 3s;
}
}
@media (prefers-reduced-motion) {
.animated {
transition: none !important;
animation: unset !important;
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.fadeIn {
animation-name: fadeIn;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
.fadeInDown {
animation-name: fadeInDown;
}
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
.fadeInLeft {
animation-name: fadeInLeft;
}
@keyframes fadeInRight {
from {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
.fadeInRight {
animation-name: fadeInRight;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
.fadeInUp {
animation-name: fadeInUp;
}
@keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
.fadeOut {
animation-name: fadeOut;
}
@keyframes fadeOutDown {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
}
.fadeOutDown {
animation-name: fadeOutDown;
}
@keyframes fadeOutLeft {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
}
.fadeOutLeft {
animation-name: fadeOutLeft;
}
@keyframes fadeOutRight {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
}
.fadeOutRight {
animation-name: fadeOutRight;
}
@keyframes fadeOutUp {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
.fadeOutUp {
animation-name: fadeOutUp;
}

View File

@ -0,0 +1,15 @@
// Badges
.badge {
color: $white !important;
border-radius: $border-radius-base;
box-shadow: $z-depth-1;
}
.badge-pill {
padding-right: $badge-pill-padding-x;
padding-left: $badge-pill-padding-x;
border-radius: $badge-pill-border-radius;
}
@each $name, $color in $basic-mdb-colors {
@include make-badge($name, $color);
}

View File

@ -0,0 +1,102 @@
// Buttons
.btn {
margin: $btn-margin-basic;
color: inherit;
text-transform: uppercase;
word-wrap: break-word;
white-space: normal;
cursor: pointer;
border: 0;
border-radius: $border-radius-base;
box-shadow: $z-depth-1;
transition: $btn-transition;
@include button-size($btn-padding-y-basic, $btn-padding-x-basic, $btn-font-size-basic);
@include hover-focus-active {
outline: 0;
box-shadow: $z-depth-1-half;
}
&.btn-block {
margin: inherit;
}
.fas,
.fab,
.far {
&.right {
margin-left: $btn-icon-margin;
}
&.left {
margin-right: $btn-icon-margin;
}
}
&.btn-lg {
@include button-size($btn-padding-y-large, $btn-padding-x-large, $btn-font-size-large);
}
&.btn-md {
@include button-size($btn-padding-y-medium, $btn-padding-x-medium, $btn-font-size-medium);
}
&.btn-sm {
@include button-size($btn-padding-y-small, $btn-padding-x-small, $btn-font-size-small);
}
&.disabled,
&:disabled {
@include hover-focus-active {
box-shadow: $z-depth-1;
}
}
&[class*="btn-outline-"] {
padding-top: $btn-outline-padding-y-basic;
padding-bottom: $btn-outline-padding-y-basic;
&.btn-lg {
padding-top: $btn-outline-padding-y-large;
padding-bottom: $btn-outline-padding-y-large;
}
&.btn-md {
padding-top: $btn-outline-padding-y-medium;
padding-bottom: $btn-outline-padding-y-medium;
}
&.btn-sm {
padding-top: $btn-outline-padding-y-small;
padding-bottom: $btn-outline-padding-y-small;
}
}
}
.btn-link {
color: $black-base;
background-color: transparent;
box-shadow: none;
@include hover-focus-active {
color: $black-base;
background-color: transparent;
box-shadow: none;
}
}
.btn-group {
> .btn:not(:first-child),
> .btn-group:not(:first-child) {
margin-left: -$btn-group-margin;
}
}
@each $btn_name, $color_value in $mdb-colors {
@include make-button($btn_name, $color_value);
@include make-outline-button($btn_name, $color_value);
}
@each $name, $val in $gradients {
@include make-gradient-button($name, $val);
}
.btn-warning:not(:disabled):not(.disabled).active,
.btn-warning:not(:disabled):not(.disabled):active,
.show > .btn-warning.dropdown-toggle {
color: $white-base;
}

View File

@ -0,0 +1,33 @@
// Cards
.card {
font-weight: 400;
border: 0;
box-shadow: $z-depth-1;
&[class*="border"] {
border: 1px solid $grey-base;
box-shadow: none;
}
.card-body {
h1, h2, h3, h4, h5, h6 {
font-weight: 400;
}
.card-title {
a {
transition: $md-card-link-transition;
&:hover {
transition: $md-card-link-transition;
}
}
}
.card-text {
font-size: $md-card-font-size;
font-weight: 400;
color: $md-card-text-color;
}
}
.md-form {
label {
font-weight: 300;
}
}
}

View File

@ -0,0 +1,50 @@
// Carousels
.carousel {
.carousel-control-prev-icon,
.carousel-control-next-icon {
width: $carousel-control-icon-width;
height: $carousel-control-icon-height;
}
.carousel-control-prev-icon {
background-image: $carousel-control-prev-icon;
}
.carousel-control-next-icon {
background-image: $carousel-control-next-icon;
}
.carousel-indicators {
li {
width: $carousel-indicators-width;
height: $carousel-indicators-height;
cursor: pointer;
border-radius: $carousel-indicators-border-radius;
}
}
}
.carousel-fade {
.carousel-item {
opacity: 0;
transition-duration: $carousel-transition-duration;
transition-property: opacity;
}
.carousel-item.active,
.carousel-item-next.carousel-item-left,
.carousel-item-prev.carousel-item-right {
opacity: 1;
}
.carousel-item-left,
.carousel-item-right {
&.active {
opacity: 0;
}
}
.carousel-item-next,
.carousel-item-prev,
.carousel-item.active,
.carousel-item-left.active,
.carousel-item-prev.active {
transform: $carousel-item-transform;
@supports (transform-style: preserve-3d) {
transform: $carousel-item-transform-2;
}
}
}

View File

@ -0,0 +1,18 @@
// These settings will be only for one version
// Scrolable navbar
/*
.navbar {
&.fixed-top,
&.sticky-top {
.navbar-collapse {
@media (min-width: 400px) and (max-width: 767px),
(min-width: 800px) and (max-width: 850px) {
max-height: 340px;
overflow-x: hidden;
overflow-y: auto;
}
}
}
}
*/

View File

@ -0,0 +1,10 @@
// Dropdowns
.dropdown {
.dropdown-menu {
.dropdown-item {
&:active {
background-color: $grey-darken-1;
}
}
}
}

View File

@ -0,0 +1,18 @@
// Footers
footer {
&.page-footer {
bottom: 0;
color: $white-base;
.container-fluid {
width: auto;
}
.footer-copyright {
overflow: hidden;
color: $footer-copyright-color;
background-color: $footer-copyright-bg-color;
}
a {
color: $white-base;
}
}
}

View File

@ -0,0 +1,626 @@
// Forms basic
// Input + label wrapper styles
.md-form {
// Text inputs
input:not([type]),
input[type="text"]:not(.browser-default),
input[type="password"]:not(.browser-default),
input[type="email"]:not(.browser-default),
input[type="url"]:not(.browser-default),
input[type="time"]:not(.browser-default),
input[type="date"]:not(.browser-default),
input[type="datetime"]:not(.browser-default),
input[type="datetime-local"]:not(.browser-default),
input[type="tel"]:not(.browser-default),
input[type="number"]:not(.browser-default),
input[type="search"]:not(.browser-default),
input[type="search-md"],
textarea.md-textarea {
// General Styles
box-sizing: content-box;
background-color: transparent;
border: none;
border-bottom: 1px solid $input-border-color;
border-radius: 0;
outline: none;
box-shadow: none;
transition: $input-transition;
// Focused input style
&:focus:not([readonly]) {
border-bottom: 1px solid $input-md-focus-color;
box-shadow: 0 1px 0 0 $input-md-focus-color;
// Focused label style
+ label {
color: $input-md-focus-color;
}
}
// Form message shared styles
+ label::after {
position: absolute;
top: $input-label-after-top;
display: block;
content: "";
opacity: 0;
transition: $input-label-after-transition;
}
// Valid input style
&.valid,
&:focus.valid {
border-bottom: 1px solid $input-success-color;
box-shadow: 0 1px 0 0 $input-success-color;
}
&.valid + label:after,
&:focus.valid + label:after {
color: $input-success-color;
content: attr(data-success);
opacity: 1;
}
// Invalid input style
&.invalid,
&:focus.invalid {
border-bottom: 1px solid $input-error-color;
box-shadow: 0 1px 0 0 $input-error-color;
}
&.invalid + label:after,
&:focus.invalid + label:after {
color: $input-error-color;
content: attr(data-error);
opacity: 1;
}
&.form-control.valid + label:after,
&.form-control:focus.valid + label:after {
top: $input-label-valid-top;
}
&.form-control.invalid + label:after,
&.form-control:focus.invalid + label:after {
top: $input-label-invalid-top;
}
&.form-control-lg.valid + label:after,
&.form-control-lg:focus.valid + label:after {
top: $input-label-valid-top-lg;
}
&.form-control-lg.invalid + label:after,
&.form-control-lg:focus.invalid + label:after {
top: $input-label-invalid-top-lg;
}
&.form-control-sm.valid + label:after,
&.form-control-sm:focus.valid + label:after {
top: $input-label-valid-top-sm;
}
&.form-control-sm.invalid + label:after,
&.form-control-sm:focus.invalid + label:after {
top: $input-label-invalid-top-sm;
}
}
> input[type="date"]:not(.browser-default) + label {
transform: translateY(-27px) scale(.8);
transform-origin: 0 0;
}
> input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
> input[type="time"]:not(.browser-default) + label {
font-size: .8rem;
transform: translateY(-25px);
transform-origin: 0 0;
}
.was-validated {
input[type="text"] {
&:valid {
+ label {
color: $input-success-color !important;
}
}
&:invalid {
+ label {
color: $input-error-color !important;
}
}
}
.form-control {
&:valid:focus {
box-shadow: 0 1px 0 0 $input-success-color !important;
}
&:valid {
border-color: $input-success-color !important;
}
&:invalid:focus {
box-shadow: 0 1px 0 0 $input-error-color !important;
}
&:invalid {
border-color: $input-error-color !important;
}
}
}
// Input with label
.form-control {
height: auto;
padding: $input-form-control-padding-top 0 $input-form-control-padding-bottom 0;
margin: 0 0 $input-form-control-margin-bottom 0;
background-color: transparent;
border-radius: 0;
&:focus {
box-shadow: none;
}
&:disabled,
&[readonly] {
background-color: transparent;
border-bottom: 1px solid $grey-lighten-1;
}
&.is-valid {
border-color: $input-success-color;
&:focus {
border-color: $input-success-color !important;
box-shadow: 0 1px 0 0 $input-success-color !important;
}
}
&.is-invalid {
border-color: $input-error-color;
&:focus {
border-color: $input-error-color !important;
box-shadow: 0 1px 0 0 $input-error-color !important;
}
}
&.is-valid,
&.is-invalid {
background-position: center right !important;
}
}
@include make-input($input-validate-mb, $input-label-font-size, $input-label-active-font-size, $input-prefix-top, $input-prefix-font-size, $input-prefix-margin-left, $input-prefix-width, $input-form-text-ml);
position: relative;
margin-top: $input-md-form-margin-top;
margin-bottom: $input-md-form-margin-bottom;
label {
position: absolute;
top: 0;
left: 0;
font-size: 1rem;
color: $input-label-color;
cursor: text;
transition: transform .2s ease-out, color .2s ease-out;
transform: translateY(12px);
transform-origin: 0% 100%;
&.active {
transform: translateY(-14px) scale(.8);
}
}
.prefix {
position: absolute;
transition: $input-prefix-transition;
&.active {
color: $input-md-focus-color;
}
}
&.form-lg {
@include make-input($input-validate-mb-lg, $input-label-font-size-lg, $input-label-active-font-size-lg, $input-prefix-top-lg, $input-prefix-font-size-lg, $input-prefix-margin-left-lg, $input-prefix-width-lg, $input-form-text-ml-lg);
}
&.form-sm {
@include make-input($input-validate-mb-sm, $input-label-font-size-sm, $input-label-active-font-size-sm, $input-prefix-top-sm, $input-prefix-font-size-sm, $input-prefix-margin-left-sm, $input-prefix-width-sm, $input-form-text-ml-sm);
}
// Textarea
textarea {
&.md-textarea {
padding: $textarea-padding 0;
overflow-y: hidden;
}
&.md-textarea-auto {
padding: 0;
padding-top: $textarea-padding;
}
// Label color for textarea
// ~ label {
// &.active {
// color: $input-md-focus-color;
// }
// }
}
&.md-outline {
position: relative;
margin-top: 1.5rem;
margin-bottom: 1.5rem;
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="time"],
input[type="date"],
input[type="datetime-local"],
input[type="tel"],
input[type="number"],
input[type="search-md"],
input[type="search"],
textarea.md-textarea {
// General Styles
box-sizing: border-box;
background-color: transparent;
border: 1px solid #dadce0;
border-radius: 4px;
outline: none;
box-shadow: none;
transition: all .3s;
// Focused input style
&:focus:not([readonly]) {
border-color: #4285f4;
box-shadow: inset 0 0 0 1px #4285f4;
// Focused label style
+ label {
color: #4285f4;
}
}
// Valid input style
&.valid,
&:focus.valid {
border-color: $input-success-color;
box-shadow: inset 0 0 0 1px $input-success-color;
}
&:focus:not([readonly]).valid + label,
&.valid + label:after,
&:focus.valid + label:after {
color: $input-success-color;
content: attr(data-success);
opacity: 1;
}
// Invalid input style
&.invalid,
&:focus.invalid {
border-color: $input-error-color;
box-shadow: inset 0 0 0 1px $input-error-color;
}
&:focus:not([readonly]).invalid + label,
&.invalid + label:after,
&:focus.invalid + label:after {
color: $input-error-color;
content: attr(data-error);
opacity: 1;
}
&.form-control.valid + label:after,
&.form-control:focus.valid + label:after {
position: absolute;
top: 4rem;
left: 0;
}
&.form-control.invalid + label:after,
&.form-control:focus.invalid + label:after {
position: absolute;
top: 4rem;
left: 0;
}
}
> input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
> input[type="time"]:not(.browser-default) + label {
left: 8px;
padding-right: 5px;
padding-left: 5px;
font-size: 1rem;
font-weight: 500;
background: #fff;
transform: translateY(-9px) scale(.8);
transform-origin: 0 0;
}
> input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label.active,
> input[type="time"]:not(.browser-default) + label.active {
transform: translateY(-9px) scale(.8);
transform-origin: 0 0;
}
@-webkit-keyframes autofill {
to {
color: #495057;
background: transparent;
}
}
@keyframes autofill {
to {
color: #495057;
background: transparent;
}
}
input:-webkit-autofill {
-webkit-animation-name: autofill;
animation-name: autofill;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.form-control {
padding: .375rem .75rem;
}
label {
position: absolute;
top: 0;
left: 0;
padding-left: 10px;
font-size: 1rem;
color: #757575;
cursor: text;
transition: transform .2s ease-out, color .2s ease-out;
transform: translateY(9px);
transform-origin: 0% 100%;
&.active {
left: 8px;
padding-right: 5px;
padding-left: 5px;
font-weight: 500;
background: #fff;
transform: translateY(-13px) scale(.8);
}
}
&.form-lg {
.form-control {
&.form-control-lg {
padding: .5rem .725rem;
}
}
label {
font-size: 1.25rem;
transform: translateY(10px);
&.active {
font-size: 1.1rem;
transform: translateY(-14px) scale(.8);
}
}
.prefix {
top: .65rem;
font-size: 25px;
~ input,
~ textarea {
width: calc(100% - 2.2rem);
margin-left: 2.2rem;
}
~ label {
margin-left: 2.2rem;
}
~ .form-text {
margin-left: 2.3rem;
}
}
}
&.form-sm {
.form-control {
&.form-control-sm {
padding: .25rem .625rem;
}
}
label {
font-size: .8rem;
transform: translateY(8px);
&.active {
font-size: .85rem;
transform: translateY(-12px) scale(.8);
}
}
.prefix {
top: .5rem;
font-size: 15px;
~ input,
~ textarea {
width: calc(100% - 1.6rem);
margin-left: 1.6rem;
}
~ label {
margin-left: 1.6rem;
}
~ .form-text {
margin-left: 1.7rem;
}
}
}
.prefix {
position: absolute;
top: .6rem;
font-size: 20px;
transition: color .2s;
&:focus {
color: #4285f4;
}
~ input,
~ textarea {
width: calc(100% - 2rem);
margin-left: 2rem;
}
~ label {
margin-left: 2rem;
}
~ .form-text {
margin-left: 2.1rem;
}
}
.character-counter {
margin-top: -.5rem;
}
}
&.md-bg {
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="time"],
input[type="date"],
input[type="datetime-local"],
input[type="tel"],
input[type="number"],
input[type="search-md"],
input[type="search"],
textarea.md-textarea {
&:focus:not([readonly]) {
border-bottom: none;
box-shadow: none;
}
box-sizing: border-box;
padding: 10px 5px;
background: #f5f5f5 no-repeat;
background-image: linear-gradient(to bottom, $input-md-focus-color, $input-md-focus-color), linear-gradient(to bottom, $input-border-color, $input-border-color);
background-position: 50% 100%, 50% 100%;
background-size: 0 2px, 100% 1px;
border: 0;
border-top-left-radius: .3rem;
border-top-right-radius: .3rem;
transition: background-size .3s cubic-bezier(.64, .09, .08, 1);
&:focus {
background-color: #dcdcdc;
background-size: 100% 2px, 100% 1px;
outline: none;
}
}
> input[type="date"]:not(.browser-default) + label {
transform: translateY(-12px) scale(.8);
transform-origin: 0 0;
}
> input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
> input[type="time"]:not(.browser-default) + label {
font-size: .8rem;
transform: translateY(-12px);
transform-origin: 0 0;
}
.form-control {
padding: 1.1rem .7rem .4rem !important;
}
label {
top: 0;
padding-left: .7rem;
font-size: 1rem;
transition: transform .2s ease-out, color .2s ease-out;
transform: translateY(13px);
transform-origin: 0% 100%;
&.active {
padding-left: .75rem;
font-weight: 500;
transform: translateY(-3px) scale(.8);
}
}
&.form-lg {
label {
transform: translateY(16px);
&.active {
transform: translateY(-4px) scale(.8);
}
}
}
&.form-sm {
label {
transform: translateY(11px);
&.active {
transform: translateY(-2px) scale(.8);
}
}
}
}
}
.md-form .form-control.is-invalid,
.was-validated .md-form .form-control:invalid {
padding-right: 0;
}
.md-form .form-control.is-valid,
.was-validated .md-form .form-control:valid {
padding-right: 0;
}
.needs-validation .md-form label {
left: .3rem;
}
// Custom file input browser support
@each $lang,
$text in $custom-mdb-file-text {
.custom-file-input {
&:lang(#{$lang}) {
& ~ .custom-file-label {
&::after {
content: $text;
}
}
}
}
}

View File

@ -0,0 +1,21 @@
// Input group
.md-form {
&.input-group {
label {
top: 0;
margin-bottom: 0;
}
.input-group-text {
background-color: $input-group-text-bgc;
&.md-addon {
font-weight: 500;
background-color: transparent;
border: none;
}
}
.form-control {
padding: $input-group-form-control-py $input-group-form-control-px;
margin: 0;
}
}
}

View File

@ -0,0 +1,33 @@
// List group
.media {
.media-left {
padding: $list-group-padding;
img {
box-shadow: $z-depth-1;
}
}
}
.list-group {
.list-group-item {
&:first-child {
border-top-left-radius: $border-radius-base;
border-top-right-radius: $border-radius-base;
}
&:last-child {
border-bottom-right-radius: $border-radius-base;
border-bottom-left-radius: $border-radius-base;
}
}
a,
button {
transition: $list-group-transition;
&:hover {
transition: $list-group-transition;
}
}
}

View File

@ -0,0 +1,9 @@
// Loader / Spinner
.fast {
&.spinner-border {
animation: $spinner-border-animation;
}
&.spinner-grow {
animation: $spinner-grow-animation;
}
}

View File

@ -0,0 +1,293 @@
// Modals
// Styles for body
body {
&.modal-open {
padding-right: 0 !important;
overflow: auto;
}
&.scrollable {
overflow-y: auto;
}
}
// *** ENHANCED BOOTSTRAP MODALS ***///
// General styles
.modal-dialog {
.modal-content {
border: 0;
border-radius: $border-radius-base;
box-shadow: $z-depth-1-half;
.modal-header {
border-top-left-radius: $border-radius-base;
border-top-right-radius: $border-radius-base;
}
}
// Cascading modals
&.cascading-modal {
margin-top: 10%;
.close {
color: $white-base;
text-shadow: none;
outline: 0;
opacity: 1;
}
// Cascading header
.modal-header {
padding: $cascading-modal-padding;
margin: $cascading-modal-margin-top $cascading-modal-margin-right $cascading-modal-margin-bottom $cascading-modal-margin-left;
text-align: center;
border: none;
border-radius: $border-radius-base;
box-shadow: $z-depth-1-half;
.close {
margin-right: $cascading-modal-close-margin-right;
}
.title {
width: 100%;
margin-bottom: 0;
font-size: $cascading-modal-font-size;
.fas, .fab, .far {
margin-right: $cascading-modal-fa-margin-right;
}
}
.social-buttons {
margin-top: $cascading-modal-social-margin-top;
a {
font-size: $cascading-modal-a-font-size;
}
}
}
// Cascading tabs nav
.modal-c-tabs {
.md-tabs {
display: flex;
margin: $cascading-modal-tabs-margin-top $cascading-modal-tabs-margin-x 0 $cascading-modal-tabs-margin-x;
box-shadow: $z-depth-1;
li {
flex: 1;
a {
text-align: center;
}
}
}
.tab-content {
padding: $cascading-modal-tabs-padding-top 0 0 0;
}
/*
.md-tabs {
border-radius: $md-card-border-radius;
.nav-item {
.nav-link {
border-radius: $md-card-border-radius;
background-color: inherit;
color: $white-base;
}
}
}
*/
}
// Footer customization
.modal-body,
.modal-footer {
padding-right: $modal-body-padding-right;
padding-left: $modal-body-padding-left;
color: $grey-darken-2;
.additional-option {
margin-top: $modal-body-margin-top;
text-align: center;
}
}
// Cascading avatar
&.modal-avatar {
margin-top: $modal-avatar-margin-top;
.modal-header {
@extend .img-fluid;
margin: $modal-avatar-header-margin-top 0 $modal-avatar-header-margin-bottom;
box-shadow: none;
img {
width: $modal-avatar-img-width;
margin-right: auto;
margin-left: auto;
box-shadow: $z-depth-2;
}
}
}
}
// Modal notify
&.modal-notify {
.heading {
padding: $modal-notify-heading-padding;
margin: 0;
font-size: $modal-notify-font-size;
color: $white-base;
}
.modal-header {
border: 0;
box-shadow: $z-depth-1;
}
.close {
opacity: 1;
}
.modal-body {
padding: $modal-notify-body-padding;
color: $grey-darken-2;
}
@each $name, $color in $basic {
&.modal-#{$name} {
.modal-header {
background-color: $color;
}
.fas, .fab, .far {
color: $color;
}
.badge {
background-color: $color;
}
.btn {
.fas,
.fab,
.far {
color: #fff;
}
&.btn-outline-#{$name} {
.fas,
.fab,
.far {
color: $color;
}
}
}
}
}
}
}
// Position & Size
.modal {
padding-right: 0 !important;
.modal-dialog {
@media (min-width: 768px) {
&.modal-top {
top: 0;
}
&.modal-left {
left: 0;
}
&.modal-right {
right: 0;
}
&.modal-bottom {
bottom: 0;
}
&.modal-top-left {
top: $modal-distance;
left: $modal-distance;
}
&.modal-top-right {
top: $modal-distance;
right: $modal-distance;
}
&.modal-bottom-left {
bottom: $modal-distance;
left: $modal-distance;
}
&.modal-bottom-right {
right: $modal-distance;
bottom: $modal-distance;
}
}
}
&.fade {
&.top:not(.show) .modal-dialog {
transform: $modal-fade-top-transform;
}
&.left:not(.show) .modal-dialog {
transform: $modal-fade-left-transform;
}
&.right:not(.show) .modal-dialog {
transform: $modal-fade-right-transform;
}
&.bottom:not(.show) .modal-dialog {
transform: $modal-fade-bottom-transform;
}
}
@media (min-width: $medium-screen) {
&.modal-scrolling {
position: relative;
.modal-dialog {
position: fixed;
z-index: 1050;
}
}
&.modal-content-clickable {
top: auto;
bottom: auto;
.modal-dialog {
position: fixed;
}
}
.modal-fluid {
width: 100%;
max-width: 100%;
.modal-content {
width: 100%;
}
}
.modal-frame {
position: absolute;
width: 100%;
max-width: 100% !important;
margin: 0 !important;
&.modal-bottom {
bottom: 0;
}
}
.modal-full-height {
position: absolute;
top: 0;
right: 0;
display: flex;
width: $modal-width;
height: auto;
min-height: 100%;
margin: 0;
&.modal-top,
&.modal-bottom {
display: block;
width: 100%;
max-width: 100%;
height: auto;
}
&.modal-top {
bottom: auto;
}
&.modal-bottom {
top: auto;
min-height: 0;
}
.modal-content {
width: 100%;
}
&.modal-lg {
width: 90%;
max-width: 90%;
@media (min-width: $medium-screen) {
width: $modal-full-height-medium-screen;
max-width: $modal-full-height-medium-screen;
}
@media (min-width: $large-screen) {
width: $modal-full-height-large-screen;
max-width: $modal-full-height-large-screen;
}
}
}
.modal-side {
position: absolute;
right: $modal-distance;
bottom: $modal-distance;
width: $modal-width;
margin: 0;
}
}
}

View File

@ -0,0 +1,125 @@
// Miscellaneous
// Edge Headers
.edge-header {
display: block;
height: $edge-header-height;
background-color: $edge-header-background-color;
}
.free-bird {
margin-top: $edge-header-margin-top;
}
// Additional gradients
.juicy-peach-gradient {
background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 100%);
}
.young-passion-gradient {
background-image: linear-gradient(to right, #ff8177 0%, #ff867a 0%, #ff8c7f 21%, #f99185 52%, #cf556c 78%, #b12a5b 100%);
}
.lady-lips-gradient {
background-image: linear-gradient(to top, #ff9a9e 0%, #fecfef 99%, #fecfef 100%);
}
.sunny-morning-gradient {
background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
}
.rainy-ashville-gradient {
background-image: linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%);
}
.frozen-dreams-gradient {
background-image: linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%);
}
.warm-flame-gradient {
background-image: linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
}
.night-fade-gradient {
background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);
}
.spring-warmth-gradient {
background-image: linear-gradient(to top, #fad0c4 0%, #ffd1ff 100%);
}
.winter-neva-gradient {
background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
}
.dusty-grass-gradient {
background-image: linear-gradient(120deg, #d4fc79 0%, #96e6a1 100%);
}
.tempting-azure-gradient {
background-image: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%);
}
.heavy-rain-gradient {
background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%);
}
.amy-crisp-gradient {
background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);
}
.mean-fruit-gradient {
background-image: linear-gradient(120deg, #fccb90 0%, #d57eeb 100%);
}
.deep-blue-gradient {
background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
}
.ripe-malinka-gradient {
background-image: linear-gradient(120deg, #f093fb 0%, #f5576c 100%);
}
.cloudy-knoxville-gradient {
background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);
}
.morpheus-den-gradient {
background-image: linear-gradient(to top, #30cfd0 0%, #330867 100%);
}
.rare-wind-gradient {
background-image: linear-gradient(to top, #a8edea 0%, #fed6e3 100%);
}
.near-moon-gradient {
background-image: linear-gradient(to top, #5ee7df 0%, #b490ca 100%);
}
.schedule-list {
.hr-bold {
border-top: 2px solid #212529;
}
.font-smaller {
font-size: .8rem;
}
}
.note {
padding: 10px;
border-left: 6px solid;
border-radius: 5px;
strong {
font-weight: 600;
}
p {
font-weight: 500;
}
}
@each $name, $color in $note {
.note-#{$name} {
background-color: map-get($color, bgc);
border-color: map-get($color, border-color);
}
}

View File

@ -0,0 +1,101 @@
// Navbars
.navbar {
font-weight: $navbar-font-weight;
box-shadow: $z-depth-1;
form {
.md-form {
input {
margin: 0 $navbar-form-input-mr $navbar-form-input-mb $navbar-form-input-ml;
}
}
}
.breadcrumb {
padding: $navbar-breadcrumb-padding-top 0 0 $navbar-breadcrumb-padding-left;
margin: 0;
font-size: $navbar-double-font-size;
font-weight: $navbar-font-weight;
background-color: inherit;
.breadcrumb-item {
color: $white-base;
&.active {
color: $navbar-breadcrumb-color;
}
&:before {
color: $navbar-breadcrumb-color;
}
}
}
.navbar-toggler {
border-width: 0;
outline: 0;
}
.nav-flex-icons {
flex-direction: row;
}
.container {
@media (max-width: $medium-screen) {
width: 100%;
.navbar-toggler-right {
right: 0;
}
}
}
.nav-item {
.nav-link {
display: block;
&.disabled {
&:active {
pointer-events: none;
}
}
.fas, .fab, .far {
padding-right: $navbar-flex-icons-padding-lg;
padding-left: $navbar-flex-icons-padding-lg;
}
@media (max-width: $medium-screen) {
padding-right: $navbar-flex-icons-padding-md;
padding-left: $navbar-flex-icons-padding-md;
}
}
}
.dropdown-menu {
position: absolute !important;
margin-top: 0;
a {
padding: $navbar-dropdown-menu-padding;
font-size: $navbar-dropdown-font-size;
font-weight: $navbar-font-weight;
&:not(.active) {
color: $black;
}
}
form {
@media (max-width: $small-screen) {
width: 17rem;
}
@media (min-width: $small-screen) {
width: 22rem;
}
}
}
&.navbar-light {
@include make-navbar($navbar-light-disabled-color, $navbar-light-toggler-icon, $black, $navbar-light-hover-color, $navbar-light-bg-active-color);
}
&.navbar-dark {
@include make-navbar($navbar-dark-disabled-color, $navbar-dark-toggler-icon, $white, $navbar-dark-hover-color, $navbar-dark-bg-active-color);
}
&.scrolling-navbar {
@media (min-width: $small-screen) {
padding-top: $navbar-scrolling-padding;
padding-bottom: $navbar-scrolling-padding;
transition: $navbar-scrolling-transition;
.navbar-nav > li {
transition-duration: $navbar-scrolling-transition-duration;
}
&.top-nav-collapse {
padding-top: $navbar-top-collapse-padding;
padding-bottom: $navbar-top-collapse-padding;
}
}
}
}

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