init
This commit is contained in:
		
							
								
								
									
										15
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | ||||
| # top-most EditorConfig file | ||||
| root = true | ||||
|  | ||||
| # Unix-style newlines with a newline ending every file | ||||
| [*] | ||||
| end_of_line = lf | ||||
| insert_final_newline = true | ||||
|  | ||||
| # Matches multiple files with brace expansion notation | ||||
| # Set default charset | ||||
| [*] | ||||
| charset = utf-8 | ||||
|  | ||||
| # Tab indentation (no size specified) | ||||
| indent_style = tab | ||||
							
								
								
									
										31
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| .DS_Store | ||||
|  | ||||
| application/cache/* | ||||
| !application/cache/index.html | ||||
|  | ||||
| application/logs/* | ||||
| !application/logs/index.html | ||||
|  | ||||
| !application/*/.htaccess | ||||
|  | ||||
| composer.lock | ||||
|  | ||||
| user_guide_src/build/* | ||||
| user_guide_src/cilexer/build/* | ||||
| user_guide_src/cilexer/dist/* | ||||
| user_guide_src/cilexer/pycilexer.egg-info/* | ||||
| /vendor/ | ||||
|  | ||||
| # IDE Files | ||||
| #------------------------- | ||||
| /nbproject/ | ||||
| .idea/* | ||||
|  | ||||
| ## Sublime Text cache files | ||||
| *.tmlanguage.cache | ||||
| *.tmPreferences.cache | ||||
| *.stTheme.cache | ||||
| *.sublime-workspace | ||||
| *.sublime-project | ||||
| /tests/tests/ | ||||
| /tests/results/ | ||||
							
								
								
									
										6
									
								
								.htaccess
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.htaccess
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| <IfModule mod_rewrite.c> | ||||
| RewriteEngine On | ||||
| RewriteCond %{REQUEST_FILENAME} !-f | ||||
| RewriteCond %{REQUEST_FILENAME} !-d | ||||
| RewriteRule ^(.*)$ index.php/$1 [L] | ||||
| </IfModule> | ||||
							
								
								
									
										6
									
								
								application/.htaccess
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								application/.htaccess
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| <IfModule authz_core_module> | ||||
|     Require all denied | ||||
| </IfModule> | ||||
| <IfModule !authz_core_module> | ||||
|     Deny from all | ||||
| </IfModule> | ||||
							
								
								
									
										11
									
								
								application/cache/index.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/cache/index.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										135
									
								
								application/config/autoload.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								application/config/autoload.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,135 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| | AUTO-LOADER | ||||
| | ------------------------------------------------------------------- | ||||
| | This file specifies which systems should be loaded by default. | ||||
| | | ||||
| | In order to keep the framework as light-weight as possible only the | ||||
| | absolute minimal resources are loaded by default. For example, | ||||
| | the database is not connected to automatically since no assumption | ||||
| | is made regarding whether you intend to use it.  This file lets | ||||
| | you globally define which systems you would like loaded with every | ||||
| | request. | ||||
| | | ||||
| | ------------------------------------------------------------------- | ||||
| | Instructions | ||||
| | ------------------------------------------------------------------- | ||||
| | | ||||
| | These are the things you can load automatically: | ||||
| | | ||||
| | 1. Packages | ||||
| | 2. Libraries | ||||
| | 3. Drivers | ||||
| | 4. Helper files | ||||
| | 5. Custom config files | ||||
| | 6. Language files | ||||
| | 7. Models | ||||
| | | ||||
| */ | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Packages | ||||
| | ------------------------------------------------------------------- | ||||
| | Prototype: | ||||
| | | ||||
| |  $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared'); | ||||
| | | ||||
| */ | ||||
| $autoload['packages'] = array(); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Libraries | ||||
| | ------------------------------------------------------------------- | ||||
| | These are the classes located in system/libraries/ or your | ||||
| | application/libraries/ directory, with the addition of the | ||||
| | 'database' library, which is somewhat of a special case. | ||||
| | | ||||
| | Prototype: | ||||
| | | ||||
| |	$autoload['libraries'] = array('database', 'email', 'session'); | ||||
| | | ||||
| | You can also supply an alternative library name to be assigned | ||||
| | in the controller: | ||||
| | | ||||
| |	$autoload['libraries'] = array('user_agent' => 'ua'); | ||||
| */ | ||||
| $autoload['libraries'] = array('template'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Drivers | ||||
| | ------------------------------------------------------------------- | ||||
| | These classes are located in system/libraries/ or in your | ||||
| | application/libraries/ directory, but are also placed inside their | ||||
| | own subdirectory and they extend the CI_Driver_Library class. They | ||||
| | offer multiple interchangeable driver options. | ||||
| | | ||||
| | Prototype: | ||||
| | | ||||
| |	$autoload['drivers'] = array('cache'); | ||||
| | | ||||
| | You can also supply an alternative property name to be assigned in | ||||
| | the controller: | ||||
| | | ||||
| |	$autoload['drivers'] = array('cache' => 'cch'); | ||||
| | | ||||
| */ | ||||
| $autoload['drivers'] = array(); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Helper Files | ||||
| | ------------------------------------------------------------------- | ||||
| | Prototype: | ||||
| | | ||||
| |	$autoload['helper'] = array('url', 'file'); | ||||
| */ | ||||
| $autoload['helper'] = array('url','path'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Config files | ||||
| | ------------------------------------------------------------------- | ||||
| | Prototype: | ||||
| | | ||||
| |	$autoload['config'] = array('config1', 'config2'); | ||||
| | | ||||
| | NOTE: This item is intended for use ONLY if you have created custom | ||||
| | config files.  Otherwise, leave it blank. | ||||
| | | ||||
| */ | ||||
| $autoload['config'] = array(); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Language files | ||||
| | ------------------------------------------------------------------- | ||||
| | Prototype: | ||||
| | | ||||
| |	$autoload['language'] = array('lang1', 'lang2'); | ||||
| | | ||||
| | NOTE: Do not include the "_lang" part of your file.  For example | ||||
| | "codeigniter_lang.php" would be referenced as array('codeigniter'); | ||||
| | | ||||
| */ | ||||
| $autoload['language'] = array(); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| |  Auto-load Models | ||||
| | ------------------------------------------------------------------- | ||||
| | Prototype: | ||||
| | | ||||
| |	$autoload['model'] = array('first_model', 'second_model'); | ||||
| | | ||||
| | You can also supply an alternative model name to be assigned | ||||
| | in the controller: | ||||
| | | ||||
| |	$autoload['model'] = array('first_model' => 'first'); | ||||
| */ | ||||
| $autoload['model'] = array(); | ||||
							
								
								
									
										523
									
								
								application/config/config.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										523
									
								
								application/config/config.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,523 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Base Site URL | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | URL to your CodeIgniter root. Typically this will be your base URL, | ||||
| | WITH a trailing slash: | ||||
| | | ||||
| |	http://example.com/ | ||||
| | | ||||
| | WARNING: You MUST set this value! | ||||
| | | ||||
| | If it is not set, then CodeIgniter will try guess the protocol and path | ||||
| | your installation, but due to security concerns the hostname will be set | ||||
| | to $_SERVER['SERVER_ADDR'] if available, or localhost otherwise. | ||||
| | The auto-detection mechanism exists only for convenience during | ||||
| | development and MUST NOT be used in production! | ||||
| | | ||||
| | If you need to allow multiple domains, remember that this file is still | ||||
| | a PHP script and you can easily do that on your own. | ||||
| | | ||||
| */ | ||||
| $config['base_url'] = 'http://localhost/toko/'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Index File | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Typically this will be your index.php file, unless you've renamed it to | ||||
| | something else. If you are using mod_rewrite to remove the page set this | ||||
| | variable so that it is blank. | ||||
| | | ||||
| */ | ||||
| $config['index_page'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | URI PROTOCOL | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This item determines which server global should be used to retrieve the | ||||
| | URI string.  The default setting of 'REQUEST_URI' works for most servers. | ||||
| | If your links do not seem to work, try one of the other delicious flavors: | ||||
| | | ||||
| | 'REQUEST_URI'    Uses $_SERVER['REQUEST_URI'] | ||||
| | 'QUERY_STRING'   Uses $_SERVER['QUERY_STRING'] | ||||
| | 'PATH_INFO'      Uses $_SERVER['PATH_INFO'] | ||||
| | | ||||
| | WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded! | ||||
| */ | ||||
| $config['uri_protocol']	= 'REQUEST_URI'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | URL suffix | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This option allows you to add a suffix to all URLs generated by CodeIgniter. | ||||
| | For more information please see the user guide: | ||||
| | | ||||
| | https://codeigniter.com/user_guide/general/urls.html | ||||
| */ | ||||
| $config['url_suffix'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Default Language | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This determines which set of language files should be used. Make sure | ||||
| | there is an available translation if you intend to use something other | ||||
| | than english. | ||||
| | | ||||
| */ | ||||
| $config['language']	= 'english'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Default Character Set | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This determines which character set is used by default in various methods | ||||
| | that require a character set to be provided. | ||||
| | | ||||
| | See http://php.net/htmlspecialchars for a list of supported charsets. | ||||
| | | ||||
| */ | ||||
| $config['charset'] = 'UTF-8'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Enable/Disable System Hooks | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | If you would like to use the 'hooks' feature you must enable it by | ||||
| | setting this variable to TRUE (boolean).  See the user guide for details. | ||||
| | | ||||
| */ | ||||
| $config['enable_hooks'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Class Extension Prefix | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This item allows you to set the filename/classname prefix when extending | ||||
| | native libraries.  For more information please see the user guide: | ||||
| | | ||||
| | https://codeigniter.com/user_guide/general/core_classes.html | ||||
| | https://codeigniter.com/user_guide/general/creating_libraries.html | ||||
| | | ||||
| */ | ||||
| $config['subclass_prefix'] = 'MY_'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Composer auto-loading | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Enabling this setting will tell CodeIgniter to look for a Composer | ||||
| | package auto-loader script in application/vendor/autoload.php. | ||||
| | | ||||
| |	$config['composer_autoload'] = TRUE; | ||||
| | | ||||
| | Or if you have your vendor/ directory located somewhere else, you | ||||
| | can opt to set a specific path as well: | ||||
| | | ||||
| |	$config['composer_autoload'] = '/path/to/vendor/autoload.php'; | ||||
| | | ||||
| | For more information about Composer, please visit http://getcomposer.org/ | ||||
| | | ||||
| | Note: This will NOT disable or override the CodeIgniter-specific | ||||
| |	autoloading (application/config/autoload.php) | ||||
| */ | ||||
| $config['composer_autoload'] = 'vendor/autoload.php'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Allowed URL Characters | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This lets you specify which characters are permitted within your URLs. | ||||
| | When someone tries to submit a URL with disallowed characters they will | ||||
| | get a warning message. | ||||
| | | ||||
| | As a security measure you are STRONGLY encouraged to restrict URLs to | ||||
| | as few characters as possible.  By default only these are allowed: a-z 0-9~%.:_- | ||||
| | | ||||
| | Leave blank to allow all characters -- but only if you are insane. | ||||
| | | ||||
| | The configured value is actually a regular expression character group | ||||
| | and it will be executed as: ! preg_match('/^[<permitted_uri_chars>]+$/i | ||||
| | | ||||
| | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! | ||||
| | | ||||
| */ | ||||
| $config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Enable Query Strings | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | By default CodeIgniter uses search-engine friendly segment based URLs: | ||||
| | example.com/who/what/where/ | ||||
| | | ||||
| | You can optionally enable standard query string based URLs: | ||||
| | example.com?who=me&what=something&where=here | ||||
| | | ||||
| | Options are: TRUE or FALSE (boolean) | ||||
| | | ||||
| | The other items let you set the query string 'words' that will | ||||
| | invoke your controllers and its functions: | ||||
| | example.com/index.php?c=controller&m=function | ||||
| | | ||||
| | Please note that some of the helpers won't work as expected when | ||||
| | this feature is enabled, since CodeIgniter is designed primarily to | ||||
| | use segment based URLs. | ||||
| | | ||||
| */ | ||||
| $config['enable_query_strings'] = FALSE; | ||||
| $config['controller_trigger'] = 'c'; | ||||
| $config['function_trigger'] = 'm'; | ||||
| $config['directory_trigger'] = 'd'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Allow $_GET array | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | By default CodeIgniter enables access to the $_GET array.  If for some | ||||
| | reason you would like to disable it, set 'allow_get_array' to FALSE. | ||||
| | | ||||
| | WARNING: This feature is DEPRECATED and currently available only | ||||
| |          for backwards compatibility purposes! | ||||
| | | ||||
| */ | ||||
| $config['allow_get_array'] = TRUE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Error Logging Threshold | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | You can enable error logging by setting a threshold over zero. The | ||||
| | threshold determines what gets logged. Threshold options are: | ||||
| | | ||||
| |	0 = Disables logging, Error logging TURNED OFF | ||||
| |	1 = Error Messages (including PHP errors) | ||||
| |	2 = Debug Messages | ||||
| |	3 = Informational Messages | ||||
| |	4 = All Messages | ||||
| | | ||||
| | You can also pass an array with threshold levels to show individual error types | ||||
| | | ||||
| | 	array(2) = Debug Messages, without Error Messages | ||||
| | | ||||
| | For a live site you'll usually only enable Errors (1) to be logged otherwise | ||||
| | your log files will fill up very fast. | ||||
| | | ||||
| */ | ||||
| $config['log_threshold'] = 0; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Error Logging Directory Path | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Leave this BLANK unless you would like to set something other than the default | ||||
| | application/logs/ directory. Use a full server path with trailing slash. | ||||
| | | ||||
| */ | ||||
| $config['log_path'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Log File Extension | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | The default filename extension for log files. The default 'php' allows for | ||||
| | protecting the log files via basic scripting, when they are to be stored | ||||
| | under a publicly accessible directory. | ||||
| | | ||||
| | Note: Leaving it blank will default to 'php'. | ||||
| | | ||||
| */ | ||||
| $config['log_file_extension'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Log File Permissions | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | The file system permissions to be applied on newly created log files. | ||||
| | | ||||
| | IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal | ||||
| |            integer notation (i.e. 0700, 0644, etc.) | ||||
| */ | ||||
| $config['log_file_permissions'] = 0644; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Date Format for Logs | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Each item that is logged has an associated date. You can use PHP date | ||||
| | codes to set your own date formatting | ||||
| | | ||||
| */ | ||||
| $config['log_date_format'] = 'Y-m-d H:i:s'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Error Views Directory Path | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Leave this BLANK unless you would like to set something other than the default | ||||
| | application/views/errors/ directory.  Use a full server path with trailing slash. | ||||
| | | ||||
| */ | ||||
| $config['error_views_path'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Cache Directory Path | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Leave this BLANK unless you would like to set something other than the default | ||||
| | application/cache/ directory.  Use a full server path with trailing slash. | ||||
| | | ||||
| */ | ||||
| $config['cache_path'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Cache Include Query String | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Whether to take the URL query string into consideration when generating | ||||
| | output cache files. Valid options are: | ||||
| | | ||||
| |	FALSE      = Disabled | ||||
| |	TRUE       = Enabled, take all query parameters into account. | ||||
| |	             Please be aware that this may result in numerous cache | ||||
| |	             files generated for the same page over and over again. | ||||
| |	array('q') = Enabled, but only take into account the specified list | ||||
| |	             of query parameters. | ||||
| | | ||||
| */ | ||||
| $config['cache_query_string'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Encryption Key | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | If you use the Encryption class, you must set an encryption key. | ||||
| | See the user guide for more info. | ||||
| | | ||||
| | https://codeigniter.com/user_guide/libraries/encryption.html | ||||
| | | ||||
| */ | ||||
| $config['encryption_key'] = ''; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Session Variables | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | 'sess_driver' | ||||
| | | ||||
| |	The storage driver to use: files, database, redis, memcached | ||||
| | | ||||
| | 'sess_cookie_name' | ||||
| | | ||||
| |	The session cookie name, must contain only [0-9a-z_-] characters | ||||
| | | ||||
| | 'sess_expiration' | ||||
| | | ||||
| |	The number of SECONDS you want the session to last. | ||||
| |	Setting to 0 (zero) means expire when the browser is closed. | ||||
| | | ||||
| | 'sess_save_path' | ||||
| | | ||||
| |	The location to save sessions to, driver dependent. | ||||
| | | ||||
| |	For the 'files' driver, it's a path to a writable directory. | ||||
| |	WARNING: Only absolute paths are supported! | ||||
| | | ||||
| |	For the 'database' driver, it's a table name. | ||||
| |	Please read up the manual for the format with other session drivers. | ||||
| | | ||||
| |	IMPORTANT: You are REQUIRED to set a valid save path! | ||||
| | | ||||
| | 'sess_match_ip' | ||||
| | | ||||
| |	Whether to match the user's IP address when reading the session data. | ||||
| | | ||||
| |	WARNING: If you're using the database driver, don't forget to update | ||||
| |	         your session table's PRIMARY KEY when changing this setting. | ||||
| | | ||||
| | 'sess_time_to_update' | ||||
| | | ||||
| |	How many seconds between CI regenerating the session ID. | ||||
| | | ||||
| | 'sess_regenerate_destroy' | ||||
| | | ||||
| |	Whether to destroy session data associated with the old session ID | ||||
| |	when auto-regenerating the session ID. When set to FALSE, the data | ||||
| |	will be later deleted by the garbage collector. | ||||
| | | ||||
| | Other session cookie settings are shared with the rest of the application, | ||||
| | except for 'cookie_prefix' and 'cookie_httponly', which are ignored here. | ||||
| | | ||||
| */ | ||||
| $config['sess_driver'] = 'files'; | ||||
| $config['sess_cookie_name'] = 'ci_session'; | ||||
| $config['sess_expiration'] = 7200; | ||||
| $config['sess_save_path'] = NULL; | ||||
| $config['sess_match_ip'] = FALSE; | ||||
| $config['sess_time_to_update'] = 300; | ||||
| $config['sess_regenerate_destroy'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Cookie Related Variables | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | 'cookie_prefix'   = Set a cookie name prefix if you need to avoid collisions | ||||
| | 'cookie_domain'   = Set to .your-domain.com for site-wide cookies | ||||
| | 'cookie_path'     = Typically will be a forward slash | ||||
| | 'cookie_secure'   = Cookie will only be set if a secure HTTPS connection exists. | ||||
| | 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript) | ||||
| | | ||||
| | Note: These settings (with the exception of 'cookie_prefix' and | ||||
| |       'cookie_httponly') will also affect sessions. | ||||
| | | ||||
| */ | ||||
| $config['cookie_prefix']	= ''; | ||||
| $config['cookie_domain']	= ''; | ||||
| $config['cookie_path']		= '/'; | ||||
| $config['cookie_secure']	= FALSE; | ||||
| $config['cookie_httponly'] 	= FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Standardize newlines | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Determines whether to standardize newline characters in input data, | ||||
| | meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value. | ||||
| | | ||||
| | WARNING: This feature is DEPRECATED and currently available only | ||||
| |          for backwards compatibility purposes! | ||||
| | | ||||
| */ | ||||
| $config['standardize_newlines'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Global XSS Filtering | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Determines whether the XSS filter is always active when GET, POST or | ||||
| | COOKIE data is encountered | ||||
| | | ||||
| | WARNING: This feature is DEPRECATED and currently available only | ||||
| |          for backwards compatibility purposes! | ||||
| | | ||||
| */ | ||||
| $config['global_xss_filtering'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Cross Site Request Forgery | ||||
| |-------------------------------------------------------------------------- | ||||
| | Enables a CSRF cookie token to be set. When set to TRUE, token will be | ||||
| | checked on a submitted form. If you are accepting user data, it is strongly | ||||
| | recommended CSRF protection be enabled. | ||||
| | | ||||
| | 'csrf_token_name' = The token name | ||||
| | 'csrf_cookie_name' = The cookie name | ||||
| | 'csrf_expire' = The number in seconds the token should expire. | ||||
| | 'csrf_regenerate' = Regenerate token on every submission | ||||
| | 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks | ||||
| */ | ||||
| $config['csrf_protection'] = FALSE; | ||||
| $config['csrf_token_name'] = 'csrf_test_name'; | ||||
| $config['csrf_cookie_name'] = 'csrf_cookie_name'; | ||||
| $config['csrf_expire'] = 7200; | ||||
| $config['csrf_regenerate'] = TRUE; | ||||
| $config['csrf_exclude_uris'] = array(); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Output Compression | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Enables Gzip output compression for faster page loads.  When enabled, | ||||
| | the output class will test whether your server supports Gzip. | ||||
| | Even if it does, however, not all browsers support compression | ||||
| | so enable only if you are reasonably sure your visitors can handle it. | ||||
| | | ||||
| | Only used if zlib.output_compression is turned off in your php.ini. | ||||
| | Please do not use it together with httpd-level output compression. | ||||
| | | ||||
| | VERY IMPORTANT:  If you are getting a blank page when compression is enabled it | ||||
| | means you are prematurely outputting something to your browser. It could | ||||
| | even be a line of whitespace at the end of one of your scripts.  For | ||||
| | compression to work, nothing can be sent before the output buffer is called | ||||
| | by the output class.  Do not 'echo' any values with compression enabled. | ||||
| | | ||||
| */ | ||||
| $config['compress_output'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Master Time Reference | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Options are 'local' or any PHP supported timezone. This preference tells | ||||
| | the system whether to use your server's local time as the master 'now' | ||||
| | reference, or convert it to the configured one timezone. See the 'date | ||||
| | helper' page of the user guide for information regarding date handling. | ||||
| | | ||||
| */ | ||||
| $config['time_reference'] = 'local'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Rewrite PHP Short Tags | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | If your PHP installation does not have short tag support enabled CI | ||||
| | can rewrite the tags on-the-fly, enabling you to utilize that syntax | ||||
| | in your view files.  Options are TRUE or FALSE (boolean) | ||||
| | | ||||
| | Note: You need to have eval() enabled for this to work. | ||||
| | | ||||
| */ | ||||
| $config['rewrite_short_tags'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Reverse Proxy IPs | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | If your server is behind a reverse proxy, you must whitelist the proxy | ||||
| | IP addresses from which CodeIgniter should trust headers such as | ||||
| | HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to properly identify | ||||
| | the visitor's IP address. | ||||
| | | ||||
| | You can use both an array or a comma-separated list of proxy addresses, | ||||
| | as well as specifying whole subnets. Here are a few examples: | ||||
| | | ||||
| | Comma-separated:	'10.0.1.200,192.168.5.0/24' | ||||
| | Array:		array('10.0.1.200', '192.168.5.0/24') | ||||
| */ | ||||
| $config['proxy_ips'] = ''; | ||||
							
								
								
									
										94
									
								
								application/config/constants.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								application/config/constants.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,94 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Display Debug backtrace | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | If set to TRUE, a backtrace will be displayed along with php errors. If | ||||
| | error_reporting is disabled, the backtrace will not display, regardless | ||||
| | of this setting | ||||
| | | ||||
| */ | ||||
| defined('SHOW_DEBUG_BACKTRACE') OR define('SHOW_DEBUG_BACKTRACE', TRUE); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | File and Directory Modes | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | These prefs are used when checking and setting modes when working | ||||
| | with the file system.  The defaults are fine on servers with proper | ||||
| | security, but you may wish (or even need) to change the values in | ||||
| | certain environments (Apache running a separate process for each | ||||
| | user, PHP under CGI with Apache suEXEC, etc.).  Octal values should | ||||
| | always be used to set the mode correctly. | ||||
| | | ||||
| */ | ||||
| defined('FILE_READ_MODE')  OR define('FILE_READ_MODE', 0644); | ||||
| defined('FILE_WRITE_MODE') OR define('FILE_WRITE_MODE', 0666); | ||||
| defined('DIR_READ_MODE')   OR define('DIR_READ_MODE', 0755); | ||||
| defined('DIR_WRITE_MODE')  OR define('DIR_WRITE_MODE', 0755); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | File Stream Modes | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | These modes are used when working with fopen()/popen() | ||||
| | | ||||
| */ | ||||
| defined('FOPEN_READ')                           OR define('FOPEN_READ', 'rb'); | ||||
| defined('FOPEN_READ_WRITE')                     OR define('FOPEN_READ_WRITE', 'r+b'); | ||||
| defined('FOPEN_WRITE_CREATE_DESTRUCTIVE')       OR define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care | ||||
| defined('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE')  OR define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care | ||||
| defined('FOPEN_WRITE_CREATE')                   OR define('FOPEN_WRITE_CREATE', 'ab'); | ||||
| defined('FOPEN_READ_WRITE_CREATE')              OR define('FOPEN_READ_WRITE_CREATE', 'a+b'); | ||||
| defined('FOPEN_WRITE_CREATE_STRICT')            OR define('FOPEN_WRITE_CREATE_STRICT', 'xb'); | ||||
| defined('FOPEN_READ_WRITE_CREATE_STRICT')       OR define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b'); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Exit Status Codes | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Used to indicate the conditions under which the script is exit()ing. | ||||
| | While there is no universal standard for error codes, there are some | ||||
| | broad conventions.  Three such conventions are mentioned below, for | ||||
| | those who wish to make use of them.  The CodeIgniter defaults were | ||||
| | chosen for the least overlap with these conventions, while still | ||||
| | leaving room for others to be defined in future versions and user | ||||
| | applications. | ||||
| | | ||||
| | The three main conventions used for determining exit status codes | ||||
| | are as follows: | ||||
| | | ||||
| |    Standard C/C++ Library (stdlibc): | ||||
| |       http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html | ||||
| |       (This link also contains other GNU-specific conventions) | ||||
| |    BSD sysexits.h: | ||||
| |       http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits | ||||
| |    Bash scripting: | ||||
| |       http://tldp.org/LDP/abs/html/exitcodes.html | ||||
| | | ||||
| */ | ||||
| defined('EXIT_SUCCESS')        OR define('EXIT_SUCCESS', 0); // no errors | ||||
| defined('EXIT_ERROR')          OR define('EXIT_ERROR', 1); // generic error | ||||
| defined('EXIT_CONFIG')         OR define('EXIT_CONFIG', 3); // configuration error | ||||
| defined('EXIT_UNKNOWN_FILE')   OR define('EXIT_UNKNOWN_FILE', 4); // file not found | ||||
| defined('EXIT_UNKNOWN_CLASS')  OR define('EXIT_UNKNOWN_CLASS', 5); // unknown class | ||||
| defined('EXIT_UNKNOWN_METHOD') OR define('EXIT_UNKNOWN_METHOD', 6); // unknown class member | ||||
| defined('EXIT_USER_INPUT')     OR define('EXIT_USER_INPUT', 7); // invalid user input | ||||
| defined('EXIT_DATABASE')       OR define('EXIT_DATABASE', 8); // database error | ||||
| defined('EXIT__AUTO_MIN')      OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code | ||||
| defined('EXIT__AUTO_MAX')      OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Constants for Site | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| */ | ||||
|  | ||||
| define('SITE_NAME', 'Toko'); | ||||
							
								
								
									
										96
									
								
								application/config/database.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								application/config/database.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,96 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| | DATABASE CONNECTIVITY SETTINGS | ||||
| | ------------------------------------------------------------------- | ||||
| | This file will contain the settings needed to access your database. | ||||
| | | ||||
| | For complete instructions please consult the 'Database Connection' | ||||
| | page of the User Guide. | ||||
| | | ||||
| | ------------------------------------------------------------------- | ||||
| | EXPLANATION OF VARIABLES | ||||
| | ------------------------------------------------------------------- | ||||
| | | ||||
| |	['dsn']      The full DSN string describe a connection to the database. | ||||
| |	['hostname'] The hostname of your database server. | ||||
| |	['username'] The username used to connect to the database | ||||
| |	['password'] The password used to connect to the database | ||||
| |	['database'] The name of the database you want to connect to | ||||
| |	['dbdriver'] The database driver. e.g.: mysqli. | ||||
| |			Currently supported: | ||||
| |				 cubrid, ibase, mssql, mysql, mysqli, oci8, | ||||
| |				 odbc, pdo, postgre, sqlite, sqlite3, sqlsrv | ||||
| |	['dbprefix'] You can add an optional prefix, which will be added | ||||
| |				 to the table name when using the  Query Builder class | ||||
| |	['pconnect'] TRUE/FALSE - Whether to use a persistent connection | ||||
| |	['db_debug'] TRUE/FALSE - Whether database errors should be displayed. | ||||
| |	['cache_on'] TRUE/FALSE - Enables/disables query caching | ||||
| |	['cachedir'] The path to the folder where cache files should be stored | ||||
| |	['char_set'] The character set used in communicating with the database | ||||
| |	['dbcollat'] The character collation used in communicating with the database | ||||
| |				 NOTE: For MySQL and MySQLi databases, this setting is only used | ||||
| | 				 as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7 | ||||
| |				 (and in table creation queries made with DB Forge). | ||||
| | 				 There is an incompatibility in PHP with mysql_real_escape_string() which | ||||
| | 				 can make your site vulnerable to SQL injection if you are using a | ||||
| | 				 multi-byte character set and are running versions lower than these. | ||||
| | 				 Sites using Latin-1 or UTF-8 database character set and collation are unaffected. | ||||
| |	['swap_pre'] A default table prefix that should be swapped with the dbprefix | ||||
| |	['encrypt']  Whether or not to use an encrypted connection. | ||||
| | | ||||
| |			'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE | ||||
| |			'mysqli' and 'pdo/mysql' drivers accept an array with the following options: | ||||
| | | ||||
| |				'ssl_key'    - Path to the private key file | ||||
| |				'ssl_cert'   - Path to the public key certificate file | ||||
| |				'ssl_ca'     - Path to the certificate authority file | ||||
| |				'ssl_capath' - Path to a directory containing trusted CA certificates in PEM format | ||||
| |				'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':') | ||||
| |				'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not | ||||
| | | ||||
| |	['compress'] Whether or not to use client compression (MySQL only) | ||||
| |	['stricton'] TRUE/FALSE - forces 'Strict Mode' connections | ||||
| |							- good for ensuring strict SQL while developing | ||||
| |	['ssl_options']	Used to set various SSL options that can be used when making SSL connections. | ||||
| |	['failover'] array - A array with 0 or more data for connections if the main should fail. | ||||
| |	['save_queries'] TRUE/FALSE - Whether to "save" all executed queries. | ||||
| | 				NOTE: Disabling this will also effectively disable both | ||||
| | 				$this->db->last_query() and profiling of DB queries. | ||||
| | 				When you run a query, with this setting set to TRUE (default), | ||||
| | 				CodeIgniter will store the SQL statement for debugging purposes. | ||||
| | 				However, this may cause high memory usage, especially if you run | ||||
| | 				a lot of SQL queries ... disable this to avoid that problem. | ||||
| | | ||||
| | The $active_group variable lets you choose which connection group to | ||||
| | make active.  By default there is only one group (the 'default' group). | ||||
| | | ||||
| | The $query_builder variables lets you determine whether or not to load | ||||
| | the query builder class. | ||||
| */ | ||||
| $active_group = 'default'; | ||||
| $query_builder = TRUE; | ||||
|  | ||||
| $db['default'] = array( | ||||
| 	'dsn'	=> '', | ||||
| 	'hostname' => 'localhost', | ||||
| 	'username' => 'root', | ||||
| 	'password' => '', | ||||
| 	'database' => 'toko', | ||||
| 	'dbdriver' => 'mysqli', | ||||
| 	'dbprefix' => '', | ||||
| 	'pconnect' => FALSE, | ||||
| 	'db_debug' => (ENVIRONMENT !== 'production'), | ||||
| 	'cache_on' => FALSE, | ||||
| 	'cachedir' => '', | ||||
| 	'char_set' => 'utf8', | ||||
| 	'dbcollat' => 'utf8_general_ci', | ||||
| 	'swap_pre' => '', | ||||
| 	'encrypt' => FALSE, | ||||
| 	'compress' => FALSE, | ||||
| 	'stricton' => FALSE, | ||||
| 	'failover' => array(), | ||||
| 	'save_queries' => TRUE | ||||
| ); | ||||
							
								
								
									
										24
									
								
								application/config/doctypes.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								application/config/doctypes.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| $_doctypes = array( | ||||
| 	'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">', | ||||
| 	'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', | ||||
| 	'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', | ||||
| 	'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', | ||||
| 	'xhtml-basic11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">', | ||||
| 	'html5' => '<!DOCTYPE html>', | ||||
| 	'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', | ||||
| 	'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">', | ||||
| 	'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">', | ||||
| 	'mathml1' => '<!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">', | ||||
| 	'mathml2' => '<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">', | ||||
| 	'svg10' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">', | ||||
| 	'svg11' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">', | ||||
| 	'svg11-basic' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">', | ||||
| 	'svg11-tiny' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">', | ||||
| 	'xhtml-math-svg-xh' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">', | ||||
| 	'xhtml-math-svg-sh' => '<!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">', | ||||
| 	'xhtml-rdfa-1' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">', | ||||
| 	'xhtml-rdfa-2' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">' | ||||
| ); | ||||
							
								
								
									
										114
									
								
								application/config/foreign_chars.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								application/config/foreign_chars.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,114 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| | Foreign Characters | ||||
| | ------------------------------------------------------------------- | ||||
| | This file contains an array of foreign characters for transliteration | ||||
| | conversion used by the Text helper | ||||
| | | ||||
| */ | ||||
| $foreign_characters = array( | ||||
| 	'/ä|æ|ǽ/' => 'ae', | ||||
| 	'/ö|œ/' => 'oe', | ||||
| 	'/ü/' => 'ue', | ||||
| 	'/Ä/' => 'Ae', | ||||
| 	'/Ü/' => 'Ue', | ||||
| 	'/Ö/' => 'Oe', | ||||
| 	'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A', | ||||
| 	'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a', | ||||
| 	'/Б/' => 'B', | ||||
| 	'/б/' => 'b', | ||||
| 	'/Ç|Ć|Ĉ|Ċ|Č/' => 'C', | ||||
| 	'/ç|ć|ĉ|ċ|č/' => 'c', | ||||
| 	'/Д|Δ/' => 'D', | ||||
| 	'/д|δ/' => 'd', | ||||
| 	'/Ð|Ď|Đ/' => 'Dj', | ||||
| 	'/ð|ď|đ/' => 'dj', | ||||
| 	'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Э/' => 'E', | ||||
| 	'/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|э/' => 'e', | ||||
| 	'/Ф/' => 'F', | ||||
| 	'/ф/' => 'f', | ||||
| 	'/Ĝ|Ğ|Ġ|Ģ|Γ|Г|Ґ/' => 'G', | ||||
| 	'/ĝ|ğ|ġ|ģ|γ|г|ґ/' => 'g', | ||||
| 	'/Ĥ|Ħ/' => 'H', | ||||
| 	'/ĥ|ħ/' => 'h', | ||||
| 	'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Ы/' => 'I', | ||||
| 	'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|ы|ї/' => 'i', | ||||
| 	'/Ĵ/' => 'J', | ||||
| 	'/ĵ/' => 'j', | ||||
| 	'/Θ/' => 'TH', | ||||
| 	'/θ/' => 'th', | ||||
| 	'/Ķ|Κ|К/' => 'K', | ||||
| 	'/ķ|κ|к/' => 'k', | ||||
| 	'/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L', | ||||
| 	'/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l', | ||||
| 	'/М/' => 'M', | ||||
| 	'/м/' => 'm', | ||||
| 	'/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N', | ||||
| 	'/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n', | ||||
| 	'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O', | ||||
| 	'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o', | ||||
| 	'/П/' => 'P', | ||||
| 	'/п/' => 'p', | ||||
| 	'/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R', | ||||
| 	'/ŕ|ŗ|ř|ρ|р/' => 'r', | ||||
| 	'/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S', | ||||
| 	'/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's', | ||||
| 	'/Ț|Ţ|Ť|Ŧ|Τ|Т/' => 'T', | ||||
| 	'/ț|ţ|ť|ŧ|τ|т/' => 't', | ||||
| 	'/Þ|þ/' => 'th', | ||||
| 	'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U', | ||||
| 	'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u', | ||||
| 	'/Ƴ|Ɏ|Ỵ|Ẏ|Ӳ|Ӯ|Ў|Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ|Й/' => 'Y', | ||||
| 	'/ẙ|ʏ|ƴ|ɏ|ỵ|ẏ|ӳ|ӯ|ў|ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ|й/' => 'y', | ||||
| 	'/В/' => 'V', | ||||
| 	'/в/' => 'v', | ||||
| 	'/Ŵ/' => 'W', | ||||
| 	'/ŵ/' => 'w', | ||||
| 	'/Φ/' => 'F', | ||||
| 	'/φ/' => 'f', | ||||
| 	'/Χ/' => 'CH', | ||||
| 	'/χ/' => 'ch', | ||||
| 	'/Ź|Ż|Ž|Ζ|З/' => 'Z', | ||||
| 	'/ź|ż|ž|ζ|з/' => 'z', | ||||
| 	'/Æ|Ǽ/' => 'AE', | ||||
| 	'/ß/' => 'ss', | ||||
| 	'/IJ/' => 'IJ', | ||||
| 	'/ij/' => 'ij', | ||||
| 	'/Œ/' => 'OE', | ||||
| 	'/ƒ/' => 'f', | ||||
| 	'/Ξ/' => 'KS', | ||||
| 	'/ξ/' => 'ks', | ||||
| 	'/Π/' => 'P', | ||||
| 	'/π/' => 'p', | ||||
| 	'/Β/' => 'V', | ||||
| 	'/β/' => 'v', | ||||
| 	'/Μ/' => 'M', | ||||
| 	'/μ/' => 'm', | ||||
| 	'/Ψ/' => 'PS', | ||||
| 	'/ψ/' => 'ps', | ||||
| 	'/Ё/' => 'Yo', | ||||
| 	'/ё/' => 'yo', | ||||
| 	'/Є/' => 'Ye', | ||||
| 	'/є/' => 'ye', | ||||
| 	'/Ї/' => 'Yi', | ||||
| 	'/Ж/' => 'Zh', | ||||
| 	'/ж/' => 'zh', | ||||
| 	'/Х/' => 'Kh', | ||||
| 	'/х/' => 'kh', | ||||
| 	'/Ц/' => 'Ts', | ||||
| 	'/ц/' => 'ts', | ||||
| 	'/Ч/' => 'Ch', | ||||
| 	'/ч/' => 'ch', | ||||
| 	'/Ш/' => 'Sh', | ||||
| 	'/ш/' => 'sh', | ||||
| 	'/Щ/' => 'Shch', | ||||
| 	'/щ/' => 'shch', | ||||
| 	'/Ъ|ъ|Ь|ь/' => '', | ||||
| 	'/Ю/' => 'Yu', | ||||
| 	'/ю/' => 'yu', | ||||
| 	'/Я/' => 'Ya', | ||||
| 	'/я/' => 'ya' | ||||
| ); | ||||
							
								
								
									
										13
									
								
								application/config/hooks.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								application/config/hooks.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------------- | ||||
| | Hooks | ||||
| | ------------------------------------------------------------------------- | ||||
| | This file lets you define "hooks" to extend CI without hacking the core | ||||
| | files.  Please see the user guide for info: | ||||
| | | ||||
| |	https://codeigniter.com/user_guide/general/hooks.html | ||||
| | | ||||
| */ | ||||
							
								
								
									
										11
									
								
								application/config/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/config/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										19
									
								
								application/config/memcached.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								application/config/memcached.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------------- | ||||
| | Memcached settings | ||||
| | ------------------------------------------------------------------------- | ||||
| | Your Memcached servers can be specified below. | ||||
| | | ||||
| |	See: https://codeigniter.com/user_guide/libraries/caching.html#memcached | ||||
| | | ||||
| */ | ||||
| $config = array( | ||||
| 	'default' => array( | ||||
| 		'hostname' => '127.0.0.1', | ||||
| 		'port'     => '11211', | ||||
| 		'weight'   => '1', | ||||
| 	), | ||||
| ); | ||||
							
								
								
									
										84
									
								
								application/config/migration.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								application/config/migration.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,84 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Enable/Disable Migrations | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Migrations are disabled by default for security reasons. | ||||
| | You should enable migrations whenever you intend to do a schema migration | ||||
| | and disable it back when you're done. | ||||
| | | ||||
| */ | ||||
| $config['migration_enabled'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Migration Type | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Migration file names may be based on a sequential identifier or on | ||||
| | a timestamp. Options are: | ||||
| | | ||||
| |   'sequential' = Sequential migration naming (001_add_blog.php) | ||||
| |   'timestamp'  = Timestamp migration naming (20121031104401_add_blog.php) | ||||
| |                  Use timestamp format YYYYMMDDHHIISS. | ||||
| | | ||||
| | Note: If this configuration value is missing the Migration library | ||||
| |       defaults to 'sequential' for backward compatibility with CI2. | ||||
| | | ||||
| */ | ||||
| $config['migration_type'] = 'timestamp'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Migrations table | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This is the name of the table that will store the current migrations state. | ||||
| | When migrations runs it will store in a database table which migration | ||||
| | level the system is at. It then compares the migration level in this | ||||
| | table to the $config['migration_version'] if they are not the same it | ||||
| | will migrate up. This must be set. | ||||
| | | ||||
| */ | ||||
| $config['migration_table'] = 'migrations'; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Auto Migrate To Latest | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | If this is set to TRUE when you load the migrations class and have | ||||
| | $config['migration_enabled'] set to TRUE the system will auto migrate | ||||
| | to your latest migration (whatever $config['migration_version'] is | ||||
| | set to). This way you do not have to call migrations anywhere else | ||||
| | in your code to have the latest migration. | ||||
| | | ||||
| */ | ||||
| $config['migration_auto_latest'] = FALSE; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Migrations version | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | This is used to set migration version that the file system should be on. | ||||
| | If you run $this->migration->current() this is the version that schema will | ||||
| | be upgraded / downgraded to. | ||||
| | | ||||
| */ | ||||
| $config['migration_version'] = 0; | ||||
|  | ||||
| /* | ||||
| |-------------------------------------------------------------------------- | ||||
| | Migrations Path | ||||
| |-------------------------------------------------------------------------- | ||||
| | | ||||
| | Path to your migrations folder. | ||||
| | Typically, it will be within your application path. | ||||
| | Also, writing permission is required within the migrations path. | ||||
| | | ||||
| */ | ||||
| $config['migration_path'] = APPPATH.'migrations/'; | ||||
							
								
								
									
										184
									
								
								application/config/mimes.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										184
									
								
								application/config/mimes.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,184 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| | MIME TYPES | ||||
| | ------------------------------------------------------------------- | ||||
| | This file contains an array of mime types.  It is used by the | ||||
| | Upload class to help identify allowed file types. | ||||
| | | ||||
| */ | ||||
| return array( | ||||
| 	'hqx'	=>	array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'), | ||||
| 	'cpt'	=>	'application/mac-compactpro', | ||||
| 	'csv'	=>	array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'), | ||||
| 	'bin'	=>	array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'), | ||||
| 	'dms'	=>	'application/octet-stream', | ||||
| 	'lha'	=>	'application/octet-stream', | ||||
| 	'lzh'	=>	'application/octet-stream', | ||||
| 	'exe'	=>	array('application/octet-stream', 'application/x-msdownload'), | ||||
| 	'class'	=>	'application/octet-stream', | ||||
| 	'psd'	=>	array('application/x-photoshop', 'image/vnd.adobe.photoshop'), | ||||
| 	'so'	=>	'application/octet-stream', | ||||
| 	'sea'	=>	'application/octet-stream', | ||||
| 	'dll'	=>	'application/octet-stream', | ||||
| 	'oda'	=>	'application/oda', | ||||
| 	'pdf'	=>	array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'), | ||||
| 	'ai'	=>	array('application/pdf', 'application/postscript'), | ||||
| 	'eps'	=>	'application/postscript', | ||||
| 	'ps'	=>	'application/postscript', | ||||
| 	'smi'	=>	'application/smil', | ||||
| 	'smil'	=>	'application/smil', | ||||
| 	'mif'	=>	'application/vnd.mif', | ||||
| 	'xls'	=>	array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'), | ||||
| 	'ppt'	=>	array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'), | ||||
| 	'pptx'	=> 	array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'), | ||||
| 	'wbxml'	=>	'application/wbxml', | ||||
| 	'wmlc'	=>	'application/wmlc', | ||||
| 	'dcr'	=>	'application/x-director', | ||||
| 	'dir'	=>	'application/x-director', | ||||
| 	'dxr'	=>	'application/x-director', | ||||
| 	'dvi'	=>	'application/x-dvi', | ||||
| 	'gtar'	=>	'application/x-gtar', | ||||
| 	'gz'	=>	'application/x-gzip', | ||||
| 	'gzip'  =>	'application/x-gzip', | ||||
| 	'php'	=>	array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'), | ||||
| 	'php4'	=>	'application/x-httpd-php', | ||||
| 	'php3'	=>	'application/x-httpd-php', | ||||
| 	'phtml'	=>	'application/x-httpd-php', | ||||
| 	'phps'	=>	'application/x-httpd-php-source', | ||||
| 	'js'	=>	array('application/x-javascript', 'text/plain'), | ||||
| 	'swf'	=>	'application/x-shockwave-flash', | ||||
| 	'sit'	=>	'application/x-stuffit', | ||||
| 	'tar'	=>	'application/x-tar', | ||||
| 	'tgz'	=>	array('application/x-tar', 'application/x-gzip-compressed'), | ||||
| 	'z'	=>	'application/x-compress', | ||||
| 	'xhtml'	=>	'application/xhtml+xml', | ||||
| 	'xht'	=>	'application/xhtml+xml', | ||||
| 	'zip'	=>	array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'), | ||||
| 	'rar'	=>	array('application/x-rar', 'application/rar', 'application/x-rar-compressed'), | ||||
| 	'mid'	=>	'audio/midi', | ||||
| 	'midi'	=>	'audio/midi', | ||||
| 	'mpga'	=>	'audio/mpeg', | ||||
| 	'mp2'	=>	'audio/mpeg', | ||||
| 	'mp3'	=>	array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'), | ||||
| 	'aif'	=>	array('audio/x-aiff', 'audio/aiff'), | ||||
| 	'aiff'	=>	array('audio/x-aiff', 'audio/aiff'), | ||||
| 	'aifc'	=>	'audio/x-aiff', | ||||
| 	'ram'	=>	'audio/x-pn-realaudio', | ||||
| 	'rm'	=>	'audio/x-pn-realaudio', | ||||
| 	'rpm'	=>	'audio/x-pn-realaudio-plugin', | ||||
| 	'ra'	=>	'audio/x-realaudio', | ||||
| 	'rv'	=>	'video/vnd.rn-realvideo', | ||||
| 	'wav'	=>	array('audio/x-wav', 'audio/wave', 'audio/wav'), | ||||
| 	'bmp'	=>	array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'), | ||||
| 	'gif'	=>	'image/gif', | ||||
| 	'jpeg'	=>	array('image/jpeg', 'image/pjpeg'), | ||||
| 	'jpg'	=>	array('image/jpeg', 'image/pjpeg'), | ||||
| 	'jpe'	=>	array('image/jpeg', 'image/pjpeg'), | ||||
| 	'jp2'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'j2k'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'jpf'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'jpg2'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'jpx'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'jpm'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'mj2'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'mjp2'	=>	array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), | ||||
| 	'png'	=>	array('image/png',  'image/x-png'), | ||||
| 	'tiff'	=>	'image/tiff', | ||||
| 	'tif'	=>	'image/tiff', | ||||
| 	'css'	=>	array('text/css', 'text/plain'), | ||||
| 	'html'	=>	array('text/html', 'text/plain'), | ||||
| 	'htm'	=>	array('text/html', 'text/plain'), | ||||
| 	'shtml'	=>	array('text/html', 'text/plain'), | ||||
| 	'txt'	=>	'text/plain', | ||||
| 	'text'	=>	'text/plain', | ||||
| 	'log'	=>	array('text/plain', 'text/x-log'), | ||||
| 	'rtx'	=>	'text/richtext', | ||||
| 	'rtf'	=>	'text/rtf', | ||||
| 	'xml'	=>	array('application/xml', 'text/xml', 'text/plain'), | ||||
| 	'xsl'	=>	array('application/xml', 'text/xsl', 'text/xml'), | ||||
| 	'mpeg'	=>	'video/mpeg', | ||||
| 	'mpg'	=>	'video/mpeg', | ||||
| 	'mpe'	=>	'video/mpeg', | ||||
| 	'qt'	=>	'video/quicktime', | ||||
| 	'mov'	=>	'video/quicktime', | ||||
| 	'avi'	=>	array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'), | ||||
| 	'movie'	=>	'video/x-sgi-movie', | ||||
| 	'doc'	=>	array('application/msword', 'application/vnd.ms-office'), | ||||
| 	'docx'	=>	array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'), | ||||
| 	'dot'	=>	array('application/msword', 'application/vnd.ms-office'), | ||||
| 	'dotx'	=>	array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'), | ||||
| 	'xlsx'	=>	array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'), | ||||
| 	'word'	=>	array('application/msword', 'application/octet-stream'), | ||||
| 	'xl'	=>	'application/excel', | ||||
| 	'eml'	=>	'message/rfc822', | ||||
| 	'json'  =>	array('application/json', 'text/json'), | ||||
| 	'pem'   =>	array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'), | ||||
| 	'p10'   =>	array('application/x-pkcs10', 'application/pkcs10'), | ||||
| 	'p12'   =>	'application/x-pkcs12', | ||||
| 	'p7a'   =>	'application/x-pkcs7-signature', | ||||
| 	'p7c'   =>	array('application/pkcs7-mime', 'application/x-pkcs7-mime'), | ||||
| 	'p7m'   =>	array('application/pkcs7-mime', 'application/x-pkcs7-mime'), | ||||
| 	'p7r'   =>	'application/x-pkcs7-certreqresp', | ||||
| 	'p7s'   =>	'application/pkcs7-signature', | ||||
| 	'crt'   =>	array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'), | ||||
| 	'crl'   =>	array('application/pkix-crl', 'application/pkcs-crl'), | ||||
| 	'der'   =>	'application/x-x509-ca-cert', | ||||
| 	'kdb'   =>	'application/octet-stream', | ||||
| 	'pgp'   =>	'application/pgp', | ||||
| 	'gpg'   =>	'application/gpg-keys', | ||||
| 	'sst'   =>	'application/octet-stream', | ||||
| 	'csr'   =>	'application/octet-stream', | ||||
| 	'rsa'   =>	'application/x-pkcs7', | ||||
| 	'cer'   =>	array('application/pkix-cert', 'application/x-x509-ca-cert'), | ||||
| 	'3g2'   =>	'video/3gpp2', | ||||
| 	'3gp'   =>	array('video/3gp', 'video/3gpp'), | ||||
| 	'mp4'   =>	'video/mp4', | ||||
| 	'm4a'   =>	'audio/x-m4a', | ||||
| 	'f4v'   =>	array('video/mp4', 'video/x-f4v'), | ||||
| 	'flv'	=>	'video/x-flv', | ||||
| 	'webm'	=>	'video/webm', | ||||
| 	'aac'   =>	array('audio/x-aac', 'audio/aac'), | ||||
| 	'm4u'   =>	'application/vnd.mpegurl', | ||||
| 	'm3u'   =>	'text/plain', | ||||
| 	'xspf'  =>	'application/xspf+xml', | ||||
| 	'vlc'   =>	'application/videolan', | ||||
| 	'wmv'   =>	array('video/x-ms-wmv', 'video/x-ms-asf'), | ||||
| 	'au'    =>	'audio/x-au', | ||||
| 	'ac3'   =>	'audio/ac3', | ||||
| 	'flac'  =>	'audio/x-flac', | ||||
| 	'ogg'   =>	array('audio/ogg', 'video/ogg', 'application/ogg'), | ||||
| 	'kmz'	=>	array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'), | ||||
| 	'kml'	=>	array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'), | ||||
| 	'ics'	=>	'text/calendar', | ||||
| 	'ical'	=>	'text/calendar', | ||||
| 	'zsh'	=>	'text/x-scriptzsh', | ||||
| 	'7z'	=>	array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), | ||||
| 	'7zip'	=>	array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), | ||||
| 	'cdr'	=>	array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'), | ||||
| 	'wma'	=>	array('audio/x-ms-wma', 'video/x-ms-asf'), | ||||
| 	'jar'	=>	array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'), | ||||
| 	'svg'	=>	array('image/svg+xml', 'application/xml', 'text/xml'), | ||||
| 	'vcf'	=>	'text/x-vcard', | ||||
| 	'srt'	=>	array('text/srt', 'text/plain'), | ||||
| 	'vtt'	=>	array('text/vtt', 'text/plain'), | ||||
| 	'ico'	=>	array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'), | ||||
| 	'odc'	=>	'application/vnd.oasis.opendocument.chart', | ||||
| 	'otc'	=>	'application/vnd.oasis.opendocument.chart-template', | ||||
| 	'odf'	=>	'application/vnd.oasis.opendocument.formula', | ||||
| 	'otf'	=>	'application/vnd.oasis.opendocument.formula-template', | ||||
| 	'odg'	=>	'application/vnd.oasis.opendocument.graphics', | ||||
| 	'otg'	=>	'application/vnd.oasis.opendocument.graphics-template', | ||||
| 	'odi'	=>	'application/vnd.oasis.opendocument.image', | ||||
| 	'oti'	=>	'application/vnd.oasis.opendocument.image-template', | ||||
| 	'odp'	=>	'application/vnd.oasis.opendocument.presentation', | ||||
| 	'otp'	=>	'application/vnd.oasis.opendocument.presentation-template', | ||||
| 	'ods'	=>	'application/vnd.oasis.opendocument.spreadsheet', | ||||
| 	'ots'	=>	'application/vnd.oasis.opendocument.spreadsheet-template', | ||||
| 	'odt'	=>	'application/vnd.oasis.opendocument.text', | ||||
| 	'odm'	=>	'application/vnd.oasis.opendocument.text-master', | ||||
| 	'ott'	=>	'application/vnd.oasis.opendocument.text-template', | ||||
| 	'oth'	=>	'application/vnd.oasis.opendocument.text-web' | ||||
| ); | ||||
							
								
								
									
										14
									
								
								application/config/profiler.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								application/config/profiler.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------------- | ||||
| | Profiler Sections | ||||
| | ------------------------------------------------------------------------- | ||||
| | This file lets you determine whether or not various sections of Profiler | ||||
| | data are displayed when the Profiler is enabled. | ||||
| | Please see the user guide for info: | ||||
| | | ||||
| |	https://codeigniter.com/user_guide/general/profiling.html | ||||
| | | ||||
| */ | ||||
							
								
								
									
										58
									
								
								application/config/routes.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								application/config/routes.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------------- | ||||
| | URI ROUTING | ||||
| | ------------------------------------------------------------------------- | ||||
| | This file lets you re-map URI requests to specific controller functions. | ||||
| | | ||||
| | Typically there is a one-to-one relationship between a URL string | ||||
| | and its corresponding controller class/method. The segments in a | ||||
| | URL normally follow this pattern: | ||||
| | | ||||
| |	example.com/class/method/id/ | ||||
| | | ||||
| | In some instances, however, you may want to remap this relationship | ||||
| | so that a different class/function is called than the one | ||||
| | corresponding to the URL. | ||||
| | | ||||
| | Please see the user guide for complete details: | ||||
| | | ||||
| |	https://codeigniter.com/user_guide/general/routing.html | ||||
| | | ||||
| | ------------------------------------------------------------------------- | ||||
| | RESERVED ROUTES | ||||
| | ------------------------------------------------------------------------- | ||||
| | | ||||
| | There are three reserved routes: | ||||
| | | ||||
| |	$route['default_controller'] = 'welcome'; | ||||
| | | ||||
| | This route indicates which controller class should be loaded if the | ||||
| | URI contains no data. In the above example, the "welcome" class | ||||
| | would be loaded. | ||||
| | | ||||
| |	$route['404_override'] = 'errors/page_missing'; | ||||
| | | ||||
| | This route will tell the Router which controller/method to use if those | ||||
| | provided in the URL cannot be matched to a valid route. | ||||
| | | ||||
| |	$route['translate_uri_dashes'] = FALSE; | ||||
| | | ||||
| | This is not exactly a route, but allows you to automatically route | ||||
| | controller and method names that contain dashes. '-' isn't a valid | ||||
| | class or method name character, so it requires translation. | ||||
| | When you set this option to TRUE, it will replace ALL dashes in the | ||||
| | controller and method URI segments. | ||||
| | | ||||
| | Examples:	my-controller/index	-> my_controller/index | ||||
| |		my-controller/my-method	-> my_controller/my_method | ||||
| */ | ||||
| $route['default_controller'] = 'home'; | ||||
| $route['404_override'] = ''; | ||||
| $route['translate_uri_dashes'] = FALSE; | ||||
|  | ||||
| $route['admin'] = 'admin/dashboard'; | ||||
| $route['api'] = 'api/index'; | ||||
|  | ||||
							
								
								
									
										64
									
								
								application/config/smileys.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								application/config/smileys.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| | SMILEYS | ||||
| | ------------------------------------------------------------------- | ||||
| | This file contains an array of smileys for use with the emoticon helper. | ||||
| | Individual images can be used to replace multiple smileys.  For example: | ||||
| | :-) and :) use the same image replacement. | ||||
| | | ||||
| | Please see user guide for more info: | ||||
| | https://codeigniter.com/user_guide/helpers/smiley_helper.html | ||||
| | | ||||
| */ | ||||
| $smileys = array( | ||||
|  | ||||
| //	smiley			image name						width	height	alt | ||||
|  | ||||
| 	':-)'			=>	array('grin.gif',			'19',	'19',	'grin'), | ||||
| 	':lol:'			=>	array('lol.gif',			'19',	'19',	'LOL'), | ||||
| 	':cheese:'		=>	array('cheese.gif',			'19',	'19',	'cheese'), | ||||
| 	':)'			=>	array('smile.gif',			'19',	'19',	'smile'), | ||||
| 	';-)'			=>	array('wink.gif',			'19',	'19',	'wink'), | ||||
| 	';)'			=>	array('wink.gif',			'19',	'19',	'wink'), | ||||
| 	':smirk:'		=>	array('smirk.gif',			'19',	'19',	'smirk'), | ||||
| 	':roll:'		=>	array('rolleyes.gif',		'19',	'19',	'rolleyes'), | ||||
| 	':-S'			=>	array('confused.gif',		'19',	'19',	'confused'), | ||||
| 	':wow:'			=>	array('surprise.gif',		'19',	'19',	'surprised'), | ||||
| 	':bug:'			=>	array('bigsurprise.gif',	'19',	'19',	'big surprise'), | ||||
| 	':-P'			=>	array('tongue_laugh.gif',	'19',	'19',	'tongue laugh'), | ||||
| 	'%-P'			=>	array('tongue_rolleye.gif',	'19',	'19',	'tongue rolleye'), | ||||
| 	';-P'			=>	array('tongue_wink.gif',	'19',	'19',	'tongue wink'), | ||||
| 	':P'			=>	array('raspberry.gif',		'19',	'19',	'raspberry'), | ||||
| 	':blank:'		=>	array('blank.gif',			'19',	'19',	'blank stare'), | ||||
| 	':long:'		=>	array('longface.gif',		'19',	'19',	'long face'), | ||||
| 	':ohh:'			=>	array('ohh.gif',			'19',	'19',	'ohh'), | ||||
| 	':grrr:'		=>	array('grrr.gif',			'19',	'19',	'grrr'), | ||||
| 	':gulp:'		=>	array('gulp.gif',			'19',	'19',	'gulp'), | ||||
| 	'8-/'			=>	array('ohoh.gif',			'19',	'19',	'oh oh'), | ||||
| 	':down:'		=>	array('downer.gif',			'19',	'19',	'downer'), | ||||
| 	':red:'			=>	array('embarrassed.gif',	'19',	'19',	'red face'), | ||||
| 	':sick:'		=>	array('sick.gif',			'19',	'19',	'sick'), | ||||
| 	':shut:'		=>	array('shuteye.gif',		'19',	'19',	'shut eye'), | ||||
| 	':-/'			=>	array('hmm.gif',			'19',	'19',	'hmmm'), | ||||
| 	'>:('			=>	array('mad.gif',			'19',	'19',	'mad'), | ||||
| 	':mad:'			=>	array('mad.gif',			'19',	'19',	'mad'), | ||||
| 	'>:-('			=>	array('angry.gif',			'19',	'19',	'angry'), | ||||
| 	':angry:'		=>	array('angry.gif',			'19',	'19',	'angry'), | ||||
| 	':zip:'			=>	array('zip.gif',			'19',	'19',	'zipper'), | ||||
| 	':kiss:'		=>	array('kiss.gif',			'19',	'19',	'kiss'), | ||||
| 	':ahhh:'		=>	array('shock.gif',			'19',	'19',	'shock'), | ||||
| 	':coolsmile:'	=>	array('shade_smile.gif',	'19',	'19',	'cool smile'), | ||||
| 	':coolsmirk:'	=>	array('shade_smirk.gif',	'19',	'19',	'cool smirk'), | ||||
| 	':coolgrin:'	=>	array('shade_grin.gif',		'19',	'19',	'cool grin'), | ||||
| 	':coolhmm:'		=>	array('shade_hmm.gif',		'19',	'19',	'cool hmm'), | ||||
| 	':coolmad:'		=>	array('shade_mad.gif',		'19',	'19',	'cool mad'), | ||||
| 	':coolcheese:'	=>	array('shade_cheese.gif',	'19',	'19',	'cool cheese'), | ||||
| 	':vampire:'		=>	array('vampire.gif',		'19',	'19',	'vampire'), | ||||
| 	':snake:'		=>	array('snake.gif',			'19',	'19',	'snake'), | ||||
| 	':exclaim:'		=>	array('exclaim.gif',		'19',	'19',	'exclaim'), | ||||
| 	':question:'	=>	array('question.gif',		'19',	'19',	'question') | ||||
|  | ||||
| ); | ||||
							
								
								
									
										216
									
								
								application/config/user_agents.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										216
									
								
								application/config/user_agents.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,216 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| /* | ||||
| | ------------------------------------------------------------------- | ||||
| | USER AGENT TYPES | ||||
| | ------------------------------------------------------------------- | ||||
| | This file contains four arrays of user agent data. It is used by the | ||||
| | User Agent Class to help identify browser, platform, robot, and | ||||
| | mobile device data. The array keys are used to identify the device | ||||
| | and the array values are used to set the actual name of the item. | ||||
| */ | ||||
| $platforms = array( | ||||
| 	'windows nt 10.0'	=> 'Windows 10', | ||||
| 	'windows nt 6.3'	=> 'Windows 8.1', | ||||
| 	'windows nt 6.2'	=> 'Windows 8', | ||||
| 	'windows nt 6.1'	=> 'Windows 7', | ||||
| 	'windows nt 6.0'	=> 'Windows Vista', | ||||
| 	'windows nt 5.2'	=> 'Windows 2003', | ||||
| 	'windows nt 5.1'	=> 'Windows XP', | ||||
| 	'windows nt 5.0'	=> 'Windows 2000', | ||||
| 	'windows nt 4.0'	=> 'Windows NT 4.0', | ||||
| 	'winnt4.0'			=> 'Windows NT 4.0', | ||||
| 	'winnt 4.0'			=> 'Windows NT', | ||||
| 	'winnt'				=> 'Windows NT', | ||||
| 	'windows 98'		=> 'Windows 98', | ||||
| 	'win98'				=> 'Windows 98', | ||||
| 	'windows 95'		=> 'Windows 95', | ||||
| 	'win95'				=> 'Windows 95', | ||||
| 	'windows phone'			=> 'Windows Phone', | ||||
| 	'windows'			=> 'Unknown Windows OS', | ||||
| 	'android'			=> 'Android', | ||||
| 	'blackberry'		=> 'BlackBerry', | ||||
| 	'iphone'			=> 'iOS', | ||||
| 	'ipad'				=> 'iOS', | ||||
| 	'ipod'				=> 'iOS', | ||||
| 	'os x'				=> 'Mac OS X', | ||||
| 	'ppc mac'			=> 'Power PC Mac', | ||||
| 	'freebsd'			=> 'FreeBSD', | ||||
| 	'ppc'				=> 'Macintosh', | ||||
| 	'linux'				=> 'Linux', | ||||
| 	'debian'			=> 'Debian', | ||||
| 	'sunos'				=> 'Sun Solaris', | ||||
| 	'beos'				=> 'BeOS', | ||||
| 	'apachebench'		=> 'ApacheBench', | ||||
| 	'aix'				=> 'AIX', | ||||
| 	'irix'				=> 'Irix', | ||||
| 	'osf'				=> 'DEC OSF', | ||||
| 	'hp-ux'				=> 'HP-UX', | ||||
| 	'netbsd'			=> 'NetBSD', | ||||
| 	'bsdi'				=> 'BSDi', | ||||
| 	'openbsd'			=> 'OpenBSD', | ||||
| 	'gnu'				=> 'GNU/Linux', | ||||
| 	'unix'				=> 'Unknown Unix OS', | ||||
| 	'symbian' 			=> 'Symbian OS' | ||||
| ); | ||||
|  | ||||
|  | ||||
| // The order of this array should NOT be changed. Many browsers return | ||||
| // multiple browser types so we want to identify the sub-type first. | ||||
| $browsers = array( | ||||
| 	'OPR'			=> 'Opera', | ||||
| 	'Flock'			=> 'Flock', | ||||
| 	'Edge'			=> 'Edge', | ||||
| 	'Chrome'		=> 'Chrome', | ||||
| 	// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string | ||||
| 	'Opera.*?Version'	=> 'Opera', | ||||
| 	'Opera'			=> 'Opera', | ||||
| 	'MSIE'			=> 'Internet Explorer', | ||||
| 	'Internet Explorer'	=> 'Internet Explorer', | ||||
| 	'Trident.* rv'	=> 'Internet Explorer', | ||||
| 	'Shiira'		=> 'Shiira', | ||||
| 	'Firefox'		=> 'Firefox', | ||||
| 	'Chimera'		=> 'Chimera', | ||||
| 	'Phoenix'		=> 'Phoenix', | ||||
| 	'Firebird'		=> 'Firebird', | ||||
| 	'Camino'		=> 'Camino', | ||||
| 	'Netscape'		=> 'Netscape', | ||||
| 	'OmniWeb'		=> 'OmniWeb', | ||||
| 	'Safari'		=> 'Safari', | ||||
| 	'Mozilla'		=> 'Mozilla', | ||||
| 	'Konqueror'		=> 'Konqueror', | ||||
| 	'icab'			=> 'iCab', | ||||
| 	'Lynx'			=> 'Lynx', | ||||
| 	'Links'			=> 'Links', | ||||
| 	'hotjava'		=> 'HotJava', | ||||
| 	'amaya'			=> 'Amaya', | ||||
| 	'IBrowse'		=> 'IBrowse', | ||||
| 	'Maxthon'		=> 'Maxthon', | ||||
| 	'Ubuntu'		=> 'Ubuntu Web Browser' | ||||
| ); | ||||
|  | ||||
| $mobiles = array( | ||||
| 	// legacy array, old values commented out | ||||
| 	'mobileexplorer'	=> 'Mobile Explorer', | ||||
| //  'openwave'			=> 'Open Wave', | ||||
| //	'opera mini'		=> 'Opera Mini', | ||||
| //	'operamini'			=> 'Opera Mini', | ||||
| //	'elaine'			=> 'Palm', | ||||
| 	'palmsource'		=> 'Palm', | ||||
| //	'digital paths'		=> 'Palm', | ||||
| //	'avantgo'			=> 'Avantgo', | ||||
| //	'xiino'				=> 'Xiino', | ||||
| 	'palmscape'			=> 'Palmscape', | ||||
| //	'nokia'				=> 'Nokia', | ||||
| //	'ericsson'			=> 'Ericsson', | ||||
| //	'blackberry'		=> 'BlackBerry', | ||||
| //	'motorola'			=> 'Motorola' | ||||
|  | ||||
| 	// Phones and Manufacturers | ||||
| 	'motorola'		=> 'Motorola', | ||||
| 	'nokia'			=> 'Nokia', | ||||
| 	'nexus'			=> 'Nexus', | ||||
| 	'palm'			=> 'Palm', | ||||
| 	'iphone'		=> 'Apple iPhone', | ||||
| 	'ipad'			=> 'iPad', | ||||
| 	'ipod'			=> 'Apple iPod Touch', | ||||
| 	'sony'			=> 'Sony Ericsson', | ||||
| 	'ericsson'		=> 'Sony Ericsson', | ||||
| 	'blackberry'	=> 'BlackBerry', | ||||
| 	'cocoon'		=> 'O2 Cocoon', | ||||
| 	'blazer'		=> 'Treo', | ||||
| 	'lg'			=> 'LG', | ||||
| 	'amoi'			=> 'Amoi', | ||||
| 	'xda'			=> 'XDA', | ||||
| 	'mda'			=> 'MDA', | ||||
| 	'vario'			=> 'Vario', | ||||
| 	'htc'			=> 'HTC', | ||||
| 	'samsung'		=> 'Samsung', | ||||
| 	'sharp'			=> 'Sharp', | ||||
| 	'sie-'			=> 'Siemens', | ||||
| 	'alcatel'		=> 'Alcatel', | ||||
| 	'benq'			=> 'BenQ', | ||||
| 	'ipaq'			=> 'HP iPaq', | ||||
| 	'mot-'			=> 'Motorola', | ||||
| 	'playstation portable'	=> 'PlayStation Portable', | ||||
| 	'playstation 3'		=> 'PlayStation 3', | ||||
| 	'playstation vita'  	=> 'PlayStation Vita', | ||||
| 	'hiptop'		=> 'Danger Hiptop', | ||||
| 	'nec-'			=> 'NEC', | ||||
| 	'panasonic'		=> 'Panasonic', | ||||
| 	'philips'		=> 'Philips', | ||||
| 	'sagem'			=> 'Sagem', | ||||
| 	'sanyo'			=> 'Sanyo', | ||||
| 	'spv'			=> 'SPV', | ||||
| 	'zte'			=> 'ZTE', | ||||
| 	'sendo'			=> 'Sendo', | ||||
| 	'nintendo dsi'	=> 'Nintendo DSi', | ||||
| 	'nintendo ds'	=> 'Nintendo DS', | ||||
| 	'nintendo 3ds'	=> 'Nintendo 3DS', | ||||
| 	'wii'			=> 'Nintendo Wii', | ||||
| 	'open web'		=> 'Open Web', | ||||
| 	'openweb'		=> 'OpenWeb', | ||||
| 	'meizu'                 => 'Meizu', | ||||
|  | ||||
| 	// Operating Systems | ||||
| 	'android'		=> 'Android', | ||||
| 	'symbian'		=> 'Symbian', | ||||
| 	'SymbianOS'		=> 'SymbianOS', | ||||
| 	'elaine'		=> 'Palm', | ||||
| 	'series60'		=> 'Symbian S60', | ||||
| 	'windows ce'	=> 'Windows CE', | ||||
|  | ||||
| 	// Browsers | ||||
| 	'obigo'			=> 'Obigo', | ||||
| 	'netfront'		=> 'Netfront Browser', | ||||
| 	'openwave'		=> 'Openwave Browser', | ||||
| 	'mobilexplorer'	=> 'Mobile Explorer', | ||||
| 	'operamini'		=> 'Opera Mini', | ||||
| 	'opera mini'	=> 'Opera Mini', | ||||
| 	'opera mobi'	=> 'Opera Mobile', | ||||
| 	'fennec'		=> 'Firefox Mobile', | ||||
|  | ||||
| 	// Other | ||||
| 	'digital paths'	=> 'Digital Paths', | ||||
| 	'avantgo'		=> 'AvantGo', | ||||
| 	'xiino'			=> 'Xiino', | ||||
| 	'novarra'		=> 'Novarra Transcoder', | ||||
| 	'vodafone'		=> 'Vodafone', | ||||
| 	'docomo'		=> 'NTT DoCoMo', | ||||
| 	'o2'			=> 'O2', | ||||
|  | ||||
| 	// Fallback | ||||
| 	'mobile'		=> 'Generic Mobile', | ||||
| 	'wireless'		=> 'Generic Mobile', | ||||
| 	'j2me'			=> 'Generic Mobile', | ||||
| 	'midp'			=> 'Generic Mobile', | ||||
| 	'cldc'			=> 'Generic Mobile', | ||||
| 	'up.link'		=> 'Generic Mobile', | ||||
| 	'up.browser'	=> 'Generic Mobile', | ||||
| 	'smartphone'	=> 'Generic Mobile', | ||||
| 	'cellphone'		=> 'Generic Mobile' | ||||
| ); | ||||
|  | ||||
| // There are hundreds of bots but these are the most common. | ||||
| $robots = array( | ||||
| 	'googlebot'		=> 'Googlebot', | ||||
| 	'msnbot'		=> 'MSNBot', | ||||
| 	'baiduspider'		=> 'Baiduspider', | ||||
| 	'bingbot'		=> 'Bing', | ||||
| 	'slurp'			=> 'Inktomi Slurp', | ||||
| 	'yahoo'			=> 'Yahoo', | ||||
| 	'ask jeeves'		=> 'Ask Jeeves', | ||||
| 	'fastcrawler'		=> 'FastCrawler', | ||||
| 	'infoseek'		=> 'InfoSeek Robot 1.0', | ||||
| 	'lycos'			=> 'Lycos', | ||||
| 	'yandex'		=> 'YandexBot', | ||||
| 	'mediapartners-google'	=> 'MediaPartners Google', | ||||
| 	'CRAZYWEBCRAWLER'	=> 'Crazy Webcrawler', | ||||
| 	'adsbot-google'		=> 'AdsBot Google', | ||||
| 	'feedfetcher-google'	=> 'Feedfetcher Google', | ||||
| 	'curious george'	=> 'Curious George', | ||||
| 	'ia_archiver'		=> 'Alexa Crawler', | ||||
| 	'MJ12bot'		=> 'Majestic-12', | ||||
| 	'Uptimebot'		=> 'Uptimebot' | ||||
| ); | ||||
							
								
								
									
										25
									
								
								application/controllers/Cart.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								application/controllers/Cart.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| class Cart extends CI_Controller { | ||||
|  | ||||
| 	/** | ||||
| 	 * Index Page for this controller. | ||||
| 	 * | ||||
| 	 * Maps to the following URL | ||||
| 	 * 		http://example.com/index.php/welcome | ||||
| 	 *	- or - | ||||
| 	 * 		http://example.com/index.php/welcome/index | ||||
| 	 *	- or - | ||||
| 	 * Since this controller is set as the default controller in | ||||
| 	 * config/routes.php, it's displayed at http://example.com/ | ||||
| 	 * | ||||
| 	 * So any other public methods not prefixed with an underscore will | ||||
| 	 * map to /index.php/welcome/<method_name> | ||||
| 	 * @see https://codeigniter.com/user_guide/general/urls.html | ||||
| 	 */ | ||||
| 	public function index() | ||||
| 	{ | ||||
| 		 | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										25
									
								
								application/controllers/Checkout.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								application/controllers/Checkout.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| class Checkout extends CI_Controller { | ||||
|  | ||||
| 	/** | ||||
| 	 * Index Page for this controller. | ||||
| 	 * | ||||
| 	 * Maps to the following URL | ||||
| 	 * 		http://example.com/index.php/welcome | ||||
| 	 *	- or - | ||||
| 	 * 		http://example.com/index.php/welcome/index | ||||
| 	 *	- or - | ||||
| 	 * Since this controller is set as the default controller in | ||||
| 	 * config/routes.php, it's displayed at http://example.com/ | ||||
| 	 * | ||||
| 	 * So any other public methods not prefixed with an underscore will | ||||
| 	 * map to /index.php/welcome/<method_name> | ||||
| 	 * @see https://codeigniter.com/user_guide/general/urls.html | ||||
| 	 */ | ||||
| 	public function index() | ||||
| 	{ | ||||
| 		 | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										25
									
								
								application/controllers/Home.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								application/controllers/Home.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| class Home extends CI_Controller { | ||||
|  | ||||
| 	/** | ||||
| 	 * Index Page for this controller. | ||||
| 	 * | ||||
| 	 * Maps to the following URL | ||||
| 	 * 		http://example.com/index.php/welcome | ||||
| 	 *	- or - | ||||
| 	 * 		http://example.com/index.php/welcome/index | ||||
| 	 *	- or - | ||||
| 	 * Since this controller is set as the default controller in | ||||
| 	 * config/routes.php, it's displayed at http://example.com/ | ||||
| 	 * | ||||
| 	 * So any other public methods not prefixed with an underscore will | ||||
| 	 * map to /index.php/welcome/<method_name> | ||||
| 	 * @see https://codeigniter.com/user_guide/general/urls.html | ||||
| 	 */ | ||||
| 	public function index() | ||||
| 	{ | ||||
| 		 | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										25
									
								
								application/controllers/Product.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								application/controllers/Product.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| class Product extends CI_Controller { | ||||
|  | ||||
| 	/** | ||||
| 	 * Index Page for this controller. | ||||
| 	 * | ||||
| 	 * Maps to the following URL | ||||
| 	 * 		http://example.com/index.php/welcome | ||||
| 	 *	- or - | ||||
| 	 * 		http://example.com/index.php/welcome/index | ||||
| 	 *	- or - | ||||
| 	 * Since this controller is set as the default controller in | ||||
| 	 * config/routes.php, it's displayed at http://example.com/ | ||||
| 	 * | ||||
| 	 * So any other public methods not prefixed with an underscore will | ||||
| 	 * map to /index.php/welcome/<method_name> | ||||
| 	 * @see https://codeigniter.com/user_guide/general/urls.html | ||||
| 	 */ | ||||
| 	public function index() | ||||
| 	{ | ||||
| 		 | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										117
									
								
								application/controllers/Template.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								application/controllers/Template.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,117 @@ | ||||
| <?php | ||||
|  | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| /* Set internal character encoding to UTF-8 */ | ||||
| mb_internal_encoding("UTF-8"); | ||||
|  | ||||
| class Loader extends MY_Controller | ||||
| { | ||||
|  | ||||
|     public function __construct() | ||||
|     { | ||||
|         parent::__construct(); | ||||
|         $this->load->helper('file'); | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * Load language javascript file | ||||
|      */ | ||||
|  | ||||
|     public function jsFile($file = null) | ||||
|     { | ||||
|         $contents = file_get_contents('.' . DIRECTORY_SEPARATOR . 'application' . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR . MY_LANGUAGE_FULL_NAME . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . $file); | ||||
|         if (!$contents) { | ||||
|             header('HTTP/1.1 404 Not Found'); | ||||
|             return; | ||||
|         } | ||||
|         header("Content-type: application/javascript; charset: UTF-8"); | ||||
|         echo $contents; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * Load css generated from administration -> styles | ||||
|      */ | ||||
|  | ||||
|     public function cssStyle() | ||||
|     { | ||||
|         $this->load->Model('admin/Home_admin_model'); | ||||
|         $style = $this->Home_admin_model->getValueStore('newStyle'); | ||||
|         if ($style == null) { | ||||
|             $template = $this->template; | ||||
|             $style = file_get_contents(VIEWS_DIR . $template . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR . 'default-gradient.css'); | ||||
|             if (!$style) { | ||||
|                 header('HTTP/1.1 404 Not Found'); | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|         header("Content-type: text/css; charset: UTF-8"); | ||||
|         echo $style; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * Load css file for template | ||||
|      * Can call css file in folder /assets/css/ with templatecss/filename.css | ||||
|      */ | ||||
|  | ||||
|     public function templateCss($file) | ||||
|     { | ||||
|         $template = $this->template; | ||||
|         $style = file_get_contents(VIEWS_DIR . $template . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR . $file); | ||||
|         if (!$style) { | ||||
|             header('HTTP/1.1 404 Not Found'); | ||||
|             return; | ||||
|         } | ||||
|         header("Content-type: text/css; charset: UTF-8"); | ||||
|         echo $style; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * Load js file for template | ||||
|      * Can call css file in folder /assets/js/ with templatecss/filename.js | ||||
|      */ | ||||
|  | ||||
|     public function templateJs($file) | ||||
|     { | ||||
|         $template = $this->template; | ||||
|         $js = file_get_contents(VIEWS_DIR . $template . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'js' . DIRECTORY_SEPARATOR . $file); | ||||
|         if (!$js) { | ||||
|             header('HTTP/1.1 404 Not Found'); | ||||
|             return; | ||||
|         } | ||||
|         header("Content-type: application/javascript; charset: UTF-8"); | ||||
|         echo $js; | ||||
|     } | ||||
|  | ||||
|     /* | ||||
|      * Load images comming with template in folder /assets/imgs/ | ||||
|      * Can call from view with template/imgs/filename.jpg | ||||
|      */ | ||||
|  | ||||
|     public function templateCssImage($file, $template = null) | ||||
|     { | ||||
|         if ($template == null) { | ||||
|             $template = $this->template; | ||||
|         } else { | ||||
|             $template = DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . $template . DIRECTORY_SEPARATOR; | ||||
|         } | ||||
|         $path = VIEWS_DIR . $template . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'imgs' . DIRECTORY_SEPARATOR . $file; | ||||
|         $img = file_get_contents($path); | ||||
|         if (!$img) { | ||||
|             header('HTTP/1.1 404 Not Found'); | ||||
|             return; | ||||
|         } | ||||
|         $image_mime = null; | ||||
|         if (function_exists('mime_content_type')) { | ||||
|             $image_mime = mime_content_type($path); | ||||
|         } elseif (function_exists('finfo_open')) { | ||||
|             $finfo = finfo_open(FILEINFO_MIME_TYPE); | ||||
|             $image_mime = finfo_file($finfo, $path); | ||||
|             finfo_close($finfo); | ||||
|         } | ||||
|         if ($image_mime !== null) { | ||||
|             header('Content-Type: ' . $image_mime . '  charset: UTF-8'); | ||||
|         } | ||||
|         echo $img; | ||||
|     } | ||||
|  | ||||
| } | ||||
							
								
								
									
										25
									
								
								application/controllers/Welcome.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								application/controllers/Welcome.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| class Welcome extends CI_Controller { | ||||
|  | ||||
| 	/** | ||||
| 	 * Index Page for this controller. | ||||
| 	 * | ||||
| 	 * Maps to the following URL | ||||
| 	 * 		http://example.com/index.php/welcome | ||||
| 	 *	- or - | ||||
| 	 * 		http://example.com/index.php/welcome/index | ||||
| 	 *	- or - | ||||
| 	 * Since this controller is set as the default controller in | ||||
| 	 * config/routes.php, it's displayed at http://example.com/ | ||||
| 	 * | ||||
| 	 * So any other public methods not prefixed with an underscore will | ||||
| 	 * map to /index.php/welcome/<method_name> | ||||
| 	 * @see https://codeigniter.com/user_guide/general/urls.html | ||||
| 	 */ | ||||
| 	public function index() | ||||
| 	{ | ||||
| 		$this->load->view('welcome_message'); | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										26
									
								
								application/controllers/admin/Dashboard.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								application/controllers/admin/Dashboard.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| class Dashboard extends CI_Controller { | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Index Page for this controller. | ||||
| 	 * | ||||
| 	 * Maps to the following URL | ||||
| 	 * 		http://example.com/index.php/welcome | ||||
| 	 *	- or - | ||||
| 	 * 		http://example.com/index.php/welcome/index | ||||
| 	 *	- or - | ||||
| 	 * Since this controller is set as the default controller in | ||||
| 	 * config/routes.php, it's displayed at http://example.com/ | ||||
| 	 * | ||||
| 	 * So any other public methods not prefixed with an underscore will | ||||
| 	 * map to /index.php/welcome/<method_name> | ||||
| 	 * @see https://codeigniter.com/user_guide/general/urls.html | ||||
| 	 */ | ||||
| 	public function index() | ||||
| 	{ | ||||
| 		$adm_template = 'sb_admin'; | ||||
| 		$this->template->load('admin/' . $adm_template); | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										11
									
								
								application/controllers/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/controllers/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/core/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/core/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/helpers/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/helpers/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/hooks/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/hooks/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/language/english/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/language/english/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/language/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/language/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										60
									
								
								application/libraries/Template.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								application/libraries/Template.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,60 @@ | ||||
| <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); | ||||
|   | ||||
|     class Template  | ||||
|     { | ||||
|         var $ci; | ||||
|           | ||||
|         function __construct()  | ||||
|         { | ||||
|             $this->ci =& get_instance(); | ||||
|         } | ||||
| 		 | ||||
| 		/*function load($tpl_view, $body_view = null, $data = null)  | ||||
| 		{ | ||||
| 			if ( ! is_null( $body_view ) )  | ||||
| 			{ | ||||
| 				if ( file_exists( APPPATH.'views/'.$tpl_view.'/'.$body_view ) )  | ||||
| 				{ | ||||
| 					$body_view_path = $tpl_view.'/'.$body_view; | ||||
| 				} | ||||
| 				else if ( file_exists( APPPATH.'views/'.$tpl_view.'/'.$body_view.'.php' ) )  | ||||
| 				{ | ||||
| 					$body_view_path = $tpl_view.'/'.$body_view.'.php'; | ||||
| 				} | ||||
| 				else if ( file_exists( APPPATH.'views/'.$body_view ) )  | ||||
| 				{ | ||||
| 					$body_view_path = $body_view; | ||||
| 				} | ||||
| 				else if ( file_exists( APPPATH.'views/'.$body_view.'.php' ) )  | ||||
| 				{ | ||||
| 					$body_view_path = $body_view.'.php'; | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					show_error('Unable to load the requested file: ' . $tpl_name.'/'.$view_name.'.php'); | ||||
| 				} | ||||
| 				 | ||||
| 				$body = $this->ci->load->view($body_view_path, $data, TRUE); | ||||
| 				 | ||||
| 				if ( is_null($data) )  | ||||
| 				{ | ||||
| 					$data = array('body' => $body); | ||||
| 				} | ||||
| 				else if ( is_array($data) ) | ||||
| 				{ | ||||
| 					$data['body'] = $body; | ||||
| 				} | ||||
| 				else if ( is_object($data) ) | ||||
| 				{ | ||||
| 					$data->body = $body; | ||||
| 				} | ||||
| 			} | ||||
| 			 | ||||
| 			$this->ci->load->view('templates/'.$tpl_view, $data); | ||||
| 		}*/ | ||||
| 		 | ||||
| 		function load($tpl_path, $part = 'index', $data = null)  | ||||
| 		{						 | ||||
| 			$this->ci->load->view($tpl_path . '/' . $part, $data); | ||||
| 		} | ||||
|     } | ||||
							
								
								
									
										11
									
								
								application/libraries/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/libraries/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/logs/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/logs/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/models/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/models/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/third_party/index.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/third_party/index.html
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										673
									
								
								application/views/admin/sb_admin/index.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										673
									
								
								application/views/admin/sb_admin/index.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,673 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
|  | ||||
| <head> | ||||
|  | ||||
|   <meta charset="utf-8"> | ||||
|   <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||||
|   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | ||||
|   <meta name="description" content=""> | ||||
|   <meta name="author" content=""> | ||||
|  | ||||
|   <title>Dashboard - Admin</title> | ||||
|  | ||||
|   <!-- Custom fonts for this template--> | ||||
|   <link href="<?php echo base_url('/assets/vendor/') ?>fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> | ||||
|   <link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> | ||||
|  | ||||
|   <!-- Custom styles for this template--> | ||||
|   <link href="<?php echo base_url('/assets/css/') ?>sb-admin-2.min.css" rel="stylesheet"> | ||||
|  | ||||
| </head> | ||||
|  | ||||
| <body id="page-top"> | ||||
|  | ||||
|   <!-- Page Wrapper --> | ||||
|   <div id="wrapper"> | ||||
|  | ||||
|     <!-- Sidebar --> | ||||
|     <ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar"> | ||||
|  | ||||
|       <!-- Sidebar - Brand --> | ||||
|       <a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.html"> | ||||
|         <div class="sidebar-brand-icon rotate-n-15"> | ||||
|           <i class="fas fa-laugh-wink"></i> | ||||
|         </div> | ||||
|         <div class="sidebar-brand-text mx-3">Admin Panel</div> | ||||
|       </a> | ||||
|  | ||||
|       <!-- Divider --> | ||||
|       <hr class="sidebar-divider my-0"> | ||||
|  | ||||
|       <!-- Nav Item - Dashboard --> | ||||
|       <li class="nav-item active"> | ||||
|         <a class="nav-link" href="index.html"> | ||||
|           <i class="fas fa-fw fa-tachometer-alt"></i> | ||||
|           <span>Dashboard</span></a> | ||||
|       </li> | ||||
|  | ||||
|       <!-- Divider --> | ||||
|       <hr class="sidebar-divider"> | ||||
|  | ||||
|       <!-- Heading --> | ||||
|       <div class="sidebar-heading"> | ||||
|         Interface | ||||
|       </div> | ||||
|  | ||||
|       <!-- Nav Item - Pages Collapse Menu --> | ||||
|       <li class="nav-item"> | ||||
|         <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> | ||||
|           <i class="fas fa-fw fa-cog"></i> | ||||
|           <span>Components</span> | ||||
|         </a> | ||||
|         <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar"> | ||||
|           <div class="bg-white py-2 collapse-inner rounded"> | ||||
|             <h6 class="collapse-header">Custom Components:</h6> | ||||
|             <a class="collapse-item" href="buttons.html">Buttons</a> | ||||
|             <a class="collapse-item" href="cards.html">Cards</a> | ||||
|           </div> | ||||
|         </div> | ||||
|       </li> | ||||
|  | ||||
|       <!-- Nav Item - Utilities Collapse Menu --> | ||||
|       <li class="nav-item"> | ||||
|         <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> | ||||
|           <i class="fas fa-fw fa-wrench"></i> | ||||
|           <span>Utilities</span> | ||||
|         </a> | ||||
|         <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> | ||||
|           <div class="bg-white py-2 collapse-inner rounded"> | ||||
|             <h6 class="collapse-header">Custom Utilities:</h6> | ||||
|             <a class="collapse-item" href="utilities-color.html">Colors</a> | ||||
|             <a class="collapse-item" href="utilities-border.html">Borders</a> | ||||
|             <a class="collapse-item" href="utilities-animation.html">Animations</a> | ||||
|             <a class="collapse-item" href="utilities-other.html">Other</a> | ||||
|           </div> | ||||
|         </div> | ||||
|       </li> | ||||
|  | ||||
|       <!-- Divider --> | ||||
|       <hr class="sidebar-divider"> | ||||
|  | ||||
|       <!-- Heading --> | ||||
|       <div class="sidebar-heading"> | ||||
|         Addons | ||||
|       </div> | ||||
|  | ||||
|       <!-- Nav Item - Pages Collapse Menu --> | ||||
|       <li class="nav-item"> | ||||
|         <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> | ||||
|           <i class="fas fa-fw fa-folder"></i> | ||||
|           <span>Pages</span> | ||||
|         </a> | ||||
|         <div id="collapsePages" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar"> | ||||
|           <div class="bg-white py-2 collapse-inner rounded"> | ||||
|             <h6 class="collapse-header">Login Screens:</h6> | ||||
|             <a class="collapse-item" href="login.html">Login</a> | ||||
|             <a class="collapse-item" href="register.html">Register</a> | ||||
|             <a class="collapse-item" href="forgot-password.html">Forgot Password</a> | ||||
|             <div class="collapse-divider"></div> | ||||
|             <h6 class="collapse-header">Other Pages:</h6> | ||||
|             <a class="collapse-item" href="404.html">404 Page</a> | ||||
|             <a class="collapse-item" href="blank.html">Blank Page</a> | ||||
|           </div> | ||||
|         </div> | ||||
|       </li> | ||||
|  | ||||
|       <!-- Nav Item - Charts --> | ||||
|       <li class="nav-item"> | ||||
|         <a class="nav-link" href="charts.html"> | ||||
|           <i class="fas fa-fw fa-chart-area"></i> | ||||
|           <span>Charts</span></a> | ||||
|       </li> | ||||
|  | ||||
|       <!-- Nav Item - Tables --> | ||||
|       <li class="nav-item"> | ||||
|         <a class="nav-link" href="tables.html"> | ||||
|           <i class="fas fa-fw fa-table"></i> | ||||
|           <span>Tables</span></a> | ||||
|       </li> | ||||
|  | ||||
|       <!-- Divider --> | ||||
|       <hr class="sidebar-divider d-none d-md-block"> | ||||
|  | ||||
|       <!-- Sidebar Toggler (Sidebar) --> | ||||
|       <div class="text-center d-none d-md-inline"> | ||||
|         <button class="rounded-circle border-0" id="sidebarToggle"></button> | ||||
|       </div> | ||||
|  | ||||
|     </ul> | ||||
|     <!-- End of Sidebar --> | ||||
|  | ||||
|     <!-- Content Wrapper --> | ||||
|     <div id="content-wrapper" class="d-flex flex-column"> | ||||
|  | ||||
|       <!-- Main Content --> | ||||
|       <div id="content"> | ||||
|  | ||||
|         <!-- Topbar --> | ||||
|         <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow"> | ||||
|  | ||||
|           <!-- Sidebar Toggle (Topbar) --> | ||||
|           <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3"> | ||||
|             <i class="fa fa-bars"></i> | ||||
|           </button> | ||||
|  | ||||
|           <!-- Topbar Search --> | ||||
|           <form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> | ||||
|             <div class="input-group"> | ||||
|               <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> | ||||
|               <div class="input-group-append"> | ||||
|                 <button class="btn btn-primary" type="button"> | ||||
|                   <i class="fas fa-search fa-sm"></i> | ||||
|                 </button> | ||||
|               </div> | ||||
|             </div> | ||||
|           </form> | ||||
|  | ||||
|           <!-- Topbar Navbar --> | ||||
|           <ul class="navbar-nav ml-auto"> | ||||
|  | ||||
|             <!-- Nav Item - Search Dropdown (Visible Only XS) --> | ||||
|             <li class="nav-item dropdown no-arrow d-sm-none"> | ||||
|               <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||||
|                 <i class="fas fa-search fa-fw"></i> | ||||
|               </a> | ||||
|               <!-- Dropdown - Messages --> | ||||
|               <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> | ||||
|                 <form class="form-inline mr-auto w-100 navbar-search"> | ||||
|                   <div class="input-group"> | ||||
|                     <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> | ||||
|                     <div class="input-group-append"> | ||||
|                       <button class="btn btn-primary" type="button"> | ||||
|                         <i class="fas fa-search fa-sm"></i> | ||||
|                       </button> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </form> | ||||
|               </div> | ||||
|             </li> | ||||
|  | ||||
|             <!-- Nav Item - Alerts --> | ||||
|             <li class="nav-item dropdown no-arrow mx-1"> | ||||
|               <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||||
|                 <i class="fas fa-bell fa-fw"></i> | ||||
|                 <!-- Counter - Alerts --> | ||||
|                 <span class="badge badge-danger badge-counter">3+</span> | ||||
|               </a> | ||||
|               <!-- Dropdown - Alerts --> | ||||
|               <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> | ||||
|                 <h6 class="dropdown-header"> | ||||
|                   Alerts Center | ||||
|                 </h6> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="mr-3"> | ||||
|                     <div class="icon-circle bg-primary"> | ||||
|                       <i class="fas fa-file-alt text-white"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   <div> | ||||
|                     <div class="small text-gray-500">December 12, 2019</div> | ||||
|                     <span class="font-weight-bold">A new monthly report is ready to download!</span> | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="mr-3"> | ||||
|                     <div class="icon-circle bg-success"> | ||||
|                       <i class="fas fa-donate text-white"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   <div> | ||||
|                     <div class="small text-gray-500">December 7, 2019</div> | ||||
|                     $290.29 has been deposited into your account! | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="mr-3"> | ||||
|                     <div class="icon-circle bg-warning"> | ||||
|                       <i class="fas fa-exclamation-triangle text-white"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   <div> | ||||
|                     <div class="small text-gray-500">December 2, 2019</div> | ||||
|                     Spending Alert: We've noticed unusually high spending for your account. | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item text-center small text-gray-500" href="#">Show All Alerts</a> | ||||
|               </div> | ||||
|             </li> | ||||
|  | ||||
|             <!-- Nav Item - Messages --> | ||||
|             <li class="nav-item dropdown no-arrow mx-1"> | ||||
|               <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||||
|                 <i class="fas fa-envelope fa-fw"></i> | ||||
|                 <!-- Counter - Messages --> | ||||
|                 <span class="badge badge-danger badge-counter">7</span> | ||||
|               </a> | ||||
|               <!-- Dropdown - Messages --> | ||||
|               <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> | ||||
|                 <h6 class="dropdown-header"> | ||||
|                   Message Center | ||||
|                 </h6> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="dropdown-list-image mr-3"> | ||||
|                     <img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> | ||||
|                     <div class="status-indicator bg-success"></div> | ||||
|                   </div> | ||||
|                   <div class="font-weight-bold"> | ||||
|                     <div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> | ||||
|                     <div class="small text-gray-500">Emily Fowler · 58m</div> | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="dropdown-list-image mr-3"> | ||||
|                     <img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> | ||||
|                     <div class="status-indicator"></div> | ||||
|                   </div> | ||||
|                   <div> | ||||
|                     <div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> | ||||
|                     <div class="small text-gray-500">Jae Chun · 1d</div> | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="dropdown-list-image mr-3"> | ||||
|                     <img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> | ||||
|                     <div class="status-indicator bg-warning"></div> | ||||
|                   </div> | ||||
|                   <div> | ||||
|                     <div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> | ||||
|                     <div class="small text-gray-500">Morgan Alvarez · 2d</div> | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item d-flex align-items-center" href="#"> | ||||
|                   <div class="dropdown-list-image mr-3"> | ||||
|                     <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> | ||||
|                     <div class="status-indicator bg-success"></div> | ||||
|                   </div> | ||||
|                   <div> | ||||
|                     <div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> | ||||
|                     <div class="small text-gray-500">Chicken the Dog · 2w</div> | ||||
|                   </div> | ||||
|                 </a> | ||||
|                 <a class="dropdown-item text-center small text-gray-500" href="#">Read More Messages</a> | ||||
|               </div> | ||||
|             </li> | ||||
|  | ||||
|             <div class="topbar-divider d-none d-sm-block"></div> | ||||
|  | ||||
|             <!-- Nav Item - User Information --> | ||||
|             <li class="nav-item dropdown no-arrow"> | ||||
|               <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||||
|                 <span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> | ||||
|                 <img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> | ||||
|               </a> | ||||
|               <!-- Dropdown - User Information --> | ||||
|               <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> | ||||
|                 <a class="dropdown-item" href="#"> | ||||
|                   <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> | ||||
|                   Profile | ||||
|                 </a> | ||||
|                 <a class="dropdown-item" href="#"> | ||||
|                   <i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i> | ||||
|                   Settings | ||||
|                 </a> | ||||
|                 <a class="dropdown-item" href="#"> | ||||
|                   <i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i> | ||||
|                   Activity Log | ||||
|                 </a> | ||||
|                 <div class="dropdown-divider"></div> | ||||
|                 <a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal"> | ||||
|                   <i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i> | ||||
|                   Logout | ||||
|                 </a> | ||||
|               </div> | ||||
|             </li> | ||||
|  | ||||
|           </ul> | ||||
|  | ||||
|         </nav> | ||||
|         <!-- End of Topbar --> | ||||
|  | ||||
|         <!-- Begin Page Content --> | ||||
|         <div class="container-fluid"> | ||||
|  | ||||
|           <!-- Page Heading --> | ||||
|           <div class="d-sm-flex align-items-center justify-content-between mb-4"> | ||||
|             <h1 class="h3 mb-0 text-gray-800">Dashboard</h1> | ||||
|             <a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Generate Report</a> | ||||
|           </div> | ||||
|  | ||||
|           <!-- Content Row --> | ||||
|           <div class="row"> | ||||
|  | ||||
|             <!-- Earnings (Monthly) Card Example --> | ||||
|             <div class="col-xl-3 col-md-6 mb-4"> | ||||
|               <div class="card border-left-primary shadow h-100 py-2"> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="row no-gutters align-items-center"> | ||||
|                     <div class="col mr-2"> | ||||
|                       <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Earnings (Monthly)</div> | ||||
|                       <div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div> | ||||
|                     </div> | ||||
|                     <div class="col-auto"> | ||||
|                       <i class="fas fa-calendar fa-2x text-gray-300"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|  | ||||
|             <!-- Earnings (Monthly) Card Example --> | ||||
|             <div class="col-xl-3 col-md-6 mb-4"> | ||||
|               <div class="card border-left-success shadow h-100 py-2"> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="row no-gutters align-items-center"> | ||||
|                     <div class="col mr-2"> | ||||
|                       <div class="text-xs font-weight-bold text-success text-uppercase mb-1">Earnings (Annual)</div> | ||||
|                       <div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div> | ||||
|                     </div> | ||||
|                     <div class="col-auto"> | ||||
|                       <i class="fas fa-dollar-sign fa-2x text-gray-300"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|  | ||||
|             <!-- Earnings (Monthly) Card Example --> | ||||
|             <div class="col-xl-3 col-md-6 mb-4"> | ||||
|               <div class="card border-left-info shadow h-100 py-2"> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="row no-gutters align-items-center"> | ||||
|                     <div class="col mr-2"> | ||||
|                       <div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks</div> | ||||
|                       <div class="row no-gutters align-items-center"> | ||||
|                         <div class="col-auto"> | ||||
|                           <div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div> | ||||
|                         </div> | ||||
|                         <div class="col"> | ||||
|                           <div class="progress progress-sm mr-2"> | ||||
|                             <div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div> | ||||
|                           </div> | ||||
|                         </div> | ||||
|                       </div> | ||||
|                     </div> | ||||
|                     <div class="col-auto"> | ||||
|                       <i class="fas fa-clipboard-list fa-2x text-gray-300"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|  | ||||
|             <!-- Pending Requests Card Example --> | ||||
|             <div class="col-xl-3 col-md-6 mb-4"> | ||||
|               <div class="card border-left-warning shadow h-100 py-2"> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="row no-gutters align-items-center"> | ||||
|                     <div class="col mr-2"> | ||||
|                       <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pending Requests</div> | ||||
|                       <div class="h5 mb-0 font-weight-bold text-gray-800">18</div> | ||||
|                     </div> | ||||
|                     <div class="col-auto"> | ||||
|                       <i class="fas fa-comments fa-2x text-gray-300"></i> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|  | ||||
|           <!-- Content Row --> | ||||
|  | ||||
|           <div class="row"> | ||||
|  | ||||
|             <!-- Area Chart --> | ||||
|             <div class="col-xl-8 col-lg-7"> | ||||
|               <div class="card shadow mb-4"> | ||||
|                 <!-- Card Header - Dropdown --> | ||||
|                 <div class="card-header py-3 d-flex flex-row align-items-center justify-content-between"> | ||||
|                   <h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6> | ||||
|                   <div class="dropdown no-arrow"> | ||||
|                     <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||||
|                       <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i> | ||||
|                     </a> | ||||
|                     <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> | ||||
|                       <div class="dropdown-header">Dropdown Header:</div> | ||||
|                       <a class="dropdown-item" href="#">Action</a> | ||||
|                       <a class="dropdown-item" href="#">Another action</a> | ||||
|                       <div class="dropdown-divider"></div> | ||||
|                       <a class="dropdown-item" href="#">Something else here</a> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <!-- Card Body --> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="chart-area"> | ||||
|                     <canvas id="myAreaChart"></canvas> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|  | ||||
|             <!-- Pie Chart --> | ||||
|             <div class="col-xl-4 col-lg-5"> | ||||
|               <div class="card shadow mb-4"> | ||||
|                 <!-- Card Header - Dropdown --> | ||||
|                 <div class="card-header py-3 d-flex flex-row align-items-center justify-content-between"> | ||||
|                   <h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6> | ||||
|                   <div class="dropdown no-arrow"> | ||||
|                     <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> | ||||
|                       <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i> | ||||
|                     </a> | ||||
|                     <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> | ||||
|                       <div class="dropdown-header">Dropdown Header:</div> | ||||
|                       <a class="dropdown-item" href="#">Action</a> | ||||
|                       <a class="dropdown-item" href="#">Another action</a> | ||||
|                       <div class="dropdown-divider"></div> | ||||
|                       <a class="dropdown-item" href="#">Something else here</a> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <!-- Card Body --> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="chart-pie pt-4 pb-2"> | ||||
|                     <canvas id="myPieChart"></canvas> | ||||
|                   </div> | ||||
|                   <div class="mt-4 text-center small"> | ||||
|                     <span class="mr-2"> | ||||
|                       <i class="fas fa-circle text-primary"></i> Direct | ||||
|                     </span> | ||||
|                     <span class="mr-2"> | ||||
|                       <i class="fas fa-circle text-success"></i> Social | ||||
|                     </span> | ||||
|                     <span class="mr-2"> | ||||
|                       <i class="fas fa-circle text-info"></i> Referral | ||||
|                     </span> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|  | ||||
|           <!-- Content Row --> | ||||
|           <div class="row"> | ||||
|  | ||||
|             <!-- Content Column --> | ||||
|             <div class="col-lg-6 mb-4"> | ||||
|  | ||||
|               <!-- Project Card Example --> | ||||
|               <div class="card shadow mb-4"> | ||||
|                 <div class="card-header py-3"> | ||||
|                   <h6 class="m-0 font-weight-bold text-primary">Projects</h6> | ||||
|                 </div> | ||||
|                 <div class="card-body"> | ||||
|                   <h4 class="small font-weight-bold">Server Migration <span class="float-right">20%</span></h4> | ||||
|                   <div class="progress mb-4"> | ||||
|                     <div class="progress-bar bg-danger" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div> | ||||
|                   </div> | ||||
|                   <h4 class="small font-weight-bold">Sales Tracking <span class="float-right">40%</span></h4> | ||||
|                   <div class="progress mb-4"> | ||||
|                     <div class="progress-bar bg-warning" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div> | ||||
|                   </div> | ||||
|                   <h4 class="small font-weight-bold">Customer Database <span class="float-right">60%</span></h4> | ||||
|                   <div class="progress mb-4"> | ||||
|                     <div class="progress-bar" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div> | ||||
|                   </div> | ||||
|                   <h4 class="small font-weight-bold">Payout Details <span class="float-right">80%</span></h4> | ||||
|                   <div class="progress mb-4"> | ||||
|                     <div class="progress-bar bg-info" role="progressbar" style="width: 80%" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div> | ||||
|                   </div> | ||||
|                   <h4 class="small font-weight-bold">Account Setup <span class="float-right">Complete!</span></h4> | ||||
|                   <div class="progress"> | ||||
|                     <div class="progress-bar bg-success" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|  | ||||
|               <!-- Color System --> | ||||
|               <div class="row"> | ||||
|                 <div class="col-lg-6 mb-4"> | ||||
|                   <div class="card bg-primary text-white shadow"> | ||||
|                     <div class="card-body"> | ||||
|                       Primary | ||||
|                       <div class="text-white-50 small">#4e73df</div> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <div class="col-lg-6 mb-4"> | ||||
|                   <div class="card bg-success text-white shadow"> | ||||
|                     <div class="card-body"> | ||||
|                       Success | ||||
|                       <div class="text-white-50 small">#1cc88a</div> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <div class="col-lg-6 mb-4"> | ||||
|                   <div class="card bg-info text-white shadow"> | ||||
|                     <div class="card-body"> | ||||
|                       Info | ||||
|                       <div class="text-white-50 small">#36b9cc</div> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <div class="col-lg-6 mb-4"> | ||||
|                   <div class="card bg-warning text-white shadow"> | ||||
|                     <div class="card-body"> | ||||
|                       Warning | ||||
|                       <div class="text-white-50 small">#f6c23e</div> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <div class="col-lg-6 mb-4"> | ||||
|                   <div class="card bg-danger text-white shadow"> | ||||
|                     <div class="card-body"> | ||||
|                       Danger | ||||
|                       <div class="text-white-50 small">#e74a3b</div> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <div class="col-lg-6 mb-4"> | ||||
|                   <div class="card bg-secondary text-white shadow"> | ||||
|                     <div class="card-body"> | ||||
|                       Secondary | ||||
|                       <div class="text-white-50 small">#858796</div> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|               </div> | ||||
|  | ||||
|             </div> | ||||
|  | ||||
|             <div class="col-lg-6 mb-4"> | ||||
|  | ||||
|               <!-- Illustrations --> | ||||
|               <div class="card shadow mb-4"> | ||||
|                 <div class="card-header py-3"> | ||||
|                   <h6 class="m-0 font-weight-bold text-primary">Illustrations</h6> | ||||
|                 </div> | ||||
|                 <div class="card-body"> | ||||
|                   <div class="text-center"> | ||||
|                     <img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;" src="img/undraw_posting_photo.svg" alt=""> | ||||
|                   </div> | ||||
|                   <p>Add some quality, svg illustrations to your project courtesy of <a target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a constantly updated collection of beautiful svg images that you can use completely free and without attribution!</p> | ||||
|                   <a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on unDraw →</a> | ||||
|                 </div> | ||||
|               </div> | ||||
|  | ||||
|               <!-- Approach --> | ||||
|               <div class="card shadow mb-4"> | ||||
|                 <div class="card-header py-3"> | ||||
|                   <h6 class="m-0 font-weight-bold text-primary">Development Approach</h6> | ||||
|                 </div> | ||||
|                 <div class="card-body"> | ||||
|                   <p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce CSS bloat and poor page performance. Custom CSS classes are used to create custom components and custom utility classes.</p> | ||||
|                   <p class="mb-0">Before working with this theme, you should become familiar with the Bootstrap framework, especially the utility classes.</p> | ||||
|                 </div> | ||||
|               </div> | ||||
|  | ||||
|             </div> | ||||
|           </div> | ||||
|  | ||||
|         </div> | ||||
|         <!-- /.container-fluid --> | ||||
|  | ||||
|       </div> | ||||
|       <!-- End of Main Content --> | ||||
|  | ||||
|       <!-- Footer --> | ||||
|       <footer class="sticky-footer bg-white"> | ||||
|         <div class="container my-auto"> | ||||
|           <div class="copyright text-center my-auto"> | ||||
|             <span>Copyright © Your Website 2019</span> | ||||
|           </div> | ||||
|         </div> | ||||
|       </footer> | ||||
|       <!-- End of Footer --> | ||||
|  | ||||
|     </div> | ||||
|     <!-- End of Content Wrapper --> | ||||
|  | ||||
|   </div> | ||||
|   <!-- End of Page Wrapper --> | ||||
|  | ||||
|   <!-- Scroll to Top Button--> | ||||
|   <a class="scroll-to-top rounded" href="#page-top"> | ||||
|     <i class="fas fa-angle-up"></i> | ||||
|   </a> | ||||
|  | ||||
|   <!-- Logout Modal--> | ||||
|   <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> | ||||
|     <div class="modal-dialog" role="document"> | ||||
|       <div class="modal-content"> | ||||
|         <div class="modal-header"> | ||||
|           <h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5> | ||||
|           <button class="close" type="button" data-dismiss="modal" aria-label="Close"> | ||||
|             <span aria-hidden="true">×</span> | ||||
|           </button> | ||||
|         </div> | ||||
|         <div class="modal-body">Select "Logout" below if you are ready to end your current session.</div> | ||||
|         <div class="modal-footer"> | ||||
|           <button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button> | ||||
|           <a class="btn btn-primary" href="login.html">Logout</a> | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|  | ||||
|   <!-- Bootstrap core JavaScript--> | ||||
|   <script src="<?php echo base_url('/assets/vendor/') ?>jquery/jquery.min.js"></script> | ||||
|   <script src="<?php echo base_url('/assets/vendor/') ?>bootstrap/js/bootstrap.bundle.min.js"></script> | ||||
|  | ||||
|   <!-- Core plugin JavaScript--> | ||||
|   <script src="<?php echo base_url('/assets/vendor/') ?>jquery-easing/jquery.easing.min.js"></script> | ||||
|  | ||||
|   <!-- Custom scripts for all pages--> | ||||
|   <script src="<?php echo base_url('/assets/js/') ?>sb-admin-2.min.js"></script> | ||||
|  | ||||
|   <!-- Page level plugins --> | ||||
|   <script src="<?php echo base_url('/assets/vendor/') ?>chart.js/Chart.min.js"></script> | ||||
|  | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
							
								
								
									
										8
									
								
								application/views/errors/cli/error_404.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								application/views/errors/cli/error_404.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| echo "\nERROR: ", | ||||
| 	$heading, | ||||
| 	"\n\n", | ||||
| 	$message, | ||||
| 	"\n\n"; | ||||
							
								
								
									
										8
									
								
								application/views/errors/cli/error_db.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								application/views/errors/cli/error_db.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| echo "\nDatabase error: ", | ||||
| 	$heading, | ||||
| 	"\n\n", | ||||
| 	$message, | ||||
| 	"\n\n"; | ||||
							
								
								
									
										21
									
								
								application/views/errors/cli/error_exception.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								application/views/errors/cli/error_exception.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> | ||||
|  | ||||
| An uncaught Exception was encountered | ||||
|  | ||||
| Type:        <?php echo get_class($exception), "\n"; ?> | ||||
| Message:     <?php echo $message, "\n"; ?> | ||||
| Filename:    <?php echo $exception->getFile(), "\n"; ?> | ||||
| Line Number: <?php echo $exception->getLine(); ?> | ||||
|  | ||||
| <?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?> | ||||
|  | ||||
| Backtrace: | ||||
| <?php	foreach ($exception->getTrace() as $error): ?> | ||||
| <?php		if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?> | ||||
| 	File: <?php echo $error['file'], "\n"; ?> | ||||
| 	Line: <?php echo $error['line'], "\n"; ?> | ||||
| 	Function: <?php echo $error['function'], "\n\n"; ?> | ||||
| <?php		endif ?> | ||||
| <?php	endforeach ?> | ||||
|  | ||||
| <?php endif ?> | ||||
							
								
								
									
										8
									
								
								application/views/errors/cli/error_general.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								application/views/errors/cli/error_general.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
|  | ||||
| echo "\nERROR: ", | ||||
| 	$heading, | ||||
| 	"\n\n", | ||||
| 	$message, | ||||
| 	"\n\n"; | ||||
							
								
								
									
										21
									
								
								application/views/errors/cli/error_php.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								application/views/errors/cli/error_php.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> | ||||
|  | ||||
| A PHP Error was encountered | ||||
|  | ||||
| Severity:    <?php echo $severity, "\n"; ?> | ||||
| Message:     <?php echo $message, "\n"; ?> | ||||
| Filename:    <?php echo $filepath, "\n"; ?> | ||||
| Line Number: <?php echo $line; ?> | ||||
|  | ||||
| <?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?> | ||||
|  | ||||
| Backtrace: | ||||
| <?php	foreach (debug_backtrace() as $error): ?> | ||||
| <?php		if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?> | ||||
| 	File: <?php echo $error['file'], "\n"; ?> | ||||
| 	Line: <?php echo $error['line'], "\n"; ?> | ||||
| 	Function: <?php echo $error['function'], "\n\n"; ?> | ||||
| <?php		endif ?> | ||||
| <?php	endforeach ?> | ||||
|  | ||||
| <?php endif ?> | ||||
							
								
								
									
										11
									
								
								application/views/errors/cli/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/views/errors/cli/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										64
									
								
								application/views/errors/html/error_404.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								application/views/errors/html/error_404.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| ?><!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <title>404 Page Not Found</title> | ||||
| <style type="text/css"> | ||||
|  | ||||
| ::selection { background-color: #E13300; color: white; } | ||||
| ::-moz-selection { background-color: #E13300; color: white; } | ||||
|  | ||||
| body { | ||||
| 	background-color: #fff; | ||||
| 	margin: 40px; | ||||
| 	font: 13px/20px normal Helvetica, Arial, sans-serif; | ||||
| 	color: #4F5155; | ||||
| } | ||||
|  | ||||
| a { | ||||
| 	color: #003399; | ||||
| 	background-color: transparent; | ||||
| 	font-weight: normal; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
| 	color: #444; | ||||
| 	background-color: transparent; | ||||
| 	border-bottom: 1px solid #D0D0D0; | ||||
| 	font-size: 19px; | ||||
| 	font-weight: normal; | ||||
| 	margin: 0 0 14px 0; | ||||
| 	padding: 14px 15px 10px 15px; | ||||
| } | ||||
|  | ||||
| code { | ||||
| 	font-family: Consolas, Monaco, Courier New, Courier, monospace; | ||||
| 	font-size: 12px; | ||||
| 	background-color: #f9f9f9; | ||||
| 	border: 1px solid #D0D0D0; | ||||
| 	color: #002166; | ||||
| 	display: block; | ||||
| 	margin: 14px 0 14px 0; | ||||
| 	padding: 12px 10px 12px 10px; | ||||
| } | ||||
|  | ||||
| #container { | ||||
| 	margin: 10px; | ||||
| 	border: 1px solid #D0D0D0; | ||||
| 	box-shadow: 0 0 8px #D0D0D0; | ||||
| } | ||||
|  | ||||
| p { | ||||
| 	margin: 12px 15px 12px 15px; | ||||
| } | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
| 	<div id="container"> | ||||
| 		<h1><?php echo $heading; ?></h1> | ||||
| 		<?php echo $message; ?> | ||||
| 	</div> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										64
									
								
								application/views/errors/html/error_db.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								application/views/errors/html/error_db.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| ?><!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <title>Database Error</title> | ||||
| <style type="text/css"> | ||||
|  | ||||
| ::selection { background-color: #E13300; color: white; } | ||||
| ::-moz-selection { background-color: #E13300; color: white; } | ||||
|  | ||||
| body { | ||||
| 	background-color: #fff; | ||||
| 	margin: 40px; | ||||
| 	font: 13px/20px normal Helvetica, Arial, sans-serif; | ||||
| 	color: #4F5155; | ||||
| } | ||||
|  | ||||
| a { | ||||
| 	color: #003399; | ||||
| 	background-color: transparent; | ||||
| 	font-weight: normal; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
| 	color: #444; | ||||
| 	background-color: transparent; | ||||
| 	border-bottom: 1px solid #D0D0D0; | ||||
| 	font-size: 19px; | ||||
| 	font-weight: normal; | ||||
| 	margin: 0 0 14px 0; | ||||
| 	padding: 14px 15px 10px 15px; | ||||
| } | ||||
|  | ||||
| code { | ||||
| 	font-family: Consolas, Monaco, Courier New, Courier, monospace; | ||||
| 	font-size: 12px; | ||||
| 	background-color: #f9f9f9; | ||||
| 	border: 1px solid #D0D0D0; | ||||
| 	color: #002166; | ||||
| 	display: block; | ||||
| 	margin: 14px 0 14px 0; | ||||
| 	padding: 12px 10px 12px 10px; | ||||
| } | ||||
|  | ||||
| #container { | ||||
| 	margin: 10px; | ||||
| 	border: 1px solid #D0D0D0; | ||||
| 	box-shadow: 0 0 8px #D0D0D0; | ||||
| } | ||||
|  | ||||
| p { | ||||
| 	margin: 12px 15px 12px 15px; | ||||
| } | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
| 	<div id="container"> | ||||
| 		<h1><?php echo $heading; ?></h1> | ||||
| 		<?php echo $message; ?> | ||||
| 	</div> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										32
									
								
								application/views/errors/html/error_exception.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								application/views/errors/html/error_exception.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| ?> | ||||
|  | ||||
| <div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> | ||||
|  | ||||
| <h4>An uncaught Exception was encountered</h4> | ||||
|  | ||||
| <p>Type: <?php echo get_class($exception); ?></p> | ||||
| <p>Message: <?php echo $message; ?></p> | ||||
| <p>Filename: <?php echo $exception->getFile(); ?></p> | ||||
| <p>Line Number: <?php echo $exception->getLine(); ?></p> | ||||
|  | ||||
| <?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?> | ||||
|  | ||||
| 	<p>Backtrace:</p> | ||||
| 	<?php foreach ($exception->getTrace() as $error): ?> | ||||
|  | ||||
| 		<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?> | ||||
|  | ||||
| 			<p style="margin-left:10px"> | ||||
| 			File: <?php echo $error['file']; ?><br /> | ||||
| 			Line: <?php echo $error['line']; ?><br /> | ||||
| 			Function: <?php echo $error['function']; ?> | ||||
| 			</p> | ||||
| 		<?php endif ?> | ||||
|  | ||||
| 	<?php endforeach ?> | ||||
|  | ||||
| <?php endif ?> | ||||
|  | ||||
| </div> | ||||
							
								
								
									
										64
									
								
								application/views/errors/html/error_general.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								application/views/errors/html/error_general.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| ?><!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <title>Error</title> | ||||
| <style type="text/css"> | ||||
|  | ||||
| ::selection { background-color: #E13300; color: white; } | ||||
| ::-moz-selection { background-color: #E13300; color: white; } | ||||
|  | ||||
| body { | ||||
| 	background-color: #fff; | ||||
| 	margin: 40px; | ||||
| 	font: 13px/20px normal Helvetica, Arial, sans-serif; | ||||
| 	color: #4F5155; | ||||
| } | ||||
|  | ||||
| a { | ||||
| 	color: #003399; | ||||
| 	background-color: transparent; | ||||
| 	font-weight: normal; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
| 	color: #444; | ||||
| 	background-color: transparent; | ||||
| 	border-bottom: 1px solid #D0D0D0; | ||||
| 	font-size: 19px; | ||||
| 	font-weight: normal; | ||||
| 	margin: 0 0 14px 0; | ||||
| 	padding: 14px 15px 10px 15px; | ||||
| } | ||||
|  | ||||
| code { | ||||
| 	font-family: Consolas, Monaco, Courier New, Courier, monospace; | ||||
| 	font-size: 12px; | ||||
| 	background-color: #f9f9f9; | ||||
| 	border: 1px solid #D0D0D0; | ||||
| 	color: #002166; | ||||
| 	display: block; | ||||
| 	margin: 14px 0 14px 0; | ||||
| 	padding: 12px 10px 12px 10px; | ||||
| } | ||||
|  | ||||
| #container { | ||||
| 	margin: 10px; | ||||
| 	border: 1px solid #D0D0D0; | ||||
| 	box-shadow: 0 0 8px #D0D0D0; | ||||
| } | ||||
|  | ||||
| p { | ||||
| 	margin: 12px 15px 12px 15px; | ||||
| } | ||||
| </style> | ||||
| </head> | ||||
| <body> | ||||
| 	<div id="container"> | ||||
| 		<h1><?php echo $heading; ?></h1> | ||||
| 		<?php echo $message; ?> | ||||
| 	</div> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										33
									
								
								application/views/errors/html/error_php.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								application/views/errors/html/error_php.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| ?> | ||||
|  | ||||
| <div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> | ||||
|  | ||||
| <h4>A PHP Error was encountered</h4> | ||||
|  | ||||
| <p>Severity: <?php echo $severity; ?></p> | ||||
| <p>Message:  <?php echo $message; ?></p> | ||||
| <p>Filename: <?php echo $filepath; ?></p> | ||||
| <p>Line Number: <?php echo $line; ?></p> | ||||
|  | ||||
| <?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?> | ||||
|  | ||||
| 	<p>Backtrace:</p> | ||||
| 	<?php foreach (debug_backtrace() as $error): ?> | ||||
|  | ||||
| 		<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?> | ||||
|  | ||||
| 			<p style="margin-left:10px"> | ||||
| 			File: <?php echo $error['file'] ?><br /> | ||||
| 			Line: <?php echo $error['line'] ?><br /> | ||||
| 			Function: <?php echo $error['function'] ?> | ||||
| 			</p> | ||||
|  | ||||
| 		<?php endif ?> | ||||
|  | ||||
| 	<?php endforeach ?> | ||||
|  | ||||
| <?php endif ?> | ||||
|  | ||||
| </div> | ||||
							
								
								
									
										11
									
								
								application/views/errors/html/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/views/errors/html/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/views/errors/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/views/errors/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								application/views/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								application/views/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| <head> | ||||
| 	<title>403 Forbidden</title> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <p>Directory access is forbidden.</p> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										89
									
								
								application/views/welcome_message.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								application/views/welcome_message.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,89 @@ | ||||
| <?php | ||||
| defined('BASEPATH') OR exit('No direct script access allowed'); | ||||
| ?><!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| 	<meta charset="utf-8"> | ||||
| 	<title>Welcome to CodeIgniter</title> | ||||
|  | ||||
| 	<style type="text/css"> | ||||
|  | ||||
| 	::selection { background-color: #E13300; color: white; } | ||||
| 	::-moz-selection { background-color: #E13300; color: white; } | ||||
|  | ||||
| 	body { | ||||
| 		background-color: #fff; | ||||
| 		margin: 40px; | ||||
| 		font: 13px/20px normal Helvetica, Arial, sans-serif; | ||||
| 		color: #4F5155; | ||||
| 	} | ||||
|  | ||||
| 	a { | ||||
| 		color: #003399; | ||||
| 		background-color: transparent; | ||||
| 		font-weight: normal; | ||||
| 	} | ||||
|  | ||||
| 	h1 { | ||||
| 		color: #444; | ||||
| 		background-color: transparent; | ||||
| 		border-bottom: 1px solid #D0D0D0; | ||||
| 		font-size: 19px; | ||||
| 		font-weight: normal; | ||||
| 		margin: 0 0 14px 0; | ||||
| 		padding: 14px 15px 10px 15px; | ||||
| 	} | ||||
|  | ||||
| 	code { | ||||
| 		font-family: Consolas, Monaco, Courier New, Courier, monospace; | ||||
| 		font-size: 12px; | ||||
| 		background-color: #f9f9f9; | ||||
| 		border: 1px solid #D0D0D0; | ||||
| 		color: #002166; | ||||
| 		display: block; | ||||
| 		margin: 14px 0 14px 0; | ||||
| 		padding: 12px 10px 12px 10px; | ||||
| 	} | ||||
|  | ||||
| 	#body { | ||||
| 		margin: 0 15px 0 15px; | ||||
| 	} | ||||
|  | ||||
| 	p.footer { | ||||
| 		text-align: right; | ||||
| 		font-size: 11px; | ||||
| 		border-top: 1px solid #D0D0D0; | ||||
| 		line-height: 32px; | ||||
| 		padding: 0 10px 0 10px; | ||||
| 		margin: 20px 0 0 0; | ||||
| 	} | ||||
|  | ||||
| 	#container { | ||||
| 		margin: 10px; | ||||
| 		border: 1px solid #D0D0D0; | ||||
| 		box-shadow: 0 0 8px #D0D0D0; | ||||
| 	} | ||||
| 	</style> | ||||
| </head> | ||||
| <body> | ||||
|  | ||||
| <div id="container"> | ||||
| 	<h1>Welcome to CodeIgniter!</h1> | ||||
|  | ||||
| 	<div id="body"> | ||||
| 		<p>The page you are looking at is being generated dynamically by CodeIgniter.</p> | ||||
|  | ||||
| 		<p>If you would like to edit this page you'll find it located at:</p> | ||||
| 		<code>application/views/welcome_message.php</code> | ||||
|  | ||||
| 		<p>The corresponding controller for this page is found at:</p> | ||||
| 		<code>application/controllers/Welcome.php</code> | ||||
|  | ||||
| 		<p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="user_guide/">User Guide</a>.</p> | ||||
| 	</div> | ||||
|  | ||||
| 	<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo  (ENVIRONMENT === 'development') ?  'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p> | ||||
| </div> | ||||
|  | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										10
									
								
								assets/css/sb-admin-2.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								assets/css/sb-admin-2.min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								assets/img/undraw_posting_photo.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								assets/img/undraw_posting_photo.svg
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| After Width: | Height: | Size: 36 KiB | 
							
								
								
									
										7
									
								
								assets/js/sb-admin-2.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/js/sb-admin-2.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| /*! | ||||
|  * Start Bootstrap - SB Admin 2 v4.0.7 (https://startbootstrap.com/template-overviews/sb-admin-2) | ||||
|  * Copyright 2013-2019 Start Bootstrap | ||||
|  * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/blob/master/LICENSE) | ||||
|  */ | ||||
|  | ||||
| !function(t){"use strict";t("#sidebarToggle, #sidebarToggleTop").on("click",function(o){t("body").toggleClass("sidebar-toggled"),t(".sidebar").toggleClass("toggled"),t(".sidebar").hasClass("toggled")&&t(".sidebar .collapse").collapse("hide")}),t(window).resize(function(){t(window).width()<768&&t(".sidebar .collapse").collapse("hide")}),t("body.fixed-nav .sidebar").on("mousewheel DOMMouseScroll wheel",function(o){if(768<t(window).width()){var e=o.originalEvent,l=e.wheelDelta||-e.detail;this.scrollTop+=30*(l<0?1:-1),o.preventDefault()}}),t(document).on("scroll",function(){100<t(this).scrollTop()?t(".scroll-to-top").fadeIn():t(".scroll-to-top").fadeOut()}),t(document).on("click","a.scroll-to-top",function(o){var e=t(this);t("html, body").stop().animate({scrollTop:t(e.attr("href")).offset().top},1e3,"easeInOutExpo"),o.preventDefault()})}(jQuery); | ||||
							
								
								
									
										7013
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7013
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.bundle.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										4435
									
								
								assets/vendor/bootstrap/js/bootstrap.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4435
									
								
								assets/vendor/bootstrap/js/bootstrap.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								assets/vendor/bootstrap/js/bootstrap.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								assets/vendor/bootstrap/js/bootstrap.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								assets/vendor/bootstrap/js/bootstrap.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										51
									
								
								assets/vendor/bootstrap/scss/_alert.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								assets/vendor/bootstrap/scss/_alert.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| // | ||||
| // Base styles | ||||
| // | ||||
|  | ||||
| .alert { | ||||
|   position: relative; | ||||
|   padding: $alert-padding-y $alert-padding-x; | ||||
|   margin-bottom: $alert-margin-bottom; | ||||
|   border: $alert-border-width solid transparent; | ||||
|   @include border-radius($alert-border-radius); | ||||
| } | ||||
|  | ||||
| // Headings for larger alerts | ||||
| .alert-heading { | ||||
|   // Specified to prevent conflicts of changing $headings-color | ||||
|   color: inherit; | ||||
| } | ||||
|  | ||||
| // Provide class for links that match alerts | ||||
| .alert-link { | ||||
|   font-weight: $alert-link-font-weight; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Dismissible alerts | ||||
| // | ||||
| // Expand the right padding and account for the close button's positioning. | ||||
|  | ||||
| .alert-dismissible { | ||||
|   padding-right: $close-font-size + $alert-padding-x * 2; | ||||
|  | ||||
|   // Adjust close link position | ||||
|   .close { | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     right: 0; | ||||
|     padding: $alert-padding-y $alert-padding-x; | ||||
|     color: inherit; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Alternate styles | ||||
| // | ||||
| // Generate contextual modifier classes for colorizing the alert. | ||||
|  | ||||
| @each $color, $value in $theme-colors { | ||||
|   .alert-#{$color} { | ||||
|     @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); | ||||
|   } | ||||
| } | ||||
							
								
								
									
										54
									
								
								assets/vendor/bootstrap/scss/_badge.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								assets/vendor/bootstrap/scss/_badge.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,54 @@ | ||||
| // Base class | ||||
| // | ||||
| // Requires one of the contextual, color modifier classes for `color` and | ||||
| // `background-color`. | ||||
|  | ||||
| .badge { | ||||
|   display: inline-block; | ||||
|   padding: $badge-padding-y $badge-padding-x; | ||||
|   @include font-size($badge-font-size); | ||||
|   font-weight: $badge-font-weight; | ||||
|   line-height: 1; | ||||
|   text-align: center; | ||||
|   white-space: nowrap; | ||||
|   vertical-align: baseline; | ||||
|   @include border-radius($badge-border-radius); | ||||
|   @include transition($badge-transition); | ||||
|  | ||||
|   @at-root a#{&} { | ||||
|     @include hover-focus { | ||||
|       text-decoration: none; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // Empty badges collapse automatically | ||||
|   &:empty { | ||||
|     display: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Quick fix for badges in buttons | ||||
| .btn .badge { | ||||
|   position: relative; | ||||
|   top: -1px; | ||||
| } | ||||
|  | ||||
| // Pill badges | ||||
| // | ||||
| // Make them extra rounded with a modifier to replace v3's badges. | ||||
|  | ||||
| .badge-pill { | ||||
|   padding-right: $badge-pill-padding-x; | ||||
|   padding-left: $badge-pill-padding-x; | ||||
|   @include border-radius($badge-pill-border-radius); | ||||
| } | ||||
|  | ||||
| // Colors | ||||
| // | ||||
| // Contextual variations (linked badges get darker on :hover). | ||||
|  | ||||
| @each $color, $value in $theme-colors { | ||||
|   .badge-#{$color} { | ||||
|     @include badge-variant($value); | ||||
|   } | ||||
| } | ||||
							
								
								
									
										41
									
								
								assets/vendor/bootstrap/scss/_breadcrumb.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								assets/vendor/bootstrap/scss/_breadcrumb.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| .breadcrumb { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   padding: $breadcrumb-padding-y $breadcrumb-padding-x; | ||||
|   margin-bottom: $breadcrumb-margin-bottom; | ||||
|   list-style: none; | ||||
|   background-color: $breadcrumb-bg; | ||||
|   @include border-radius($breadcrumb-border-radius); | ||||
| } | ||||
|  | ||||
| .breadcrumb-item { | ||||
|   // The separator between breadcrumbs (by default, a forward-slash: "/") | ||||
|   + .breadcrumb-item { | ||||
|     padding-left: $breadcrumb-item-padding; | ||||
|  | ||||
|     &::before { | ||||
|       display: inline-block; // Suppress underlining of the separator in modern browsers | ||||
|       padding-right: $breadcrumb-item-padding; | ||||
|       color: $breadcrumb-divider-color; | ||||
|       content: $breadcrumb-divider; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built | ||||
|   // without `<ul>`s. The `::before` pseudo-element generates an element | ||||
|   // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. | ||||
|   // | ||||
|   // To trick IE into suppressing the underline, we give the pseudo-element an | ||||
|   // underline and then immediately remove it. | ||||
|   + .breadcrumb-item:hover::before { | ||||
|     text-decoration: underline; | ||||
|   } | ||||
|   // stylelint-disable-next-line no-duplicate-selectors | ||||
|   + .breadcrumb-item:hover::before { | ||||
|     text-decoration: none; | ||||
|   } | ||||
|  | ||||
|   &.active { | ||||
|     color: $breadcrumb-active-color; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										163
									
								
								assets/vendor/bootstrap/scss/_button-group.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								assets/vendor/bootstrap/scss/_button-group.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,163 @@ | ||||
| // stylelint-disable selector-no-qualifying-type | ||||
|  | ||||
| // Make the div behave like a button | ||||
| .btn-group, | ||||
| .btn-group-vertical { | ||||
|   position: relative; | ||||
|   display: inline-flex; | ||||
|   vertical-align: middle; // match .btn alignment given font-size hack above | ||||
|  | ||||
|   > .btn { | ||||
|     position: relative; | ||||
|     flex: 1 1 auto; | ||||
|  | ||||
|     // Bring the hover, focused, and "active" buttons to the front to overlay | ||||
|     // the borders properly | ||||
|     @include hover { | ||||
|       z-index: 1; | ||||
|     } | ||||
|     &:focus, | ||||
|     &:active, | ||||
|     &.active { | ||||
|       z-index: 1; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Optional: Group multiple button groups together for a toolbar | ||||
| .btn-toolbar { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   justify-content: flex-start; | ||||
|  | ||||
|   .input-group { | ||||
|     width: auto; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .btn-group { | ||||
|   // Prevent double borders when buttons are next to each other | ||||
|   > .btn:not(:first-child), | ||||
|   > .btn-group:not(:first-child) { | ||||
|     margin-left: -$btn-border-width; | ||||
|   } | ||||
|  | ||||
|   // Reset rounded corners | ||||
|   > .btn:not(:last-child):not(.dropdown-toggle), | ||||
|   > .btn-group:not(:last-child) > .btn { | ||||
|     @include border-right-radius(0); | ||||
|   } | ||||
|  | ||||
|   > .btn:not(:first-child), | ||||
|   > .btn-group:not(:first-child) > .btn { | ||||
|     @include border-left-radius(0); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Sizing | ||||
| // | ||||
| // Remix the default button sizing classes into new ones for easier manipulation. | ||||
|  | ||||
| .btn-group-sm > .btn { @extend .btn-sm; } | ||||
| .btn-group-lg > .btn { @extend .btn-lg; } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Split button dropdowns | ||||
| // | ||||
|  | ||||
| .dropdown-toggle-split { | ||||
|   padding-right: $btn-padding-x * .75; | ||||
|   padding-left: $btn-padding-x * .75; | ||||
|  | ||||
|   &::after, | ||||
|   .dropup &::after, | ||||
|   .dropright &::after { | ||||
|     margin-left: 0; | ||||
|   } | ||||
|  | ||||
|   .dropleft &::before { | ||||
|     margin-right: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .btn-sm + .dropdown-toggle-split { | ||||
|   padding-right: $btn-padding-x-sm * .75; | ||||
|   padding-left: $btn-padding-x-sm * .75; | ||||
| } | ||||
|  | ||||
| .btn-lg + .dropdown-toggle-split { | ||||
|   padding-right: $btn-padding-x-lg * .75; | ||||
|   padding-left: $btn-padding-x-lg * .75; | ||||
| } | ||||
|  | ||||
|  | ||||
| // The clickable button for toggling the menu | ||||
| // Set the same inset shadow as the :active state | ||||
| .btn-group.show .dropdown-toggle { | ||||
|   @include box-shadow($btn-active-box-shadow); | ||||
|  | ||||
|   // Show no shadow for `.btn-link` since it has no other button styles. | ||||
|   &.btn-link { | ||||
|     @include box-shadow(none); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Vertical button groups | ||||
| // | ||||
|  | ||||
| .btn-group-vertical { | ||||
|   flex-direction: column; | ||||
|   align-items: flex-start; | ||||
|   justify-content: center; | ||||
|  | ||||
|   > .btn, | ||||
|   > .btn-group { | ||||
|     width: 100%; | ||||
|   } | ||||
|  | ||||
|   > .btn:not(:first-child), | ||||
|   > .btn-group:not(:first-child) { | ||||
|     margin-top: -$btn-border-width; | ||||
|   } | ||||
|  | ||||
|   // Reset rounded corners | ||||
|   > .btn:not(:last-child):not(.dropdown-toggle), | ||||
|   > .btn-group:not(:last-child) > .btn { | ||||
|     @include border-bottom-radius(0); | ||||
|   } | ||||
|  | ||||
|   > .btn:not(:first-child), | ||||
|   > .btn-group:not(:first-child) > .btn { | ||||
|     @include border-top-radius(0); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Checkbox and radio options | ||||
| // | ||||
| // In order to support the browser's form validation feedback, powered by the | ||||
| // `required` attribute, we have to "hide" the inputs via `clip`. We cannot use | ||||
| // `display: none;` or `visibility: hidden;` as that also hides the popover. | ||||
| // Simply visually hiding the inputs via `opacity` would leave them clickable in | ||||
| // certain cases which is prevented by using `clip` and `pointer-events`. | ||||
| // This way, we ensure a DOM element is visible to position the popover from. | ||||
| // | ||||
| // See https://github.com/twbs/bootstrap/pull/12794 and | ||||
| // https://github.com/twbs/bootstrap/pull/14559 for more information. | ||||
|  | ||||
| .btn-group-toggle { | ||||
|   > .btn, | ||||
|   > .btn-group > .btn { | ||||
|     margin-bottom: 0; // Override default `<label>` value | ||||
|  | ||||
|     input[type="radio"], | ||||
|     input[type="checkbox"] { | ||||
|       position: absolute; | ||||
|       clip: rect(0, 0, 0, 0); | ||||
|       pointer-events: none; | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										137
									
								
								assets/vendor/bootstrap/scss/_buttons.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								assets/vendor/bootstrap/scss/_buttons.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,137 @@ | ||||
| // stylelint-disable selector-no-qualifying-type | ||||
|  | ||||
| // | ||||
| // Base styles | ||||
| // | ||||
|  | ||||
| .btn { | ||||
|   display: inline-block; | ||||
|   font-family: $btn-font-family; | ||||
|   font-weight: $btn-font-weight; | ||||
|   color: $body-color; | ||||
|   text-align: center; | ||||
|   vertical-align: middle; | ||||
|   user-select: none; | ||||
|   background-color: transparent; | ||||
|   border: $btn-border-width solid transparent; | ||||
|   @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius); | ||||
|   @include transition($btn-transition); | ||||
|  | ||||
|   @include hover { | ||||
|     color: $body-color; | ||||
|     text-decoration: none; | ||||
|   } | ||||
|  | ||||
|   &:focus, | ||||
|   &.focus { | ||||
|     outline: 0; | ||||
|     box-shadow: $btn-focus-box-shadow; | ||||
|   } | ||||
|  | ||||
|   // Disabled comes first so active can properly restyle | ||||
|   &.disabled, | ||||
|   &:disabled { | ||||
|     opacity: $btn-disabled-opacity; | ||||
|     @include box-shadow(none); | ||||
|   } | ||||
|  | ||||
|   &:not(:disabled):not(.disabled):active, | ||||
|   &:not(:disabled):not(.disabled).active { | ||||
|     @include box-shadow($btn-active-box-shadow); | ||||
|  | ||||
|     &:focus { | ||||
|       @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Future-proof disabling of clicks on `<a>` elements | ||||
| a.btn.disabled, | ||||
| fieldset:disabled a.btn { | ||||
|   pointer-events: none; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Alternate buttons | ||||
| // | ||||
|  | ||||
| @each $color, $value in $theme-colors { | ||||
|   .btn-#{$color} { | ||||
|     @include button-variant($value, $value); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @each $color, $value in $theme-colors { | ||||
|   .btn-outline-#{$color} { | ||||
|     @include button-outline-variant($value); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Link buttons | ||||
| // | ||||
|  | ||||
| // Make a button look and behave like a link | ||||
| .btn-link { | ||||
|   font-weight: $font-weight-normal; | ||||
|   color: $link-color; | ||||
|   text-decoration: $link-decoration; | ||||
|  | ||||
|   @include hover { | ||||
|     color: $link-hover-color; | ||||
|     text-decoration: $link-hover-decoration; | ||||
|   } | ||||
|  | ||||
|   &:focus, | ||||
|   &.focus { | ||||
|     text-decoration: $link-hover-decoration; | ||||
|     box-shadow: none; | ||||
|   } | ||||
|  | ||||
|   &:disabled, | ||||
|   &.disabled { | ||||
|     color: $btn-link-disabled-color; | ||||
|     pointer-events: none; | ||||
|   } | ||||
|  | ||||
|   // No need for an active state here | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Button Sizes | ||||
| // | ||||
|  | ||||
| .btn-lg { | ||||
|   @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg); | ||||
| } | ||||
|  | ||||
| .btn-sm { | ||||
|   @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm); | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Block button | ||||
| // | ||||
|  | ||||
| .btn-block { | ||||
|   display: block; | ||||
|   width: 100%; | ||||
|  | ||||
|   // Vertically space out multiple block buttons | ||||
|   + .btn-block { | ||||
|     margin-top: $btn-block-spacing-y; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Specificity overrides | ||||
| input[type="submit"], | ||||
| input[type="reset"], | ||||
| input[type="button"] { | ||||
|   &.btn-block { | ||||
|     width: 100%; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										289
									
								
								assets/vendor/bootstrap/scss/_card.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								assets/vendor/bootstrap/scss/_card.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,289 @@ | ||||
| // | ||||
| // Base styles | ||||
| // | ||||
|  | ||||
| .card { | ||||
|   position: relative; | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 | ||||
|   word-wrap: break-word; | ||||
|   background-color: $card-bg; | ||||
|   background-clip: border-box; | ||||
|   border: $card-border-width solid $card-border-color; | ||||
|   @include border-radius($card-border-radius); | ||||
|  | ||||
|   > hr { | ||||
|     margin-right: 0; | ||||
|     margin-left: 0; | ||||
|   } | ||||
|  | ||||
|   > .list-group:first-child { | ||||
|     .list-group-item:first-child { | ||||
|       @include border-top-radius($card-border-radius); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   > .list-group:last-child { | ||||
|     .list-group-item:last-child { | ||||
|       @include border-bottom-radius($card-border-radius); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .card-body { | ||||
|   // Enable `flex-grow: 1` for decks and groups so that card blocks take up | ||||
|   // as much space as possible, ensuring footers are aligned to the bottom. | ||||
|   flex: 1 1 auto; | ||||
|   padding: $card-spacer-x; | ||||
|   color: $card-color; | ||||
| } | ||||
|  | ||||
| .card-title { | ||||
|   margin-bottom: $card-spacer-y; | ||||
| } | ||||
|  | ||||
| .card-subtitle { | ||||
|   margin-top: -$card-spacer-y / 2; | ||||
|   margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| .card-text:last-child { | ||||
|   margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| .card-link { | ||||
|   @include hover { | ||||
|     text-decoration: none; | ||||
|   } | ||||
|  | ||||
|   + .card-link { | ||||
|     margin-left: $card-spacer-x; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // | ||||
| // Optional textual caps | ||||
| // | ||||
|  | ||||
| .card-header { | ||||
|   padding: $card-spacer-y $card-spacer-x; | ||||
|   margin-bottom: 0; // Removes the default margin-bottom of <hN> | ||||
|   color: $card-cap-color; | ||||
|   background-color: $card-cap-bg; | ||||
|   border-bottom: $card-border-width solid $card-border-color; | ||||
|  | ||||
|   &:first-child { | ||||
|     @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0); | ||||
|   } | ||||
|  | ||||
|   + .list-group { | ||||
|     .list-group-item:first-child { | ||||
|       border-top: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .card-footer { | ||||
|   padding: $card-spacer-y $card-spacer-x; | ||||
|   background-color: $card-cap-bg; | ||||
|   border-top: $card-border-width solid $card-border-color; | ||||
|  | ||||
|   &:last-child { | ||||
|     @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Header navs | ||||
| // | ||||
|  | ||||
| .card-header-tabs { | ||||
|   margin-right: -$card-spacer-x / 2; | ||||
|   margin-bottom: -$card-spacer-y; | ||||
|   margin-left: -$card-spacer-x / 2; | ||||
|   border-bottom: 0; | ||||
| } | ||||
|  | ||||
| .card-header-pills { | ||||
|   margin-right: -$card-spacer-x / 2; | ||||
|   margin-left: -$card-spacer-x / 2; | ||||
| } | ||||
|  | ||||
| // Card image | ||||
| .card-img-overlay { | ||||
|   position: absolute; | ||||
|   top: 0; | ||||
|   right: 0; | ||||
|   bottom: 0; | ||||
|   left: 0; | ||||
|   padding: $card-img-overlay-padding; | ||||
| } | ||||
|  | ||||
| .card-img { | ||||
|   width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch | ||||
|   @include border-radius($card-inner-border-radius); | ||||
| } | ||||
|  | ||||
| // Card image caps | ||||
| .card-img-top { | ||||
|   width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch | ||||
|   @include border-top-radius($card-inner-border-radius); | ||||
| } | ||||
|  | ||||
| .card-img-bottom { | ||||
|   width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch | ||||
|   @include border-bottom-radius($card-inner-border-radius); | ||||
| } | ||||
|  | ||||
|  | ||||
| // Card deck | ||||
|  | ||||
| .card-deck { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|  | ||||
|   .card { | ||||
|     margin-bottom: $card-deck-margin; | ||||
|   } | ||||
|  | ||||
|   @include media-breakpoint-up(sm) { | ||||
|     flex-flow: row wrap; | ||||
|     margin-right: -$card-deck-margin; | ||||
|     margin-left: -$card-deck-margin; | ||||
|  | ||||
|     .card { | ||||
|       display: flex; | ||||
|       // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 | ||||
|       flex: 1 0 0%; | ||||
|       flex-direction: column; | ||||
|       margin-right: $card-deck-margin; | ||||
|       margin-bottom: 0; // Override the default | ||||
|       margin-left: $card-deck-margin; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Card groups | ||||
| // | ||||
|  | ||||
| .card-group { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|  | ||||
|   // The child selector allows nested `.card` within `.card-group` | ||||
|   // to display properly. | ||||
|   > .card { | ||||
|     margin-bottom: $card-group-margin; | ||||
|   } | ||||
|  | ||||
|   @include media-breakpoint-up(sm) { | ||||
|     flex-flow: row wrap; | ||||
|     // The child selector allows nested `.card` within `.card-group` | ||||
|     // to display properly. | ||||
|     > .card { | ||||
|       // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 | ||||
|       flex: 1 0 0%; | ||||
|       margin-bottom: 0; | ||||
|  | ||||
|       + .card { | ||||
|         margin-left: 0; | ||||
|         border-left: 0; | ||||
|       } | ||||
|  | ||||
|       // Handle rounded corners | ||||
|       @if $enable-rounded { | ||||
|         &:not(:last-child) { | ||||
|           @include border-right-radius(0); | ||||
|  | ||||
|           .card-img-top, | ||||
|           .card-header { | ||||
|             // stylelint-disable-next-line property-blacklist | ||||
|             border-top-right-radius: 0; | ||||
|           } | ||||
|           .card-img-bottom, | ||||
|           .card-footer { | ||||
|             // stylelint-disable-next-line property-blacklist | ||||
|             border-bottom-right-radius: 0; | ||||
|           } | ||||
|         } | ||||
|  | ||||
|         &:not(:first-child) { | ||||
|           @include border-left-radius(0); | ||||
|  | ||||
|           .card-img-top, | ||||
|           .card-header { | ||||
|             // stylelint-disable-next-line property-blacklist | ||||
|             border-top-left-radius: 0; | ||||
|           } | ||||
|           .card-img-bottom, | ||||
|           .card-footer { | ||||
|             // stylelint-disable-next-line property-blacklist | ||||
|             border-bottom-left-radius: 0; | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Columns | ||||
| // | ||||
|  | ||||
| .card-columns { | ||||
|   .card { | ||||
|     margin-bottom: $card-columns-margin; | ||||
|   } | ||||
|  | ||||
|   @include media-breakpoint-up(sm) { | ||||
|     column-count: $card-columns-count; | ||||
|     column-gap: $card-columns-gap; | ||||
|     orphans: 1; | ||||
|     widows: 1; | ||||
|  | ||||
|     .card { | ||||
|       display: inline-block; // Don't let them vertically span multiple columns | ||||
|       width: 100%; // Don't let their width change | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Accordion | ||||
| // | ||||
|  | ||||
| .accordion { | ||||
|   > .card { | ||||
|     overflow: hidden; | ||||
|  | ||||
|     &:not(:first-of-type) { | ||||
|       .card-header:first-child { | ||||
|         @include border-radius(0); | ||||
|       } | ||||
|  | ||||
|       &:not(:last-of-type) { | ||||
|         border-bottom: 0; | ||||
|         @include border-radius(0); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     &:first-of-type { | ||||
|       border-bottom: 0; | ||||
|       @include border-bottom-radius(0); | ||||
|     } | ||||
|  | ||||
|     &:last-of-type { | ||||
|       @include border-top-radius(0); | ||||
|     } | ||||
|  | ||||
|     .card-header { | ||||
|       margin-bottom: -$card-border-width; | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										197
									
								
								assets/vendor/bootstrap/scss/_carousel.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										197
									
								
								assets/vendor/bootstrap/scss/_carousel.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,197 @@ | ||||
| // Notes on the classes: | ||||
| // | ||||
| // 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) | ||||
| //    even when their scroll action started on a carousel, but for compatibility (with Firefox) | ||||
| //    we're preventing all actions instead | ||||
| // 2. The .carousel-item-left and .carousel-item-right is used to indicate where | ||||
| //    the active slide is heading. | ||||
| // 3. .active.carousel-item is the current slide. | ||||
| // 4. .active.carousel-item-left and .active.carousel-item-right is the current | ||||
| //    slide in its in-transition state. Only one of these occurs at a time. | ||||
| // 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right | ||||
| //    is the upcoming slide in transition. | ||||
|  | ||||
| .carousel { | ||||
|   position: relative; | ||||
| } | ||||
|  | ||||
| .carousel.pointer-event { | ||||
|   touch-action: pan-y; | ||||
| } | ||||
|  | ||||
| .carousel-inner { | ||||
|   position: relative; | ||||
|   width: 100%; | ||||
|   overflow: hidden; | ||||
|   @include clearfix(); | ||||
| } | ||||
|  | ||||
| .carousel-item { | ||||
|   position: relative; | ||||
|   display: none; | ||||
|   float: left; | ||||
|   width: 100%; | ||||
|   margin-right: -100%; | ||||
|   backface-visibility: hidden; | ||||
|   @include transition($carousel-transition); | ||||
| } | ||||
|  | ||||
| .carousel-item.active, | ||||
| .carousel-item-next, | ||||
| .carousel-item-prev { | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| .carousel-item-next:not(.carousel-item-left), | ||||
| .active.carousel-item-right { | ||||
|   transform: translateX(100%); | ||||
| } | ||||
|  | ||||
| .carousel-item-prev:not(.carousel-item-right), | ||||
| .active.carousel-item-left { | ||||
|   transform: translateX(-100%); | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Alternate transitions | ||||
| // | ||||
|  | ||||
| .carousel-fade { | ||||
|   .carousel-item { | ||||
|     opacity: 0; | ||||
|     transition-property: opacity; | ||||
|     transform: none; | ||||
|   } | ||||
|  | ||||
|   .carousel-item.active, | ||||
|   .carousel-item-next.carousel-item-left, | ||||
|   .carousel-item-prev.carousel-item-right { | ||||
|     z-index: 1; | ||||
|     opacity: 1; | ||||
|   } | ||||
|  | ||||
|   .active.carousel-item-left, | ||||
|   .active.carousel-item-right { | ||||
|     z-index: 0; | ||||
|     opacity: 0; | ||||
|     @include transition(0s $carousel-transition-duration opacity); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Left/right controls for nav | ||||
| // | ||||
|  | ||||
| .carousel-control-prev, | ||||
| .carousel-control-next { | ||||
|   position: absolute; | ||||
|   top: 0; | ||||
|   bottom: 0; | ||||
|   z-index: 1; | ||||
|   // Use flex for alignment (1-3) | ||||
|   display: flex; // 1. allow flex styles | ||||
|   align-items: center; // 2. vertically center contents | ||||
|   justify-content: center; // 3. horizontally center contents | ||||
|   width: $carousel-control-width; | ||||
|   color: $carousel-control-color; | ||||
|   text-align: center; | ||||
|   opacity: $carousel-control-opacity; | ||||
|   @include transition($carousel-control-transition); | ||||
|  | ||||
|   // Hover/focus state | ||||
|   @include hover-focus { | ||||
|     color: $carousel-control-color; | ||||
|     text-decoration: none; | ||||
|     outline: 0; | ||||
|     opacity: $carousel-control-hover-opacity; | ||||
|   } | ||||
| } | ||||
| .carousel-control-prev { | ||||
|   left: 0; | ||||
|   @if $enable-gradients { | ||||
|     background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); | ||||
|   } | ||||
| } | ||||
| .carousel-control-next { | ||||
|   right: 0; | ||||
|   @if $enable-gradients { | ||||
|     background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Icons for within | ||||
| .carousel-control-prev-icon, | ||||
| .carousel-control-next-icon { | ||||
|   display: inline-block; | ||||
|   width: $carousel-control-icon-width; | ||||
|   height: $carousel-control-icon-width; | ||||
|   background: no-repeat 50% / 100% 100%; | ||||
| } | ||||
| .carousel-control-prev-icon { | ||||
|   background-image: $carousel-control-prev-icon-bg; | ||||
| } | ||||
| .carousel-control-next-icon { | ||||
|   background-image: $carousel-control-next-icon-bg; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Optional indicator pips | ||||
| // | ||||
| // Add an ordered list with the following class and add a list item for each | ||||
| // slide your carousel holds. | ||||
|  | ||||
| .carousel-indicators { | ||||
|   position: absolute; | ||||
|   right: 0; | ||||
|   bottom: 0; | ||||
|   left: 0; | ||||
|   z-index: 15; | ||||
|   display: flex; | ||||
|   justify-content: center; | ||||
|   padding-left: 0; // override <ol> default | ||||
|   // Use the .carousel-control's width as margin so we don't overlay those | ||||
|   margin-right: $carousel-control-width; | ||||
|   margin-left: $carousel-control-width; | ||||
|   list-style: none; | ||||
|  | ||||
|   li { | ||||
|     box-sizing: content-box; | ||||
|     flex: 0 1 auto; | ||||
|     width: $carousel-indicator-width; | ||||
|     height: $carousel-indicator-height; | ||||
|     margin-right: $carousel-indicator-spacer; | ||||
|     margin-left: $carousel-indicator-spacer; | ||||
|     text-indent: -999px; | ||||
|     cursor: pointer; | ||||
|     background-color: $carousel-indicator-active-bg; | ||||
|     background-clip: padding-box; | ||||
|     // Use transparent borders to increase the hit area by 10px on top and bottom. | ||||
|     border-top: $carousel-indicator-hit-area-height solid transparent; | ||||
|     border-bottom: $carousel-indicator-hit-area-height solid transparent; | ||||
|     opacity: .5; | ||||
|     @include transition($carousel-indicator-transition); | ||||
|   } | ||||
|  | ||||
|   .active { | ||||
|     opacity: 1; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Optional captions | ||||
| // | ||||
| // | ||||
|  | ||||
| .carousel-caption { | ||||
|   position: absolute; | ||||
|   right: (100% - $carousel-caption-width) / 2; | ||||
|   bottom: 20px; | ||||
|   left: (100% - $carousel-caption-width) / 2; | ||||
|   z-index: 10; | ||||
|   padding-top: 20px; | ||||
|   padding-bottom: 20px; | ||||
|   color: $carousel-caption-color; | ||||
|   text-align: center; | ||||
| } | ||||
							
								
								
									
										41
									
								
								assets/vendor/bootstrap/scss/_close.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								assets/vendor/bootstrap/scss/_close.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| .close { | ||||
|   float: right; | ||||
|   @include font-size($close-font-size); | ||||
|   font-weight: $close-font-weight; | ||||
|   line-height: 1; | ||||
|   color: $close-color; | ||||
|   text-shadow: $close-text-shadow; | ||||
|   opacity: .5; | ||||
|  | ||||
|   // Override <a>'s hover style | ||||
|   @include hover { | ||||
|     color: $close-color; | ||||
|     text-decoration: none; | ||||
|   } | ||||
|  | ||||
|   &:not(:disabled):not(.disabled) { | ||||
|     @include hover-focus { | ||||
|       opacity: .75; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Additional properties for button version | ||||
| // iOS requires the button element instead of an anchor tag. | ||||
| // If you want the anchor version, it requires `href="#"`. | ||||
| // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile | ||||
|  | ||||
| // stylelint-disable-next-line selector-no-qualifying-type | ||||
| button.close { | ||||
|   padding: 0; | ||||
|   background-color: transparent; | ||||
|   border: 0; | ||||
|   appearance: none; | ||||
| } | ||||
|  | ||||
| // Future-proof disabling of clicks on `<a>` elements | ||||
|  | ||||
| // stylelint-disable-next-line selector-no-qualifying-type | ||||
| a.close.disabled { | ||||
|   pointer-events: none; | ||||
| } | ||||
							
								
								
									
										48
									
								
								assets/vendor/bootstrap/scss/_code.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								assets/vendor/bootstrap/scss/_code.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| // Inline code | ||||
| code { | ||||
|   @include font-size($code-font-size); | ||||
|   color: $code-color; | ||||
|   word-break: break-word; | ||||
|  | ||||
|   // Streamline the style when inside anchors to avoid broken underline and more | ||||
|   a > & { | ||||
|     color: inherit; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // User input typically entered via keyboard | ||||
| kbd { | ||||
|   padding: $kbd-padding-y $kbd-padding-x; | ||||
|   @include font-size($kbd-font-size); | ||||
|   color: $kbd-color; | ||||
|   background-color: $kbd-bg; | ||||
|   @include border-radius($border-radius-sm); | ||||
|   @include box-shadow($kbd-box-shadow); | ||||
|  | ||||
|   kbd { | ||||
|     padding: 0; | ||||
|     @include font-size(100%); | ||||
|     font-weight: $nested-kbd-font-weight; | ||||
|     @include box-shadow(none); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Blocks of code | ||||
| pre { | ||||
|   display: block; | ||||
|   @include font-size($code-font-size); | ||||
|   color: $pre-color; | ||||
|  | ||||
|   // Account for some code outputs that place code tags in pre tags | ||||
|   code { | ||||
|     @include font-size(inherit); | ||||
|     color: inherit; | ||||
|     word-break: normal; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Enable scrollable blocks of code | ||||
| .pre-scrollable { | ||||
|   max-height: $pre-scrollable-max-height; | ||||
|   overflow-y: scroll; | ||||
| } | ||||
							
								
								
									
										507
									
								
								assets/vendor/bootstrap/scss/_custom-forms.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										507
									
								
								assets/vendor/bootstrap/scss/_custom-forms.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,507 @@ | ||||
| // Embedded icons from Open Iconic. | ||||
| // Released under MIT and copyright 2014 Waybury. | ||||
| // https://useiconic.com/open | ||||
|  | ||||
|  | ||||
| // Checkboxes and radios | ||||
| // | ||||
| // Base class takes care of all the key behavioral aspects. | ||||
|  | ||||
| .custom-control { | ||||
|   position: relative; | ||||
|   display: block; | ||||
|   min-height: $font-size-base * $line-height-base; | ||||
|   padding-left: $custom-control-gutter + $custom-control-indicator-size; | ||||
| } | ||||
|  | ||||
| .custom-control-inline { | ||||
|   display: inline-flex; | ||||
|   margin-right: $custom-control-spacer-x; | ||||
| } | ||||
|  | ||||
| .custom-control-input { | ||||
|   position: absolute; | ||||
|   z-index: -1; // Put the input behind the label so it doesn't overlay text | ||||
|   opacity: 0; | ||||
|  | ||||
|   &:checked ~ .custom-control-label::before { | ||||
|     color: $custom-control-indicator-checked-color; | ||||
|     border-color: $custom-control-indicator-checked-border-color; | ||||
|     @include gradient-bg($custom-control-indicator-checked-bg); | ||||
|     @include box-shadow($custom-control-indicator-checked-box-shadow); | ||||
|   } | ||||
|  | ||||
|   &:focus ~ .custom-control-label::before { | ||||
|     // the mixin is not used here to make sure there is feedback | ||||
|     @if $enable-shadows { | ||||
|       box-shadow: $input-box-shadow, $input-focus-box-shadow; | ||||
|     } @else { | ||||
|       box-shadow: $custom-control-indicator-focus-box-shadow; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &:focus:not(:checked) ~ .custom-control-label::before { | ||||
|     border-color: $custom-control-indicator-focus-border-color; | ||||
|   } | ||||
|  | ||||
|   &:not(:disabled):active ~ .custom-control-label::before { | ||||
|     color: $custom-control-indicator-active-color; | ||||
|     background-color: $custom-control-indicator-active-bg; | ||||
|     border-color: $custom-control-indicator-active-border-color; | ||||
|     @include box-shadow($custom-control-indicator-active-box-shadow); | ||||
|   } | ||||
|  | ||||
|   &:disabled { | ||||
|     ~ .custom-control-label { | ||||
|       color: $custom-control-label-disabled-color; | ||||
|  | ||||
|       &::before { | ||||
|         background-color: $custom-control-indicator-disabled-bg; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Custom control indicators | ||||
| // | ||||
| // Build the custom controls out of pseudo-elements. | ||||
|  | ||||
| .custom-control-label { | ||||
|   position: relative; | ||||
|   margin-bottom: 0; | ||||
|   vertical-align: top; | ||||
|  | ||||
|   // Background-color and (when enabled) gradient | ||||
|   &::before { | ||||
|     position: absolute; | ||||
|     top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2; | ||||
|     left: -($custom-control-gutter + $custom-control-indicator-size); | ||||
|     display: block; | ||||
|     width: $custom-control-indicator-size; | ||||
|     height: $custom-control-indicator-size; | ||||
|     pointer-events: none; | ||||
|     content: ""; | ||||
|     background-color: $custom-control-indicator-bg; | ||||
|     border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width; | ||||
|     @include box-shadow($custom-control-indicator-box-shadow); | ||||
|   } | ||||
|  | ||||
|   // Foreground (icon) | ||||
|   &::after { | ||||
|     position: absolute; | ||||
|     top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2; | ||||
|     left: -($custom-control-gutter + $custom-control-indicator-size); | ||||
|     display: block; | ||||
|     width: $custom-control-indicator-size; | ||||
|     height: $custom-control-indicator-size; | ||||
|     content: ""; | ||||
|     background: no-repeat 50% / #{$custom-control-indicator-bg-size}; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Checkboxes | ||||
| // | ||||
| // Tweak just a few things for checkboxes. | ||||
|  | ||||
| .custom-checkbox { | ||||
|   .custom-control-label::before { | ||||
|     @include border-radius($custom-checkbox-indicator-border-radius); | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:checked ~ .custom-control-label { | ||||
|     &::after { | ||||
|       background-image: $custom-checkbox-indicator-icon-checked; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:indeterminate ~ .custom-control-label { | ||||
|     &::before { | ||||
|       border-color: $custom-checkbox-indicator-indeterminate-border-color; | ||||
|       @include gradient-bg($custom-checkbox-indicator-indeterminate-bg); | ||||
|       @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow); | ||||
|     } | ||||
|     &::after { | ||||
|       background-image: $custom-checkbox-indicator-icon-indeterminate; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:disabled { | ||||
|     &:checked ~ .custom-control-label::before { | ||||
|       background-color: $custom-control-indicator-checked-disabled-bg; | ||||
|     } | ||||
|     &:indeterminate ~ .custom-control-label::before { | ||||
|       background-color: $custom-control-indicator-checked-disabled-bg; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Radios | ||||
| // | ||||
| // Tweak just a few things for radios. | ||||
|  | ||||
| .custom-radio { | ||||
|   .custom-control-label::before { | ||||
|     // stylelint-disable-next-line property-blacklist | ||||
|     border-radius: $custom-radio-indicator-border-radius; | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:checked ~ .custom-control-label { | ||||
|     &::after { | ||||
|       background-image: $custom-radio-indicator-icon-checked; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:disabled { | ||||
|     &:checked ~ .custom-control-label::before { | ||||
|       background-color: $custom-control-indicator-checked-disabled-bg; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // switches | ||||
| // | ||||
| // Tweak a few things for switches | ||||
|  | ||||
| .custom-switch { | ||||
|   padding-left: $custom-switch-width + $custom-control-gutter; | ||||
|  | ||||
|   .custom-control-label { | ||||
|     &::before { | ||||
|       left: -($custom-switch-width + $custom-control-gutter); | ||||
|       width: $custom-switch-width; | ||||
|       pointer-events: all; | ||||
|       // stylelint-disable-next-line property-blacklist | ||||
|       border-radius: $custom-switch-indicator-border-radius; | ||||
|     } | ||||
|  | ||||
|     &::after { | ||||
|       top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2}); | ||||
|       left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2}); | ||||
|       width: $custom-switch-indicator-size; | ||||
|       height: $custom-switch-indicator-size; | ||||
|       background-color: $custom-control-indicator-border-color; | ||||
|       // stylelint-disable-next-line property-blacklist | ||||
|       border-radius: $custom-switch-indicator-border-radius; | ||||
|       @include transition(transform .15s ease-in-out, $custom-forms-transition); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:checked ~ .custom-control-label { | ||||
|     &::after { | ||||
|       background-color: $custom-control-indicator-bg; | ||||
|       transform: translateX($custom-switch-width - $custom-control-indicator-size); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .custom-control-input:disabled { | ||||
|     &:checked ~ .custom-control-label::before { | ||||
|       background-color: $custom-control-indicator-checked-disabled-bg; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Select | ||||
| // | ||||
| // Replaces the browser default select with a custom one, mostly pulled from | ||||
| // https://primer.github.io/. | ||||
| // | ||||
|  | ||||
| .custom-select { | ||||
|   display: inline-block; | ||||
|   width: 100%; | ||||
|   height: $custom-select-height; | ||||
|   padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x; | ||||
|   font-family: $custom-select-font-family; | ||||
|   @include font-size($custom-select-font-size); | ||||
|   font-weight: $custom-select-font-weight; | ||||
|   line-height: $custom-select-line-height; | ||||
|   color: $custom-select-color; | ||||
|   vertical-align: middle; | ||||
|   background: $custom-select-background; | ||||
|   background-color: $custom-select-bg; | ||||
|   border: $custom-select-border-width solid $custom-select-border-color; | ||||
|   @include border-radius($custom-select-border-radius, 0); | ||||
|   @include box-shadow($custom-select-box-shadow); | ||||
|   appearance: none; | ||||
|  | ||||
|   &:focus { | ||||
|     border-color: $custom-select-focus-border-color; | ||||
|     outline: 0; | ||||
|     @if $enable-shadows { | ||||
|       box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow; | ||||
|     } @else { | ||||
|       box-shadow: $custom-select-focus-box-shadow; | ||||
|     } | ||||
|  | ||||
|     &::-ms-value { | ||||
|       // For visual consistency with other platforms/browsers, | ||||
|       // suppress the default white text on blue background highlight given to | ||||
|       // the selected option text when the (still closed) <select> receives focus | ||||
|       // in IE and (under certain conditions) Edge. | ||||
|       // See https://github.com/twbs/bootstrap/issues/19398. | ||||
|       color: $input-color; | ||||
|       background-color: $input-bg; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &[multiple], | ||||
|   &[size]:not([size="1"]) { | ||||
|     height: auto; | ||||
|     padding-right: $custom-select-padding-x; | ||||
|     background-image: none; | ||||
|   } | ||||
|  | ||||
|   &:disabled { | ||||
|     color: $custom-select-disabled-color; | ||||
|     background-color: $custom-select-disabled-bg; | ||||
|   } | ||||
|  | ||||
|   // Hides the default caret in IE11 | ||||
|   &::-ms-expand { | ||||
|     display: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .custom-select-sm { | ||||
|   height: $custom-select-height-sm; | ||||
|   padding-top: $custom-select-padding-y-sm; | ||||
|   padding-bottom: $custom-select-padding-y-sm; | ||||
|   padding-left: $custom-select-padding-x-sm; | ||||
|   @include font-size($custom-select-font-size-sm); | ||||
| } | ||||
|  | ||||
| .custom-select-lg { | ||||
|   height: $custom-select-height-lg; | ||||
|   padding-top: $custom-select-padding-y-lg; | ||||
|   padding-bottom: $custom-select-padding-y-lg; | ||||
|   padding-left: $custom-select-padding-x-lg; | ||||
|   @include font-size($custom-select-font-size-lg); | ||||
| } | ||||
|  | ||||
|  | ||||
| // File | ||||
| // | ||||
| // Custom file input. | ||||
|  | ||||
| .custom-file { | ||||
|   position: relative; | ||||
|   display: inline-block; | ||||
|   width: 100%; | ||||
|   height: $custom-file-height; | ||||
|   margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| .custom-file-input { | ||||
|   position: relative; | ||||
|   z-index: 2; | ||||
|   width: 100%; | ||||
|   height: $custom-file-height; | ||||
|   margin: 0; | ||||
|   opacity: 0; | ||||
|  | ||||
|   &:focus ~ .custom-file-label { | ||||
|     border-color: $custom-file-focus-border-color; | ||||
|     box-shadow: $custom-file-focus-box-shadow; | ||||
|   } | ||||
|  | ||||
|   &:disabled ~ .custom-file-label { | ||||
|     background-color: $custom-file-disabled-bg; | ||||
|   } | ||||
|  | ||||
|   @each $lang, $value in $custom-file-text { | ||||
|     &:lang(#{$lang}) ~ .custom-file-label::after { | ||||
|       content: $value; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   ~ .custom-file-label[data-browse]::after { | ||||
|     content: attr(data-browse); | ||||
|   } | ||||
| } | ||||
|  | ||||
| .custom-file-label { | ||||
|   position: absolute; | ||||
|   top: 0; | ||||
|   right: 0; | ||||
|   left: 0; | ||||
|   z-index: 1; | ||||
|   height: $custom-file-height; | ||||
|   padding: $custom-file-padding-y $custom-file-padding-x; | ||||
|   font-family: $custom-file-font-family; | ||||
|   font-weight: $custom-file-font-weight; | ||||
|   line-height: $custom-file-line-height; | ||||
|   color: $custom-file-color; | ||||
|   background-color: $custom-file-bg; | ||||
|   border: $custom-file-border-width solid $custom-file-border-color; | ||||
|   @include border-radius($custom-file-border-radius); | ||||
|   @include box-shadow($custom-file-box-shadow); | ||||
|  | ||||
|   &::after { | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     right: 0; | ||||
|     bottom: 0; | ||||
|     z-index: 3; | ||||
|     display: block; | ||||
|     height: $custom-file-height-inner; | ||||
|     padding: $custom-file-padding-y $custom-file-padding-x; | ||||
|     line-height: $custom-file-line-height; | ||||
|     color: $custom-file-button-color; | ||||
|     content: "Browse"; | ||||
|     @include gradient-bg($custom-file-button-bg); | ||||
|     border-left: inherit; | ||||
|     @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Range | ||||
| // | ||||
| // Style range inputs the same across browsers. Vendor-specific rules for pseudo | ||||
| // elements cannot be mixed. As such, there are no shared styles for focus or | ||||
| // active states on prefixed selectors. | ||||
|  | ||||
| .custom-range { | ||||
|   width: 100%; | ||||
|   height: calc(#{$custom-range-thumb-height} + #{$custom-range-thumb-focus-box-shadow-width * 2}); | ||||
|   padding: 0; // Need to reset padding | ||||
|   background-color: transparent; | ||||
|   appearance: none; | ||||
|  | ||||
|   &:focus { | ||||
|     outline: none; | ||||
|  | ||||
|     // Pseudo-elements must be split across multiple rulesets to have an effect. | ||||
|     // No box-shadow() mixin for focus accessibility. | ||||
|     &::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; } | ||||
|     &::-moz-range-thumb     { box-shadow: $custom-range-thumb-focus-box-shadow; } | ||||
|     &::-ms-thumb            { box-shadow: $custom-range-thumb-focus-box-shadow; } | ||||
|   } | ||||
|  | ||||
|   &::-moz-focus-outer { | ||||
|     border: 0; | ||||
|   } | ||||
|  | ||||
|   &::-webkit-slider-thumb { | ||||
|     width: $custom-range-thumb-width; | ||||
|     height: $custom-range-thumb-height; | ||||
|     margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific | ||||
|     @include gradient-bg($custom-range-thumb-bg); | ||||
|     border: $custom-range-thumb-border; | ||||
|     @include border-radius($custom-range-thumb-border-radius); | ||||
|     @include box-shadow($custom-range-thumb-box-shadow); | ||||
|     @include transition($custom-forms-transition); | ||||
|     appearance: none; | ||||
|  | ||||
|     &:active { | ||||
|       @include gradient-bg($custom-range-thumb-active-bg); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &::-webkit-slider-runnable-track { | ||||
|     width: $custom-range-track-width; | ||||
|     height: $custom-range-track-height; | ||||
|     color: transparent; // Why? | ||||
|     cursor: $custom-range-track-cursor; | ||||
|     background-color: $custom-range-track-bg; | ||||
|     border-color: transparent; | ||||
|     @include border-radius($custom-range-track-border-radius); | ||||
|     @include box-shadow($custom-range-track-box-shadow); | ||||
|   } | ||||
|  | ||||
|   &::-moz-range-thumb { | ||||
|     width: $custom-range-thumb-width; | ||||
|     height: $custom-range-thumb-height; | ||||
|     @include gradient-bg($custom-range-thumb-bg); | ||||
|     border: $custom-range-thumb-border; | ||||
|     @include border-radius($custom-range-thumb-border-radius); | ||||
|     @include box-shadow($custom-range-thumb-box-shadow); | ||||
|     @include transition($custom-forms-transition); | ||||
|     appearance: none; | ||||
|  | ||||
|     &:active { | ||||
|       @include gradient-bg($custom-range-thumb-active-bg); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &::-moz-range-track { | ||||
|     width: $custom-range-track-width; | ||||
|     height: $custom-range-track-height; | ||||
|     color: transparent; | ||||
|     cursor: $custom-range-track-cursor; | ||||
|     background-color: $custom-range-track-bg; | ||||
|     border-color: transparent; // Firefox specific? | ||||
|     @include border-radius($custom-range-track-border-radius); | ||||
|     @include box-shadow($custom-range-track-box-shadow); | ||||
|   } | ||||
|  | ||||
|   &::-ms-thumb { | ||||
|     width: $custom-range-thumb-width; | ||||
|     height: $custom-range-thumb-height; | ||||
|     margin-top: 0; // Edge specific | ||||
|     margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden. | ||||
|     margin-left: $custom-range-thumb-focus-box-shadow-width;  // Workaround that overflowed box-shadow is hidden. | ||||
|     @include gradient-bg($custom-range-thumb-bg); | ||||
|     border: $custom-range-thumb-border; | ||||
|     @include border-radius($custom-range-thumb-border-radius); | ||||
|     @include box-shadow($custom-range-thumb-box-shadow); | ||||
|     @include transition($custom-forms-transition); | ||||
|     appearance: none; | ||||
|  | ||||
|     &:active { | ||||
|       @include gradient-bg($custom-range-thumb-active-bg); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &::-ms-track { | ||||
|     width: $custom-range-track-width; | ||||
|     height: $custom-range-track-height; | ||||
|     color: transparent; | ||||
|     cursor: $custom-range-track-cursor; | ||||
|     background-color: transparent; | ||||
|     border-color: transparent; | ||||
|     border-width: $custom-range-thumb-height / 2; | ||||
|     @include box-shadow($custom-range-track-box-shadow); | ||||
|   } | ||||
|  | ||||
|   &::-ms-fill-lower { | ||||
|     background-color: $custom-range-track-bg; | ||||
|     @include border-radius($custom-range-track-border-radius); | ||||
|   } | ||||
|  | ||||
|   &::-ms-fill-upper { | ||||
|     margin-right: 15px; // arbitrary? | ||||
|     background-color: $custom-range-track-bg; | ||||
|     @include border-radius($custom-range-track-border-radius); | ||||
|   } | ||||
|  | ||||
|   &:disabled { | ||||
|     &::-webkit-slider-thumb { | ||||
|       background-color: $custom-range-thumb-disabled-bg; | ||||
|     } | ||||
|  | ||||
|     &::-webkit-slider-runnable-track { | ||||
|       cursor: default; | ||||
|     } | ||||
|  | ||||
|     &::-moz-range-thumb { | ||||
|       background-color: $custom-range-thumb-disabled-bg; | ||||
|     } | ||||
|  | ||||
|     &::-moz-range-track { | ||||
|       cursor: default; | ||||
|     } | ||||
|  | ||||
|     &::-ms-thumb { | ||||
|       background-color: $custom-range-thumb-disabled-bg; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .custom-control-label::before, | ||||
| .custom-file-label, | ||||
| .custom-select { | ||||
|   @include transition($custom-forms-transition); | ||||
| } | ||||
							
								
								
									
										191
									
								
								assets/vendor/bootstrap/scss/_dropdown.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								assets/vendor/bootstrap/scss/_dropdown.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,191 @@ | ||||
| // The dropdown wrapper (`<div>`) | ||||
| .dropup, | ||||
| .dropright, | ||||
| .dropdown, | ||||
| .dropleft { | ||||
|   position: relative; | ||||
| } | ||||
|  | ||||
| .dropdown-toggle { | ||||
|   white-space: nowrap; | ||||
|  | ||||
|   // Generate the caret automatically | ||||
|   @include caret; | ||||
| } | ||||
|  | ||||
| // The dropdown menu | ||||
| .dropdown-menu { | ||||
|   position: absolute; | ||||
|   top: 100%; | ||||
|   left: 0; | ||||
|   z-index: $zindex-dropdown; | ||||
|   display: none; // none by default, but block on "open" of the menu | ||||
|   float: left; | ||||
|   min-width: $dropdown-min-width; | ||||
|   padding: $dropdown-padding-y 0; | ||||
|   margin: $dropdown-spacer 0 0; // override default ul | ||||
|   @include font-size($dropdown-font-size); | ||||
|   color: $dropdown-color; | ||||
|   text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) | ||||
|   list-style: none; | ||||
|   background-color: $dropdown-bg; | ||||
|   background-clip: padding-box; | ||||
|   border: $dropdown-border-width solid $dropdown-border-color; | ||||
|   @include border-radius($dropdown-border-radius); | ||||
|   @include box-shadow($dropdown-box-shadow); | ||||
| } | ||||
|  | ||||
| @each $breakpoint in map-keys($grid-breakpoints) { | ||||
|   @include media-breakpoint-up($breakpoint) { | ||||
|     $infix: breakpoint-infix($breakpoint, $grid-breakpoints); | ||||
|  | ||||
|     .dropdown-menu#{$infix}-left { | ||||
|       right: auto; | ||||
|       left: 0; | ||||
|     } | ||||
|  | ||||
|     .dropdown-menu#{$infix}-right { | ||||
|       right: 0; | ||||
|       left: auto; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Allow for dropdowns to go bottom up (aka, dropup-menu) | ||||
| // Just add .dropup after the standard .dropdown class and you're set. | ||||
| .dropup { | ||||
|   .dropdown-menu { | ||||
|     top: auto; | ||||
|     bottom: 100%; | ||||
|     margin-top: 0; | ||||
|     margin-bottom: $dropdown-spacer; | ||||
|   } | ||||
|  | ||||
|   .dropdown-toggle { | ||||
|     @include caret(up); | ||||
|   } | ||||
| } | ||||
|  | ||||
| .dropright { | ||||
|   .dropdown-menu { | ||||
|     top: 0; | ||||
|     right: auto; | ||||
|     left: 100%; | ||||
|     margin-top: 0; | ||||
|     margin-left: $dropdown-spacer; | ||||
|   } | ||||
|  | ||||
|   .dropdown-toggle { | ||||
|     @include caret(right); | ||||
|     &::after { | ||||
|       vertical-align: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .dropleft { | ||||
|   .dropdown-menu { | ||||
|     top: 0; | ||||
|     right: 100%; | ||||
|     left: auto; | ||||
|     margin-top: 0; | ||||
|     margin-right: $dropdown-spacer; | ||||
|   } | ||||
|  | ||||
|   .dropdown-toggle { | ||||
|     @include caret(left); | ||||
|     &::before { | ||||
|       vertical-align: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // When enabled Popper.js, reset basic dropdown position | ||||
| // stylelint-disable-next-line no-duplicate-selectors | ||||
| .dropdown-menu { | ||||
|   &[x-placement^="top"], | ||||
|   &[x-placement^="right"], | ||||
|   &[x-placement^="bottom"], | ||||
|   &[x-placement^="left"] { | ||||
|     right: auto; | ||||
|     bottom: auto; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Dividers (basically an `<hr>`) within the dropdown | ||||
| .dropdown-divider { | ||||
|   @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y); | ||||
| } | ||||
|  | ||||
| // Links, buttons, and more within the dropdown menu | ||||
| // | ||||
| // `<button>`-specific styles are denoted with `// For <button>s` | ||||
| .dropdown-item { | ||||
|   display: block; | ||||
|   width: 100%; // For `<button>`s | ||||
|   padding: $dropdown-item-padding-y $dropdown-item-padding-x; | ||||
|   clear: both; | ||||
|   font-weight: $font-weight-normal; | ||||
|   color: $dropdown-link-color; | ||||
|   text-align: inherit; // For `<button>`s | ||||
|   white-space: nowrap; // prevent links from randomly breaking onto new lines | ||||
|   background-color: transparent; // For `<button>`s | ||||
|   border: 0; // For `<button>`s | ||||
|  | ||||
|   // Prevent dropdown overflow if there's no padding | ||||
|   // See https://github.com/twbs/bootstrap/pull/27703 | ||||
|   @if $dropdown-padding-y == 0 { | ||||
|     &:first-child { | ||||
|       @include border-top-radius($dropdown-inner-border-radius); | ||||
|     } | ||||
|  | ||||
|     &:last-child { | ||||
|       @include border-bottom-radius($dropdown-inner-border-radius); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   @include hover-focus { | ||||
|     color: $dropdown-link-hover-color; | ||||
|     text-decoration: none; | ||||
|     @include gradient-bg($dropdown-link-hover-bg); | ||||
|   } | ||||
|  | ||||
|   &.active, | ||||
|   &:active { | ||||
|     color: $dropdown-link-active-color; | ||||
|     text-decoration: none; | ||||
|     @include gradient-bg($dropdown-link-active-bg); | ||||
|   } | ||||
|  | ||||
|   &.disabled, | ||||
|   &:disabled { | ||||
|     color: $dropdown-link-disabled-color; | ||||
|     pointer-events: none; | ||||
|     background-color: transparent; | ||||
|     // Remove CSS gradients if they're enabled | ||||
|     @if $enable-gradients { | ||||
|       background-image: none; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .dropdown-menu.show { | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| // Dropdown section headers | ||||
| .dropdown-header { | ||||
|   display: block; | ||||
|   padding: $dropdown-padding-y $dropdown-item-padding-x; | ||||
|   margin-bottom: 0; // for use with heading elements | ||||
|   @include font-size($font-size-sm); | ||||
|   color: $dropdown-header-color; | ||||
|   white-space: nowrap; // as with > li > a | ||||
| } | ||||
|  | ||||
| // Dropdown text | ||||
| .dropdown-item-text { | ||||
|   display: block; | ||||
|   padding: $dropdown-item-padding-y $dropdown-item-padding-x; | ||||
|   color: $dropdown-link-color; | ||||
| } | ||||
							
								
								
									
										330
									
								
								assets/vendor/bootstrap/scss/_forms.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										330
									
								
								assets/vendor/bootstrap/scss/_forms.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,330 @@ | ||||
| // stylelint-disable selector-no-qualifying-type | ||||
|  | ||||
| // | ||||
| // Textual form controls | ||||
| // | ||||
|  | ||||
| .form-control { | ||||
|   display: block; | ||||
|   width: 100%; | ||||
|   height: $input-height; | ||||
|   padding: $input-padding-y $input-padding-x; | ||||
|   font-family: $input-font-family; | ||||
|   @include font-size($input-font-size); | ||||
|   font-weight: $input-font-weight; | ||||
|   line-height: $input-line-height; | ||||
|   color: $input-color; | ||||
|   background-color: $input-bg; | ||||
|   background-clip: padding-box; | ||||
|   border: $input-border-width solid $input-border-color; | ||||
|  | ||||
|   // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS. | ||||
|   @include border-radius($input-border-radius, 0); | ||||
|  | ||||
|   @include box-shadow($input-box-shadow); | ||||
|   @include transition($input-transition); | ||||
|  | ||||
|   // Unstyle the caret on `<select>`s in IE10+. | ||||
|   &::-ms-expand { | ||||
|     background-color: transparent; | ||||
|     border: 0; | ||||
|   } | ||||
|  | ||||
|   // Customize the `:focus` state to imitate native WebKit styles. | ||||
|   @include form-control-focus(); | ||||
|  | ||||
|   // Placeholder | ||||
|   &::placeholder { | ||||
|     color: $input-placeholder-color; | ||||
|     // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526. | ||||
|     opacity: 1; | ||||
|   } | ||||
|  | ||||
|   // Disabled and read-only inputs | ||||
|   // | ||||
|   // HTML5 says that controls under a fieldset > legend:first-child won't be | ||||
|   // disabled if the fieldset is disabled. Due to implementation difficulty, we | ||||
|   // don't honor that edge case; we style them as disabled anyway. | ||||
|   &:disabled, | ||||
|   &[readonly] { | ||||
|     background-color: $input-disabled-bg; | ||||
|     // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655. | ||||
|     opacity: 1; | ||||
|   } | ||||
| } | ||||
|  | ||||
| select.form-control { | ||||
|   &:focus::-ms-value { | ||||
|     // Suppress the nested default white text on blue background highlight given to | ||||
|     // the selected option text when the (still closed) <select> receives focus | ||||
|     // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to | ||||
|     // match the appearance of the native widget. | ||||
|     // See https://github.com/twbs/bootstrap/issues/19398. | ||||
|     color: $input-color; | ||||
|     background-color: $input-bg; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Make file inputs better match text inputs by forcing them to new lines. | ||||
| .form-control-file, | ||||
| .form-control-range { | ||||
|   display: block; | ||||
|   width: 100%; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Labels | ||||
| // | ||||
|  | ||||
| // For use with horizontal and inline forms, when you need the label (or legend) | ||||
| // text to align with the form controls. | ||||
| .col-form-label { | ||||
|   padding-top: calc(#{$input-padding-y} + #{$input-border-width}); | ||||
|   padding-bottom: calc(#{$input-padding-y} + #{$input-border-width}); | ||||
|   margin-bottom: 0; // Override the `<label>/<legend>` default | ||||
|   @include font-size(inherit); // Override the `<legend>` default | ||||
|   line-height: $input-line-height; | ||||
| } | ||||
|  | ||||
| .col-form-label-lg { | ||||
|   padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width}); | ||||
|   padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width}); | ||||
|   @include font-size($input-font-size-lg); | ||||
|   line-height: $input-line-height-lg; | ||||
| } | ||||
|  | ||||
| .col-form-label-sm { | ||||
|   padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width}); | ||||
|   padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width}); | ||||
|   @include font-size($input-font-size-sm); | ||||
|   line-height: $input-line-height-sm; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Readonly controls as plain text | ||||
| // | ||||
| // Apply class to a readonly input to make it appear like regular plain | ||||
| // text (without any border, background color, focus indicator) | ||||
|  | ||||
| .form-control-plaintext { | ||||
|   display: block; | ||||
|   width: 100%; | ||||
|   padding-top: $input-padding-y; | ||||
|   padding-bottom: $input-padding-y; | ||||
|   margin-bottom: 0; // match inputs if this class comes on inputs with default margins | ||||
|   line-height: $input-line-height; | ||||
|   color: $input-plaintext-color; | ||||
|   background-color: transparent; | ||||
|   border: solid transparent; | ||||
|   border-width: $input-border-width 0; | ||||
|  | ||||
|   &.form-control-sm, | ||||
|   &.form-control-lg { | ||||
|     padding-right: 0; | ||||
|     padding-left: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Form control sizing | ||||
| // | ||||
| // Build on `.form-control` with modifier classes to decrease or increase the | ||||
| // height and font-size of form controls. | ||||
| // | ||||
| // Repeated in `_input_group.scss` to avoid Sass extend issues. | ||||
|  | ||||
| .form-control-sm { | ||||
|   height: $input-height-sm; | ||||
|   padding: $input-padding-y-sm $input-padding-x-sm; | ||||
|   @include font-size($input-font-size-sm); | ||||
|   line-height: $input-line-height-sm; | ||||
|   @include border-radius($input-border-radius-sm); | ||||
| } | ||||
|  | ||||
| .form-control-lg { | ||||
|   height: $input-height-lg; | ||||
|   padding: $input-padding-y-lg $input-padding-x-lg; | ||||
|   @include font-size($input-font-size-lg); | ||||
|   line-height: $input-line-height-lg; | ||||
|   @include border-radius($input-border-radius-lg); | ||||
| } | ||||
|  | ||||
| // stylelint-disable-next-line no-duplicate-selectors | ||||
| select.form-control { | ||||
|   &[size], | ||||
|   &[multiple] { | ||||
|     height: auto; | ||||
|   } | ||||
| } | ||||
|  | ||||
| textarea.form-control { | ||||
|   height: auto; | ||||
| } | ||||
|  | ||||
| // Form groups | ||||
| // | ||||
| // Designed to help with the organization and spacing of vertical forms. For | ||||
| // horizontal forms, use the predefined grid classes. | ||||
|  | ||||
| .form-group { | ||||
|   margin-bottom: $form-group-margin-bottom; | ||||
| } | ||||
|  | ||||
| .form-text { | ||||
|   display: block; | ||||
|   margin-top: $form-text-margin-top; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Form grid | ||||
| // | ||||
| // Special replacement for our grid system's `.row` for tighter form layouts. | ||||
|  | ||||
| .form-row { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   margin-right: -$form-grid-gutter-width / 2; | ||||
|   margin-left: -$form-grid-gutter-width / 2; | ||||
|  | ||||
|   > .col, | ||||
|   > [class*="col-"] { | ||||
|     padding-right: $form-grid-gutter-width / 2; | ||||
|     padding-left: $form-grid-gutter-width / 2; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Checkboxes and radios | ||||
| // | ||||
| // Indent the labels to position radios/checkboxes as hanging controls. | ||||
|  | ||||
| .form-check { | ||||
|   position: relative; | ||||
|   display: block; | ||||
|   padding-left: $form-check-input-gutter; | ||||
| } | ||||
|  | ||||
| .form-check-input { | ||||
|   position: absolute; | ||||
|   margin-top: $form-check-input-margin-y; | ||||
|   margin-left: -$form-check-input-gutter; | ||||
|  | ||||
|   &:disabled ~ .form-check-label { | ||||
|     color: $text-muted; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .form-check-label { | ||||
|   margin-bottom: 0; // Override default `<label>` bottom margin | ||||
| } | ||||
|  | ||||
| .form-check-inline { | ||||
|   display: inline-flex; | ||||
|   align-items: center; | ||||
|   padding-left: 0; // Override base .form-check | ||||
|   margin-right: $form-check-inline-margin-x; | ||||
|  | ||||
|   // Undo .form-check-input defaults and add some `margin-right`. | ||||
|   .form-check-input { | ||||
|     position: static; | ||||
|     margin-top: 0; | ||||
|     margin-right: $form-check-inline-input-margin-x; | ||||
|     margin-left: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Form validation | ||||
| // | ||||
| // Provide feedback to users when form field values are valid or invalid. Works | ||||
| // primarily for client-side validation via scoped `:invalid` and `:valid` | ||||
| // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for | ||||
| // server side validation. | ||||
|  | ||||
| @each $state, $data in $form-validation-states { | ||||
|   @include form-validation-state($state, map-get($data, color), map-get($data, icon)); | ||||
| } | ||||
|  | ||||
| // Inline forms | ||||
| // | ||||
| // Make forms appear inline(-block) by adding the `.form-inline` class. Inline | ||||
| // forms begin stacked on extra small (mobile) devices and then go inline when | ||||
| // viewports reach <768px. | ||||
| // | ||||
| // Requires wrapping inputs and labels with `.form-group` for proper display of | ||||
| // default HTML form controls and our custom form controls (e.g., input groups). | ||||
|  | ||||
| .form-inline { | ||||
|   display: flex; | ||||
|   flex-flow: row wrap; | ||||
|   align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height) | ||||
|  | ||||
|   // Because we use flex, the initial sizing of checkboxes is collapsed and | ||||
|   // doesn't occupy the full-width (which is what we want for xs grid tier), | ||||
|   // so we force that here. | ||||
|   .form-check { | ||||
|     width: 100%; | ||||
|   } | ||||
|  | ||||
|   // Kick in the inline | ||||
|   @include media-breakpoint-up(sm) { | ||||
|     label { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|       justify-content: center; | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     // Inline-block all the things for "inline" | ||||
|     .form-group { | ||||
|       display: flex; | ||||
|       flex: 0 0 auto; | ||||
|       flex-flow: row wrap; | ||||
|       align-items: center; | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|  | ||||
|     // Allow folks to *not* use `.form-group` | ||||
|     .form-control { | ||||
|       display: inline-block; | ||||
|       width: auto; // Prevent labels from stacking above inputs in `.form-group` | ||||
|       vertical-align: middle; | ||||
|     } | ||||
|  | ||||
|     // Make static controls behave like regular ones | ||||
|     .form-control-plaintext { | ||||
|       display: inline-block; | ||||
|     } | ||||
|  | ||||
|     .input-group, | ||||
|     .custom-select { | ||||
|       width: auto; | ||||
|     } | ||||
|  | ||||
|     // Remove default margin on radios/checkboxes that were used for stacking, and | ||||
|     // then undo the floating of radios and checkboxes to match. | ||||
|     .form-check { | ||||
|       display: flex; | ||||
|       align-items: center; | ||||
|       justify-content: center; | ||||
|       width: auto; | ||||
|       padding-left: 0; | ||||
|     } | ||||
|     .form-check-input { | ||||
|       position: relative; | ||||
|       flex-shrink: 0; | ||||
|       margin-top: 0; | ||||
|       margin-right: $form-check-input-margin-x; | ||||
|       margin-left: 0; | ||||
|     } | ||||
|  | ||||
|     .custom-control { | ||||
|       align-items: center; | ||||
|       justify-content: center; | ||||
|     } | ||||
|     .custom-control-label { | ||||
|       margin-bottom: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										86
									
								
								assets/vendor/bootstrap/scss/_functions.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								assets/vendor/bootstrap/scss/_functions.scss
									
									
									
									
										vendored
									
									
										Normal 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); | ||||
| } | ||||
							
								
								
									
										52
									
								
								assets/vendor/bootstrap/scss/_grid.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								assets/vendor/bootstrap/scss/_grid.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| // Container widths | ||||
| // | ||||
| // Set the container width, and override it for fixed navbars in media queries. | ||||
|  | ||||
| @if $enable-grid-classes { | ||||
|   .container { | ||||
|     @include make-container(); | ||||
|     @include make-container-max-widths(); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Fluid container | ||||
| // | ||||
| // Utilizes the mixin meant for fixed width containers, but with 100% width for | ||||
| // fluid, full width layouts. | ||||
|  | ||||
| @if $enable-grid-classes { | ||||
|   .container-fluid { | ||||
|     @include make-container(); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Row | ||||
| // | ||||
| // Rows contain and clear the floats of your columns. | ||||
|  | ||||
| @if $enable-grid-classes { | ||||
|   .row { | ||||
|     @include make-row(); | ||||
|   } | ||||
|  | ||||
|   // Remove the negative margin from default .row, then the horizontal padding | ||||
|   // from all immediate children columns (to prevent runaway style inheritance). | ||||
|   .no-gutters { | ||||
|     margin-right: 0; | ||||
|     margin-left: 0; | ||||
|  | ||||
|     > .col, | ||||
|     > [class*="col-"] { | ||||
|       padding-right: 0; | ||||
|       padding-left: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Columns | ||||
| // | ||||
| // Common styles for small and large grid columns | ||||
|  | ||||
| @if $enable-grid-classes { | ||||
|   @include make-grid-columns(); | ||||
| } | ||||
							
								
								
									
										42
									
								
								assets/vendor/bootstrap/scss/_images.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								assets/vendor/bootstrap/scss/_images.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| // Responsive images (ensure images don't scale beyond their parents) | ||||
| // | ||||
| // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s. | ||||
| // We previously tried the "images are responsive by default" approach in Bootstrap v2, | ||||
| // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) | ||||
| // which weren't expecting the images within themselves to be involuntarily resized. | ||||
| // See also https://github.com/twbs/bootstrap/issues/18178 | ||||
| .img-fluid { | ||||
|   @include img-fluid; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Image thumbnails | ||||
| .img-thumbnail { | ||||
|   padding: $thumbnail-padding; | ||||
|   background-color: $thumbnail-bg; | ||||
|   border: $thumbnail-border-width solid $thumbnail-border-color; | ||||
|   @include border-radius($thumbnail-border-radius); | ||||
|   @include box-shadow($thumbnail-box-shadow); | ||||
|  | ||||
|   // Keep them at most 100% wide | ||||
|   @include img-fluid; | ||||
| } | ||||
|  | ||||
| // | ||||
| // Figures | ||||
| // | ||||
|  | ||||
| .figure { | ||||
|   // Ensures the caption's text aligns with the image. | ||||
|   display: inline-block; | ||||
| } | ||||
|  | ||||
| .figure-img { | ||||
|   margin-bottom: $spacer / 2; | ||||
|   line-height: 1; | ||||
| } | ||||
|  | ||||
| .figure-caption { | ||||
|   @include font-size($figure-caption-font-size); | ||||
|   color: $figure-caption-color; | ||||
| } | ||||
							
								
								
									
										193
									
								
								assets/vendor/bootstrap/scss/_input-group.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								assets/vendor/bootstrap/scss/_input-group.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,193 @@ | ||||
| // stylelint-disable selector-no-qualifying-type | ||||
|  | ||||
| // | ||||
| // Base styles | ||||
| // | ||||
|  | ||||
| .input-group { | ||||
|   position: relative; | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; // For form validation feedback | ||||
|   align-items: stretch; | ||||
|   width: 100%; | ||||
|  | ||||
|   > .form-control, | ||||
|   > .form-control-plaintext, | ||||
|   > .custom-select, | ||||
|   > .custom-file { | ||||
|     position: relative; // For focus state's z-index | ||||
|     flex: 1 1 auto; | ||||
|     // Add width 1% and flex-basis auto to ensure that button will not wrap out | ||||
|     // the column. Applies to IE Edge+ and Firefox. Chrome does not require this. | ||||
|     width: 1%; | ||||
|     margin-bottom: 0; | ||||
|  | ||||
|     + .form-control, | ||||
|     + .custom-select, | ||||
|     + .custom-file { | ||||
|       margin-left: -$input-border-width; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // Bring the "active" form control to the top of surrounding elements | ||||
|   > .form-control:focus, | ||||
|   > .custom-select:focus, | ||||
|   > .custom-file .custom-file-input:focus ~ .custom-file-label { | ||||
|     z-index: 3; | ||||
|   } | ||||
|  | ||||
|   // Bring the custom file input above the label | ||||
|   > .custom-file .custom-file-input:focus { | ||||
|     z-index: 4; | ||||
|   } | ||||
|  | ||||
|   > .form-control, | ||||
|   > .custom-select { | ||||
|     &:not(:last-child) { @include border-right-radius(0); } | ||||
|     &:not(:first-child) { @include border-left-radius(0); } | ||||
|   } | ||||
|  | ||||
|   // Custom file inputs have more complex markup, thus requiring different | ||||
|   // border-radius overrides. | ||||
|   > .custom-file { | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|  | ||||
|     &:not(:last-child) .custom-file-label, | ||||
|     &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); } | ||||
|     &:not(:first-child) .custom-file-label { @include border-left-radius(0); } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Prepend and append | ||||
| // | ||||
| // While it requires one extra layer of HTML for each, dedicated prepend and | ||||
| // append elements allow us to 1) be less clever, 2) simplify our selectors, and | ||||
| // 3) support HTML5 form validation. | ||||
|  | ||||
| .input-group-prepend, | ||||
| .input-group-append { | ||||
|   display: flex; | ||||
|  | ||||
|   // Ensure buttons are always above inputs for more visually pleasing borders. | ||||
|   // This isn't needed for `.input-group-text` since it shares the same border-color | ||||
|   // as our inputs. | ||||
|   .btn { | ||||
|     position: relative; | ||||
|     z-index: 2; | ||||
|  | ||||
|     &:focus { | ||||
|       z-index: 3; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .btn + .btn, | ||||
|   .btn + .input-group-text, | ||||
|   .input-group-text + .input-group-text, | ||||
|   .input-group-text + .btn { | ||||
|     margin-left: -$input-border-width; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .input-group-prepend { margin-right: -$input-border-width; } | ||||
| .input-group-append { margin-left: -$input-border-width; } | ||||
|  | ||||
|  | ||||
| // Textual addons | ||||
| // | ||||
| // Serves as a catch-all element for any text or radio/checkbox input you wish | ||||
| // to prepend or append to an input. | ||||
|  | ||||
| .input-group-text { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   padding: $input-padding-y $input-padding-x; | ||||
|   margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom | ||||
|   @include font-size($input-font-size); // Match inputs | ||||
|   font-weight: $font-weight-normal; | ||||
|   line-height: $input-line-height; | ||||
|   color: $input-group-addon-color; | ||||
|   text-align: center; | ||||
|   white-space: nowrap; | ||||
|   background-color: $input-group-addon-bg; | ||||
|   border: $input-border-width solid $input-group-addon-border-color; | ||||
|   @include border-radius($input-border-radius); | ||||
|  | ||||
|   // Nuke default margins from checkboxes and radios to vertically center within. | ||||
|   input[type="radio"], | ||||
|   input[type="checkbox"] { | ||||
|     margin-top: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Sizing | ||||
| // | ||||
| // Remix the default form control sizing classes into new ones for easier | ||||
| // manipulation. | ||||
|  | ||||
| .input-group-lg > .form-control:not(textarea), | ||||
| .input-group-lg > .custom-select { | ||||
|   height: $input-height-lg; | ||||
| } | ||||
|  | ||||
| .input-group-lg > .form-control, | ||||
| .input-group-lg > .custom-select, | ||||
| .input-group-lg > .input-group-prepend > .input-group-text, | ||||
| .input-group-lg > .input-group-append > .input-group-text, | ||||
| .input-group-lg > .input-group-prepend > .btn, | ||||
| .input-group-lg > .input-group-append > .btn { | ||||
|   padding: $input-padding-y-lg $input-padding-x-lg; | ||||
|   @include font-size($input-font-size-lg); | ||||
|   line-height: $input-line-height-lg; | ||||
|   @include border-radius($input-border-radius-lg); | ||||
| } | ||||
|  | ||||
| .input-group-sm > .form-control:not(textarea), | ||||
| .input-group-sm > .custom-select { | ||||
|   height: $input-height-sm; | ||||
| } | ||||
|  | ||||
| .input-group-sm > .form-control, | ||||
| .input-group-sm > .custom-select, | ||||
| .input-group-sm > .input-group-prepend > .input-group-text, | ||||
| .input-group-sm > .input-group-append > .input-group-text, | ||||
| .input-group-sm > .input-group-prepend > .btn, | ||||
| .input-group-sm > .input-group-append > .btn { | ||||
|   padding: $input-padding-y-sm $input-padding-x-sm; | ||||
|   @include font-size($input-font-size-sm); | ||||
|   line-height: $input-line-height-sm; | ||||
|   @include border-radius($input-border-radius-sm); | ||||
| } | ||||
|  | ||||
| .input-group-lg > .custom-select, | ||||
| .input-group-sm > .custom-select { | ||||
|   padding-right: $custom-select-padding-x + $custom-select-indicator-padding; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Prepend and append rounded corners | ||||
| // | ||||
| // These rulesets must come after the sizing ones to properly override sm and lg | ||||
| // border-radius values when extending. They're more specific than we'd like | ||||
| // with the `.input-group >` part, but without it, we cannot override the sizing. | ||||
|  | ||||
|  | ||||
| .input-group > .input-group-prepend > .btn, | ||||
| .input-group > .input-group-prepend > .input-group-text, | ||||
| .input-group > .input-group-append:not(:last-child) > .btn, | ||||
| .input-group > .input-group-append:not(:last-child) > .input-group-text, | ||||
| .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), | ||||
| .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { | ||||
|   @include border-right-radius(0); | ||||
| } | ||||
|  | ||||
| .input-group > .input-group-append > .btn, | ||||
| .input-group > .input-group-append > .input-group-text, | ||||
| .input-group > .input-group-prepend:not(:first-child) > .btn, | ||||
| .input-group > .input-group-prepend:not(:first-child) > .input-group-text, | ||||
| .input-group > .input-group-prepend:first-child > .btn:not(:first-child), | ||||
| .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { | ||||
|   @include border-left-radius(0); | ||||
| } | ||||
							
								
								
									
										17
									
								
								assets/vendor/bootstrap/scss/_jumbotron.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								assets/vendor/bootstrap/scss/_jumbotron.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | ||||
| .jumbotron { | ||||
|   padding: $jumbotron-padding ($jumbotron-padding / 2); | ||||
|   margin-bottom: $jumbotron-padding; | ||||
|   color: $jumbotron-color; | ||||
|   background-color: $jumbotron-bg; | ||||
|   @include border-radius($border-radius-lg); | ||||
|  | ||||
|   @include media-breakpoint-up(sm) { | ||||
|     padding: ($jumbotron-padding * 2) $jumbotron-padding; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .jumbotron-fluid { | ||||
|   padding-right: 0; | ||||
|   padding-left: 0; | ||||
|   @include border-radius(0); | ||||
| } | ||||
							
								
								
									
										149
									
								
								assets/vendor/bootstrap/scss/_list-group.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								assets/vendor/bootstrap/scss/_list-group.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,149 @@ | ||||
| // Base class | ||||
| // | ||||
| // Easily usable on <ul>, <ol>, or <div>. | ||||
|  | ||||
| .list-group { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|  | ||||
|   // No need to set list-style: none; since .list-group-item is block level | ||||
|   padding-left: 0; // reset padding because ul and ol | ||||
|   margin-bottom: 0; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Interactive list items | ||||
| // | ||||
| // Use anchor or button elements instead of `li`s or `div`s to create interactive | ||||
| // list items. Includes an extra `.active` modifier class for selected items. | ||||
|  | ||||
| .list-group-item-action { | ||||
|   width: 100%; // For `<button>`s (anchors become 100% by default though) | ||||
|   color: $list-group-action-color; | ||||
|   text-align: inherit; // For `<button>`s (anchors inherit) | ||||
|  | ||||
|   // Hover state | ||||
|   @include hover-focus { | ||||
|     z-index: 1; // Place hover/focus items above their siblings for proper border styling | ||||
|     color: $list-group-action-hover-color; | ||||
|     text-decoration: none; | ||||
|     background-color: $list-group-hover-bg; | ||||
|   } | ||||
|  | ||||
|   &:active { | ||||
|     color: $list-group-action-active-color; | ||||
|     background-color: $list-group-action-active-bg; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Individual list items | ||||
| // | ||||
| // Use on `li`s or `div`s within the `.list-group` parent. | ||||
|  | ||||
| .list-group-item { | ||||
|   position: relative; | ||||
|   display: block; | ||||
|   padding: $list-group-item-padding-y $list-group-item-padding-x; | ||||
|   // Place the border on the list items and negative margin up for better styling | ||||
|   margin-bottom: -$list-group-border-width; | ||||
|   color: $list-group-color; | ||||
|   background-color: $list-group-bg; | ||||
|   border: $list-group-border-width solid $list-group-border-color; | ||||
|  | ||||
|   &:first-child { | ||||
|     @include border-top-radius($list-group-border-radius); | ||||
|   } | ||||
|  | ||||
|   &:last-child { | ||||
|     margin-bottom: 0; | ||||
|     @include border-bottom-radius($list-group-border-radius); | ||||
|   } | ||||
|  | ||||
|   &.disabled, | ||||
|   &:disabled { | ||||
|     color: $list-group-disabled-color; | ||||
|     pointer-events: none; | ||||
|     background-color: $list-group-disabled-bg; | ||||
|   } | ||||
|  | ||||
|   // Include both here for `<a>`s and `<button>`s | ||||
|   &.active { | ||||
|     z-index: 2; // Place active items above their siblings for proper border styling | ||||
|     color: $list-group-active-color; | ||||
|     background-color: $list-group-active-bg; | ||||
|     border-color: $list-group-active-border-color; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Horizontal | ||||
| // | ||||
| // Change the layout of list group items from vertical (default) to horizontal. | ||||
|  | ||||
| @each $breakpoint in map-keys($grid-breakpoints) { | ||||
|   @include media-breakpoint-up($breakpoint) { | ||||
|     $infix: breakpoint-infix($breakpoint, $grid-breakpoints); | ||||
|  | ||||
|     .list-group-horizontal#{$infix} { | ||||
|       flex-direction: row; | ||||
|  | ||||
|       .list-group-item { | ||||
|         margin-right: -$list-group-border-width; | ||||
|         margin-bottom: 0; | ||||
|  | ||||
|         &:first-child { | ||||
|           @include border-left-radius($list-group-border-radius); | ||||
|           @include border-top-right-radius(0); | ||||
|         } | ||||
|  | ||||
|         &:last-child { | ||||
|           margin-right: 0; | ||||
|           @include border-right-radius($list-group-border-radius); | ||||
|           @include border-bottom-left-radius(0); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Flush list items | ||||
| // | ||||
| // Remove borders and border-radius to keep list group items edge-to-edge. Most | ||||
| // useful within other components (e.g., cards). | ||||
|  | ||||
| .list-group-flush { | ||||
|   .list-group-item { | ||||
|     border-right: 0; | ||||
|     border-left: 0; | ||||
|     @include border-radius(0); | ||||
|  | ||||
|     &:last-child { | ||||
|       margin-bottom: -$list-group-border-width; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &:first-child { | ||||
|     .list-group-item:first-child { | ||||
|       border-top: 0; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &:last-child { | ||||
|     .list-group-item:last-child { | ||||
|       margin-bottom: 0; | ||||
|       border-bottom: 0; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Contextual variants | ||||
| // | ||||
| // Add modifier classes to change text and background color on individual items. | ||||
| // Organizationally, this must come after the `:hover` states. | ||||
|  | ||||
| @each $color, $value in $theme-colors { | ||||
|   @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6)); | ||||
| } | ||||
							
								
								
									
										8
									
								
								assets/vendor/bootstrap/scss/_media.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								assets/vendor/bootstrap/scss/_media.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| .media { | ||||
|   display: flex; | ||||
|   align-items: flex-start; | ||||
| } | ||||
|  | ||||
| .media-body { | ||||
|   flex: 1; | ||||
| } | ||||
							
								
								
									
										47
									
								
								assets/vendor/bootstrap/scss/_mixins.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								assets/vendor/bootstrap/scss/_mixins.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| // Toggles | ||||
| // | ||||
| // Used in conjunction with global variables to enable certain theme features. | ||||
|  | ||||
| // Vendor | ||||
| @import "vendor/rfs"; | ||||
|  | ||||
| // Deprecate | ||||
| @import "mixins/deprecate"; | ||||
|  | ||||
| // Utilities | ||||
| @import "mixins/breakpoints"; | ||||
| @import "mixins/hover"; | ||||
| @import "mixins/image"; | ||||
| @import "mixins/badge"; | ||||
| @import "mixins/resize"; | ||||
| @import "mixins/screen-reader"; | ||||
| @import "mixins/size"; | ||||
| @import "mixins/reset-text"; | ||||
| @import "mixins/text-emphasis"; | ||||
| @import "mixins/text-hide"; | ||||
| @import "mixins/text-truncate"; | ||||
| @import "mixins/visibility"; | ||||
|  | ||||
| // // Components | ||||
| @import "mixins/alert"; | ||||
| @import "mixins/buttons"; | ||||
| @import "mixins/caret"; | ||||
| @import "mixins/pagination"; | ||||
| @import "mixins/lists"; | ||||
| @import "mixins/list-group"; | ||||
| @import "mixins/nav-divider"; | ||||
| @import "mixins/forms"; | ||||
| @import "mixins/table-row"; | ||||
|  | ||||
| // // Skins | ||||
| @import "mixins/background-variant"; | ||||
| @import "mixins/border-radius"; | ||||
| @import "mixins/box-shadow"; | ||||
| @import "mixins/gradients"; | ||||
| @import "mixins/transition"; | ||||
|  | ||||
| // // Layout | ||||
| @import "mixins/clearfix"; | ||||
| @import "mixins/grid-framework"; | ||||
| @import "mixins/grid"; | ||||
| @import "mixins/float"; | ||||
							
								
								
									
										229
									
								
								assets/vendor/bootstrap/scss/_modal.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										229
									
								
								assets/vendor/bootstrap/scss/_modal.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,229 @@ | ||||
| // .modal-open      - body class for killing the scroll | ||||
| // .modal           - container to scroll within | ||||
| // .modal-dialog    - positioning shell for the actual modal | ||||
| // .modal-content   - actual modal w/ bg and corners and stuff | ||||
|  | ||||
|  | ||||
| .modal-open { | ||||
|   // Kill the scroll on the body | ||||
|   overflow: hidden; | ||||
|  | ||||
|   .modal { | ||||
|     overflow-x: hidden; | ||||
|     overflow-y: auto; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Container that the modal scrolls within | ||||
| .modal { | ||||
|   position: fixed; | ||||
|   top: 0; | ||||
|   left: 0; | ||||
|   z-index: $zindex-modal; | ||||
|   display: none; | ||||
|   width: 100%; | ||||
|   height: 100%; | ||||
|   overflow: hidden; | ||||
|   // Prevent Chrome on Windows from adding a focus outline. For details, see | ||||
|   // https://github.com/twbs/bootstrap/pull/10951. | ||||
|   outline: 0; | ||||
|   // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a | ||||
|   // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342 | ||||
|   // See also https://github.com/twbs/bootstrap/issues/17695 | ||||
| } | ||||
|  | ||||
| // Shell div to position the modal with bottom padding | ||||
| .modal-dialog { | ||||
|   position: relative; | ||||
|   width: auto; | ||||
|   margin: $modal-dialog-margin; | ||||
|   // allow clicks to pass through for custom click handling to close modal | ||||
|   pointer-events: none; | ||||
|  | ||||
|   // When fading in the modal, animate it to slide down | ||||
|   .modal.fade & { | ||||
|     @include transition($modal-transition); | ||||
|     transform: $modal-fade-transform; | ||||
|   } | ||||
|   .modal.show & { | ||||
|     transform: $modal-show-transform; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .modal-dialog-scrollable { | ||||
|   display: flex; // IE10/11 | ||||
|   max-height: calc(100% - #{$modal-dialog-margin * 2}); | ||||
|  | ||||
|   .modal-content { | ||||
|     max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11 | ||||
|     overflow: hidden; | ||||
|   } | ||||
|  | ||||
|   .modal-header, | ||||
|   .modal-footer { | ||||
|     flex-shrink: 0; | ||||
|   } | ||||
|  | ||||
|   .modal-body { | ||||
|     overflow-y: auto; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .modal-dialog-centered { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   min-height: calc(100% - #{$modal-dialog-margin * 2}); | ||||
|  | ||||
|   // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11) | ||||
|   &::before { | ||||
|     display: block; // IE10 | ||||
|     height: calc(100vh - #{$modal-dialog-margin * 2}); | ||||
|     content: ""; | ||||
|   } | ||||
|  | ||||
|   // Ensure `.modal-body` shows scrollbar (IE10/11) | ||||
|   &.modal-dialog-scrollable { | ||||
|     flex-direction: column; | ||||
|     justify-content: center; | ||||
|     height: 100%; | ||||
|  | ||||
|     .modal-content { | ||||
|       max-height: none; | ||||
|     } | ||||
|  | ||||
|     &::before { | ||||
|       content: none; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Actual modal | ||||
| .modal-content { | ||||
|   position: relative; | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog` | ||||
|   // counteract the pointer-events: none; in the .modal-dialog | ||||
|   color: $modal-content-color; | ||||
|   pointer-events: auto; | ||||
|   background-color: $modal-content-bg; | ||||
|   background-clip: padding-box; | ||||
|   border: $modal-content-border-width solid $modal-content-border-color; | ||||
|   @include border-radius($modal-content-border-radius); | ||||
|   @include box-shadow($modal-content-box-shadow-xs); | ||||
|   // Remove focus outline from opened modal | ||||
|   outline: 0; | ||||
| } | ||||
|  | ||||
| // Modal background | ||||
| .modal-backdrop { | ||||
|   position: fixed; | ||||
|   top: 0; | ||||
|   left: 0; | ||||
|   z-index: $zindex-modal-backdrop; | ||||
|   width: 100vw; | ||||
|   height: 100vh; | ||||
|   background-color: $modal-backdrop-bg; | ||||
|  | ||||
|   // Fade for backdrop | ||||
|   &.fade { opacity: 0; } | ||||
|   &.show { opacity: $modal-backdrop-opacity; } | ||||
| } | ||||
|  | ||||
| // Modal header | ||||
| // Top section of the modal w/ title and dismiss | ||||
| .modal-header { | ||||
|   display: flex; | ||||
|   align-items: flex-start; // so the close btn always stays on the upper right corner | ||||
|   justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends | ||||
|   padding: $modal-header-padding; | ||||
|   border-bottom: $modal-header-border-width solid $modal-header-border-color; | ||||
|   @include border-top-radius($modal-content-border-radius); | ||||
|  | ||||
|   .close { | ||||
|     padding: $modal-header-padding; | ||||
|     // auto on the left force icon to the right even when there is no .modal-title | ||||
|     margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Title text within header | ||||
| .modal-title { | ||||
|   margin-bottom: 0; | ||||
|   line-height: $modal-title-line-height; | ||||
| } | ||||
|  | ||||
| // Modal body | ||||
| // Where all modal content resides (sibling of .modal-header and .modal-footer) | ||||
| .modal-body { | ||||
|   position: relative; | ||||
|   // Enable `flex-grow: 1` so that the body take up as much space as possible | ||||
|   // when should there be a fixed height on `.modal-dialog`. | ||||
|   flex: 1 1 auto; | ||||
|   padding: $modal-inner-padding; | ||||
| } | ||||
|  | ||||
| // Footer (for actions) | ||||
| .modal-footer { | ||||
|   display: flex; | ||||
|   align-items: center; // vertically center | ||||
|   justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items | ||||
|   padding: $modal-inner-padding; | ||||
|   border-top: $modal-footer-border-width solid $modal-footer-border-color; | ||||
|   @include border-bottom-radius($modal-content-border-radius); | ||||
|  | ||||
|   // Easily place margin between footer elements | ||||
|   > :not(:first-child) { margin-left: .25rem; } | ||||
|   > :not(:last-child) { margin-right: .25rem; } | ||||
| } | ||||
|  | ||||
| // Measure scrollbar width for padding body during modal show/hide | ||||
| .modal-scrollbar-measure { | ||||
|   position: absolute; | ||||
|   top: -9999px; | ||||
|   width: 50px; | ||||
|   height: 50px; | ||||
|   overflow: scroll; | ||||
| } | ||||
|  | ||||
| // Scale up the modal | ||||
| @include media-breakpoint-up(sm) { | ||||
|   // Automatically set modal's width for larger viewports | ||||
|   .modal-dialog { | ||||
|     max-width: $modal-md; | ||||
|     margin: $modal-dialog-margin-y-sm-up auto; | ||||
|   } | ||||
|  | ||||
|   .modal-dialog-scrollable { | ||||
|     max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2}); | ||||
|  | ||||
|     .modal-content { | ||||
|       max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2}); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .modal-dialog-centered { | ||||
|     min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2}); | ||||
|  | ||||
|     &::before { | ||||
|       height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2}); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .modal-content { | ||||
|     @include box-shadow($modal-content-box-shadow-sm-up); | ||||
|   } | ||||
|  | ||||
|   .modal-sm { max-width: $modal-sm; } | ||||
| } | ||||
|  | ||||
| @include media-breakpoint-up(lg) { | ||||
|   .modal-lg, | ||||
|   .modal-xl { | ||||
|     max-width: $modal-lg; | ||||
|   } | ||||
| } | ||||
|  | ||||
| @include media-breakpoint-up(xl) { | ||||
|   .modal-xl { max-width: $modal-xl; } | ||||
| } | ||||
							
								
								
									
										120
									
								
								assets/vendor/bootstrap/scss/_nav.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								assets/vendor/bootstrap/scss/_nav.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,120 @@ | ||||
| // Base class | ||||
| // | ||||
| // Kickstart any navigation component with a set of style resets. Works with | ||||
| // `<nav>`s or `<ul>`s. | ||||
|  | ||||
| .nav { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
|   padding-left: 0; | ||||
|   margin-bottom: 0; | ||||
|   list-style: none; | ||||
| } | ||||
|  | ||||
| .nav-link { | ||||
|   display: block; | ||||
|   padding: $nav-link-padding-y $nav-link-padding-x; | ||||
|  | ||||
|   @include hover-focus { | ||||
|     text-decoration: none; | ||||
|   } | ||||
|  | ||||
|   // Disabled state lightens text | ||||
|   &.disabled { | ||||
|     color: $nav-link-disabled-color; | ||||
|     pointer-events: none; | ||||
|     cursor: default; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // | ||||
| // Tabs | ||||
| // | ||||
|  | ||||
| .nav-tabs { | ||||
|   border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; | ||||
|  | ||||
|   .nav-item { | ||||
|     margin-bottom: -$nav-tabs-border-width; | ||||
|   } | ||||
|  | ||||
|   .nav-link { | ||||
|     border: $nav-tabs-border-width solid transparent; | ||||
|     @include border-top-radius($nav-tabs-border-radius); | ||||
|  | ||||
|     @include hover-focus { | ||||
|       border-color: $nav-tabs-link-hover-border-color; | ||||
|     } | ||||
|  | ||||
|     &.disabled { | ||||
|       color: $nav-link-disabled-color; | ||||
|       background-color: transparent; | ||||
|       border-color: transparent; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .nav-link.active, | ||||
|   .nav-item.show .nav-link { | ||||
|     color: $nav-tabs-link-active-color; | ||||
|     background-color: $nav-tabs-link-active-bg; | ||||
|     border-color: $nav-tabs-link-active-border-color; | ||||
|   } | ||||
|  | ||||
|   .dropdown-menu { | ||||
|     // Make dropdown border overlap tab border | ||||
|     margin-top: -$nav-tabs-border-width; | ||||
|     // Remove the top rounded corners here since there is a hard edge above the menu | ||||
|     @include border-top-radius(0); | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Pills | ||||
| // | ||||
|  | ||||
| .nav-pills { | ||||
|   .nav-link { | ||||
|     @include border-radius($nav-pills-border-radius); | ||||
|   } | ||||
|  | ||||
|   .nav-link.active, | ||||
|   .show > .nav-link { | ||||
|     color: $nav-pills-link-active-color; | ||||
|     background-color: $nav-pills-link-active-bg; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Justified variants | ||||
| // | ||||
|  | ||||
| .nav-fill { | ||||
|   .nav-item { | ||||
|     flex: 1 1 auto; | ||||
|     text-align: center; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .nav-justified { | ||||
|   .nav-item { | ||||
|     flex-basis: 0; | ||||
|     flex-grow: 1; | ||||
|     text-align: center; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Tabbable tabs | ||||
| // | ||||
| // Hide tabbable panes to start, show them when `.active` | ||||
|  | ||||
| .tab-content { | ||||
|   > .tab-pane { | ||||
|     display: none; | ||||
|   } | ||||
|   > .active { | ||||
|     display: block; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										294
									
								
								assets/vendor/bootstrap/scss/_navbar.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										294
									
								
								assets/vendor/bootstrap/scss/_navbar.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,294 @@ | ||||
| // Contents | ||||
| // | ||||
| // Navbar | ||||
| // Navbar brand | ||||
| // Navbar nav | ||||
| // Navbar text | ||||
| // Navbar divider | ||||
| // Responsive navbar | ||||
| // Navbar position | ||||
| // Navbar themes | ||||
|  | ||||
|  | ||||
| // Navbar | ||||
| // | ||||
| // Provide a static navbar from which we expand to create full-width, fixed, and | ||||
| // other navbar variations. | ||||
|  | ||||
| .navbar { | ||||
|   position: relative; | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; // allow us to do the line break for collapsing content | ||||
|   align-items: center; | ||||
|   justify-content: space-between; // space out brand from logo | ||||
|   padding: $navbar-padding-y $navbar-padding-x; | ||||
|  | ||||
|   // Because flex properties aren't inherited, we need to redeclare these first | ||||
|   // few properties so that content nested within behave properly. | ||||
|   > .container, | ||||
|   > .container-fluid { | ||||
|     display: flex; | ||||
|     flex-wrap: wrap; | ||||
|     align-items: center; | ||||
|     justify-content: space-between; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Navbar brand | ||||
| // | ||||
| // Used for brand, project, or site names. | ||||
|  | ||||
| .navbar-brand { | ||||
|   display: inline-block; | ||||
|   padding-top: $navbar-brand-padding-y; | ||||
|   padding-bottom: $navbar-brand-padding-y; | ||||
|   margin-right: $navbar-padding-x; | ||||
|   @include font-size($navbar-brand-font-size); | ||||
|   line-height: inherit; | ||||
|   white-space: nowrap; | ||||
|  | ||||
|   @include hover-focus { | ||||
|     text-decoration: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Navbar nav | ||||
| // | ||||
| // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`). | ||||
|  | ||||
| .navbar-nav { | ||||
|   display: flex; | ||||
|   flex-direction: column; // cannot use `inherit` to get the `.navbar`s value | ||||
|   padding-left: 0; | ||||
|   margin-bottom: 0; | ||||
|   list-style: none; | ||||
|  | ||||
|   .nav-link { | ||||
|     padding-right: 0; | ||||
|     padding-left: 0; | ||||
|   } | ||||
|  | ||||
|   .dropdown-menu { | ||||
|     position: static; | ||||
|     float: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Navbar text | ||||
| // | ||||
| // | ||||
|  | ||||
| .navbar-text { | ||||
|   display: inline-block; | ||||
|   padding-top: $nav-link-padding-y; | ||||
|   padding-bottom: $nav-link-padding-y; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Responsive navbar | ||||
| // | ||||
| // Custom styles for responsive collapsing and toggling of navbar contents. | ||||
| // Powered by the collapse Bootstrap JavaScript plugin. | ||||
|  | ||||
| // When collapsed, prevent the toggleable navbar contents from appearing in | ||||
| // the default flexbox row orientation. Requires the use of `flex-wrap: wrap` | ||||
| // on the `.navbar` parent. | ||||
| .navbar-collapse { | ||||
|   flex-basis: 100%; | ||||
|   flex-grow: 1; | ||||
|   // For always expanded or extra full navbars, ensure content aligns itself | ||||
|   // properly vertically. Can be easily overridden with flex utilities. | ||||
|   align-items: center; | ||||
| } | ||||
|  | ||||
| // Button for toggling the navbar when in its collapsed state | ||||
| .navbar-toggler { | ||||
|   padding: $navbar-toggler-padding-y $navbar-toggler-padding-x; | ||||
|   @include font-size($navbar-toggler-font-size); | ||||
|   line-height: 1; | ||||
|   background-color: transparent; // remove default button style | ||||
|   border: $border-width solid transparent; // remove default button style | ||||
|   @include border-radius($navbar-toggler-border-radius); | ||||
|  | ||||
|   @include hover-focus { | ||||
|     text-decoration: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Keep as a separate element so folks can easily override it with another icon | ||||
| // or image file as needed. | ||||
| .navbar-toggler-icon { | ||||
|   display: inline-block; | ||||
|   width: 1.5em; | ||||
|   height: 1.5em; | ||||
|   vertical-align: middle; | ||||
|   content: ""; | ||||
|   background: no-repeat center center; | ||||
|   background-size: 100% 100%; | ||||
| } | ||||
|  | ||||
| // Generate series of `.navbar-expand-*` responsive classes for configuring | ||||
| // where your navbar collapses. | ||||
| .navbar-expand { | ||||
|   @each $breakpoint in map-keys($grid-breakpoints) { | ||||
|     $next: breakpoint-next($breakpoint, $grid-breakpoints); | ||||
|     $infix: breakpoint-infix($next, $grid-breakpoints); | ||||
|  | ||||
|     &#{$infix} { | ||||
|       @include media-breakpoint-down($breakpoint) { | ||||
|         > .container, | ||||
|         > .container-fluid { | ||||
|           padding-right: 0; | ||||
|           padding-left: 0; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       @include media-breakpoint-up($next) { | ||||
|         flex-flow: row nowrap; | ||||
|         justify-content: flex-start; | ||||
|  | ||||
|         .navbar-nav { | ||||
|           flex-direction: row; | ||||
|  | ||||
|           .dropdown-menu { | ||||
|             position: absolute; | ||||
|           } | ||||
|  | ||||
|           .nav-link { | ||||
|             padding-right: $navbar-nav-link-padding-x; | ||||
|             padding-left: $navbar-nav-link-padding-x; | ||||
|           } | ||||
|         } | ||||
|  | ||||
|         // For nesting containers, have to redeclare for alignment purposes | ||||
|         > .container, | ||||
|         > .container-fluid { | ||||
|           flex-wrap: nowrap; | ||||
|         } | ||||
|  | ||||
|         .navbar-collapse { | ||||
|           display: flex !important; // stylelint-disable-line declaration-no-important | ||||
|  | ||||
|           // Changes flex-bases to auto because of an IE10 bug | ||||
|           flex-basis: auto; | ||||
|         } | ||||
|  | ||||
|         .navbar-toggler { | ||||
|           display: none; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Navbar themes | ||||
| // | ||||
| // Styles for switching between navbars with light or dark background. | ||||
|  | ||||
| // Dark links against a light background | ||||
| .navbar-light { | ||||
|   .navbar-brand { | ||||
|     color: $navbar-light-brand-color; | ||||
|  | ||||
|     @include hover-focus { | ||||
|       color: $navbar-light-brand-hover-color; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .navbar-nav { | ||||
|     .nav-link { | ||||
|       color: $navbar-light-color; | ||||
|  | ||||
|       @include hover-focus { | ||||
|         color: $navbar-light-hover-color; | ||||
|       } | ||||
|  | ||||
|       &.disabled { | ||||
|         color: $navbar-light-disabled-color; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .show > .nav-link, | ||||
|     .active > .nav-link, | ||||
|     .nav-link.show, | ||||
|     .nav-link.active { | ||||
|       color: $navbar-light-active-color; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .navbar-toggler { | ||||
|     color: $navbar-light-color; | ||||
|     border-color: $navbar-light-toggler-border-color; | ||||
|   } | ||||
|  | ||||
|   .navbar-toggler-icon { | ||||
|     background-image: $navbar-light-toggler-icon-bg; | ||||
|   } | ||||
|  | ||||
|   .navbar-text { | ||||
|     color: $navbar-light-color; | ||||
|     a { | ||||
|       color: $navbar-light-active-color; | ||||
|  | ||||
|       @include hover-focus { | ||||
|         color: $navbar-light-active-color; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // White links against a dark background | ||||
| .navbar-dark { | ||||
|   .navbar-brand { | ||||
|     color: $navbar-dark-brand-color; | ||||
|  | ||||
|     @include hover-focus { | ||||
|       color: $navbar-dark-brand-hover-color; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .navbar-nav { | ||||
|     .nav-link { | ||||
|       color: $navbar-dark-color; | ||||
|  | ||||
|       @include hover-focus { | ||||
|         color: $navbar-dark-hover-color; | ||||
|       } | ||||
|  | ||||
|       &.disabled { | ||||
|         color: $navbar-dark-disabled-color; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .show > .nav-link, | ||||
|     .active > .nav-link, | ||||
|     .nav-link.show, | ||||
|     .nav-link.active { | ||||
|       color: $navbar-dark-active-color; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .navbar-toggler { | ||||
|     color: $navbar-dark-color; | ||||
|     border-color: $navbar-dark-toggler-border-color; | ||||
|   } | ||||
|  | ||||
|   .navbar-toggler-icon { | ||||
|     background-image: $navbar-dark-toggler-icon-bg; | ||||
|   } | ||||
|  | ||||
|   .navbar-text { | ||||
|     color: $navbar-dark-color; | ||||
|     a { | ||||
|       color: $navbar-dark-active-color; | ||||
|  | ||||
|       @include hover-focus { | ||||
|         color: $navbar-dark-active-color; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										73
									
								
								assets/vendor/bootstrap/scss/_pagination.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								assets/vendor/bootstrap/scss/_pagination.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | ||||
| .pagination { | ||||
|   display: flex; | ||||
|   @include list-unstyled(); | ||||
|   @include border-radius(); | ||||
| } | ||||
|  | ||||
| .page-link { | ||||
|   position: relative; | ||||
|   display: block; | ||||
|   padding: $pagination-padding-y $pagination-padding-x; | ||||
|   margin-left: -$pagination-border-width; | ||||
|   line-height: $pagination-line-height; | ||||
|   color: $pagination-color; | ||||
|   background-color: $pagination-bg; | ||||
|   border: $pagination-border-width solid $pagination-border-color; | ||||
|  | ||||
|   &:hover { | ||||
|     z-index: 2; | ||||
|     color: $pagination-hover-color; | ||||
|     text-decoration: none; | ||||
|     background-color: $pagination-hover-bg; | ||||
|     border-color: $pagination-hover-border-color; | ||||
|   } | ||||
|  | ||||
|   &:focus { | ||||
|     z-index: 2; | ||||
|     outline: $pagination-focus-outline; | ||||
|     box-shadow: $pagination-focus-box-shadow; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .page-item { | ||||
|   &:first-child { | ||||
|     .page-link { | ||||
|       margin-left: 0; | ||||
|       @include border-left-radius($border-radius); | ||||
|     } | ||||
|   } | ||||
|   &:last-child { | ||||
|     .page-link { | ||||
|       @include border-right-radius($border-radius); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &.active .page-link { | ||||
|     z-index: 1; | ||||
|     color: $pagination-active-color; | ||||
|     background-color: $pagination-active-bg; | ||||
|     border-color: $pagination-active-border-color; | ||||
|   } | ||||
|  | ||||
|   &.disabled .page-link { | ||||
|     color: $pagination-disabled-color; | ||||
|     pointer-events: none; | ||||
|     // Opinionated: remove the "hand" cursor set previously for .page-link | ||||
|     cursor: auto; | ||||
|     background-color: $pagination-disabled-bg; | ||||
|     border-color: $pagination-disabled-border-color; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Sizing | ||||
| // | ||||
|  | ||||
| .pagination-lg { | ||||
|   @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); | ||||
| } | ||||
|  | ||||
| .pagination-sm { | ||||
|   @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); | ||||
| } | ||||
							
								
								
									
										171
									
								
								assets/vendor/bootstrap/scss/_popover.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								assets/vendor/bootstrap/scss/_popover.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,171 @@ | ||||
| .popover { | ||||
|   position: absolute; | ||||
|   top: 0; | ||||
|   left: 0; | ||||
|   z-index: $zindex-popover; | ||||
|   display: block; | ||||
|   max-width: $popover-max-width; | ||||
|   // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. | ||||
|   // So reset our font and text properties to avoid inheriting weird values. | ||||
|   @include reset-text(); | ||||
|   @include font-size($popover-font-size); | ||||
|   // Allow breaking very long words so they don't overflow the popover's bounds | ||||
|   word-wrap: break-word; | ||||
|   background-color: $popover-bg; | ||||
|   background-clip: padding-box; | ||||
|   border: $popover-border-width solid $popover-border-color; | ||||
|   @include border-radius($popover-border-radius); | ||||
|   @include box-shadow($popover-box-shadow); | ||||
|  | ||||
|   .arrow { | ||||
|     position: absolute; | ||||
|     display: block; | ||||
|     width: $popover-arrow-width; | ||||
|     height: $popover-arrow-height; | ||||
|     margin: 0 $border-radius-lg; | ||||
|  | ||||
|     &::before, | ||||
|     &::after { | ||||
|       position: absolute; | ||||
|       display: block; | ||||
|       content: ""; | ||||
|       border-color: transparent; | ||||
|       border-style: solid; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-popover-top { | ||||
|   margin-bottom: $popover-arrow-height; | ||||
|  | ||||
|   > .arrow { | ||||
|     bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); | ||||
|  | ||||
|     &::before { | ||||
|       bottom: 0; | ||||
|       border-width: $popover-arrow-height ($popover-arrow-width / 2) 0; | ||||
|       border-top-color: $popover-arrow-outer-color; | ||||
|     } | ||||
|  | ||||
|     &::after { | ||||
|       bottom: $popover-border-width; | ||||
|       border-width: $popover-arrow-height ($popover-arrow-width / 2) 0; | ||||
|       border-top-color: $popover-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-popover-right { | ||||
|   margin-left: $popover-arrow-height; | ||||
|  | ||||
|   > .arrow { | ||||
|     left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); | ||||
|     width: $popover-arrow-height; | ||||
|     height: $popover-arrow-width; | ||||
|     margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners | ||||
|  | ||||
|     &::before { | ||||
|       left: 0; | ||||
|       border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; | ||||
|       border-right-color: $popover-arrow-outer-color; | ||||
|     } | ||||
|  | ||||
|     &::after { | ||||
|       left: $popover-border-width; | ||||
|       border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0; | ||||
|       border-right-color: $popover-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-popover-bottom { | ||||
|   margin-top: $popover-arrow-height; | ||||
|  | ||||
|   > .arrow { | ||||
|     top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); | ||||
|  | ||||
|     &::before { | ||||
|       top: 0; | ||||
|       border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2); | ||||
|       border-bottom-color: $popover-arrow-outer-color; | ||||
|     } | ||||
|  | ||||
|     &::after { | ||||
|       top: $popover-border-width; | ||||
|       border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2); | ||||
|       border-bottom-color: $popover-arrow-color; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // This will remove the popover-header's border just below the arrow | ||||
|   .popover-header::before { | ||||
|     position: absolute; | ||||
|     top: 0; | ||||
|     left: 50%; | ||||
|     display: block; | ||||
|     width: $popover-arrow-width; | ||||
|     margin-left: -$popover-arrow-width / 2; | ||||
|     content: ""; | ||||
|     border-bottom: $popover-border-width solid $popover-header-bg; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-popover-left { | ||||
|   margin-right: $popover-arrow-height; | ||||
|  | ||||
|   > .arrow { | ||||
|     right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); | ||||
|     width: $popover-arrow-height; | ||||
|     height: $popover-arrow-width; | ||||
|     margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners | ||||
|  | ||||
|     &::before { | ||||
|       right: 0; | ||||
|       border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; | ||||
|       border-left-color: $popover-arrow-outer-color; | ||||
|     } | ||||
|  | ||||
|     &::after { | ||||
|       right: $popover-border-width; | ||||
|       border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height; | ||||
|       border-left-color: $popover-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-popover-auto { | ||||
|   &[x-placement^="top"] { | ||||
|     @extend .bs-popover-top; | ||||
|   } | ||||
|   &[x-placement^="right"] { | ||||
|     @extend .bs-popover-right; | ||||
|   } | ||||
|   &[x-placement^="bottom"] { | ||||
|     @extend .bs-popover-bottom; | ||||
|   } | ||||
|   &[x-placement^="left"] { | ||||
|     @extend .bs-popover-left; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Offset the popover to account for the popover arrow | ||||
| .popover-header { | ||||
|   padding: $popover-header-padding-y $popover-header-padding-x; | ||||
|   margin-bottom: 0; // Reset the default from Reboot | ||||
|   @include font-size($font-size-base); | ||||
|   color: $popover-header-color; | ||||
|   background-color: $popover-header-bg; | ||||
|   border-bottom: $popover-border-width solid darken($popover-header-bg, 5%); | ||||
|   $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width}); | ||||
|   @include border-top-radius($offset-border-width); | ||||
|  | ||||
|   &:empty { | ||||
|     display: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .popover-body { | ||||
|   padding: $popover-body-padding-y $popover-body-padding-x; | ||||
|   color: $popover-body-color; | ||||
| } | ||||
							
								
								
									
										141
									
								
								assets/vendor/bootstrap/scss/_print.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								assets/vendor/bootstrap/scss/_print.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,141 @@ | ||||
| // stylelint-disable declaration-no-important, selector-no-qualifying-type | ||||
|  | ||||
| // Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css | ||||
|  | ||||
| // ========================================================================== | ||||
| // Print styles. | ||||
| // Inlined to avoid the additional HTTP request: | ||||
| // https://www.phpied.com/delay-loading-your-print-css/ | ||||
| // ========================================================================== | ||||
|  | ||||
| @if $enable-print-styles { | ||||
|   @media print { | ||||
|     *, | ||||
|     *::before, | ||||
|     *::after { | ||||
|       // Bootstrap specific; comment out `color` and `background` | ||||
|       //color: $black !important; // Black prints faster | ||||
|       text-shadow: none !important; | ||||
|       //background: transparent !important; | ||||
|       box-shadow: none !important; | ||||
|     } | ||||
|  | ||||
|     a { | ||||
|       &:not(.btn) { | ||||
|         text-decoration: underline; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // Bootstrap specific; comment the following selector out | ||||
|     //a[href]::after { | ||||
|     //  content: " (" attr(href) ")"; | ||||
|     //} | ||||
|  | ||||
|     abbr[title]::after { | ||||
|       content: " (" attr(title) ")"; | ||||
|     } | ||||
|  | ||||
|     // Bootstrap specific; comment the following selector out | ||||
|     // | ||||
|     // Don't show links that are fragment identifiers, | ||||
|     // or use the `javascript:` pseudo protocol | ||||
|     // | ||||
|  | ||||
|     //a[href^="#"]::after, | ||||
|     //a[href^="javascript:"]::after { | ||||
|     // content: ""; | ||||
|     //} | ||||
|  | ||||
|     pre { | ||||
|       white-space: pre-wrap !important; | ||||
|     } | ||||
|     pre, | ||||
|     blockquote { | ||||
|       border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px | ||||
|       page-break-inside: avoid; | ||||
|     } | ||||
|  | ||||
|     // | ||||
|     // Printing Tables: | ||||
|     // http://css-discuss.incutio.com/wiki/Printing_Tables | ||||
|     // | ||||
|  | ||||
|     thead { | ||||
|       display: table-header-group; | ||||
|     } | ||||
|  | ||||
|     tr, | ||||
|     img { | ||||
|       page-break-inside: avoid; | ||||
|     } | ||||
|  | ||||
|     p, | ||||
|     h2, | ||||
|     h3 { | ||||
|       orphans: 3; | ||||
|       widows: 3; | ||||
|     } | ||||
|  | ||||
|     h2, | ||||
|     h3 { | ||||
|       page-break-after: avoid; | ||||
|     } | ||||
|  | ||||
|     // Bootstrap specific changes start | ||||
|  | ||||
|     // Specify a size and min-width to make printing closer across browsers. | ||||
|     // We don't set margin here because it breaks `size` in Chrome. We also | ||||
|     // don't use `!important` on `size` as it breaks in Chrome. | ||||
|     @page { | ||||
|       size: $print-page-size; | ||||
|     } | ||||
|     body { | ||||
|       min-width: $print-body-min-width !important; | ||||
|     } | ||||
|     .container { | ||||
|       min-width: $print-body-min-width !important; | ||||
|     } | ||||
|  | ||||
|     // Bootstrap components | ||||
|     .navbar { | ||||
|       display: none; | ||||
|     } | ||||
|     .badge { | ||||
|       border: $border-width solid $black; | ||||
|     } | ||||
|  | ||||
|     .table { | ||||
|       border-collapse: collapse !important; | ||||
|  | ||||
|       td, | ||||
|       th { | ||||
|         background-color: $white !important; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .table-bordered { | ||||
|       th, | ||||
|       td { | ||||
|         border: 1px solid $gray-300 !important; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .table-dark { | ||||
|       color: inherit; | ||||
|  | ||||
|       th, | ||||
|       td, | ||||
|       thead th, | ||||
|       tbody + tbody { | ||||
|         border-color: $table-border-color; | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     .table .thead-dark th { | ||||
|       color: inherit; | ||||
|       border-color: $table-border-color; | ||||
|     } | ||||
|  | ||||
|     // Bootstrap specific changes end | ||||
|   } | ||||
| } | ||||
							
								
								
									
										43
									
								
								assets/vendor/bootstrap/scss/_progress.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								assets/vendor/bootstrap/scss/_progress.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | ||||
| // Disable animation if transitions are disabled | ||||
| @if $enable-transitions { | ||||
|   @keyframes progress-bar-stripes { | ||||
|     from { background-position: $progress-height 0; } | ||||
|     to { background-position: 0 0; } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .progress { | ||||
|   display: flex; | ||||
|   height: $progress-height; | ||||
|   overflow: hidden; // force rounded corners by cropping it | ||||
|   @include font-size($progress-font-size); | ||||
|   background-color: $progress-bg; | ||||
|   @include border-radius($progress-border-radius); | ||||
|   @include box-shadow($progress-box-shadow); | ||||
| } | ||||
|  | ||||
| .progress-bar { | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   justify-content: center; | ||||
|   color: $progress-bar-color; | ||||
|   text-align: center; | ||||
|   white-space: nowrap; | ||||
|   background-color: $progress-bar-bg; | ||||
|   @include transition($progress-bar-transition); | ||||
| } | ||||
|  | ||||
| .progress-bar-striped { | ||||
|   @include gradient-striped(); | ||||
|   background-size: $progress-height $progress-height; | ||||
| } | ||||
|  | ||||
| @if $enable-transitions { | ||||
|   .progress-bar-animated { | ||||
|     animation: progress-bar-stripes $progress-bar-animation-timing; | ||||
|  | ||||
|     @media (prefers-reduced-motion: reduce) { | ||||
|       animation: none; | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										483
									
								
								assets/vendor/bootstrap/scss/_reboot.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										483
									
								
								assets/vendor/bootstrap/scss/_reboot.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,483 @@ | ||||
| // stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix | ||||
|  | ||||
| // Reboot | ||||
| // | ||||
| // Normalization of HTML elements, manually forked from Normalize.css to remove | ||||
| // styles targeting irrelevant browsers while applying new styles. | ||||
| // | ||||
| // Normalize is licensed MIT. https://github.com/necolas/normalize.css | ||||
|  | ||||
|  | ||||
| // Document | ||||
| // | ||||
| // 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`. | ||||
| // 2. Change the default font family in all browsers. | ||||
| // 3. Correct the line height in all browsers. | ||||
| // 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. | ||||
| // 5. Change the default tap highlight to be completely transparent in iOS. | ||||
|  | ||||
| *, | ||||
| *::before, | ||||
| *::after { | ||||
|   box-sizing: border-box; // 1 | ||||
| } | ||||
|  | ||||
| html { | ||||
|   font-family: sans-serif; // 2 | ||||
|   line-height: 1.15; // 3 | ||||
|   -webkit-text-size-adjust: 100%; // 4 | ||||
|   -webkit-tap-highlight-color: rgba($black, 0); // 5 | ||||
| } | ||||
|  | ||||
| // Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers) | ||||
| // TODO: remove in v5 | ||||
| // stylelint-disable-next-line selector-list-comma-newline-after | ||||
| article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { | ||||
|   display: block; | ||||
| } | ||||
|  | ||||
| // Body | ||||
| // | ||||
| // 1. Remove the margin in all browsers. | ||||
| // 2. As a best practice, apply a default `background-color`. | ||||
| // 3. Set an explicit initial text-align value so that we can later use | ||||
| //    the `inherit` value on things like `<th>` elements. | ||||
|  | ||||
| body { | ||||
|   margin: 0; // 1 | ||||
|   font-family: $font-family-base; | ||||
|   @include font-size($font-size-base); | ||||
|   font-weight: $font-weight-base; | ||||
|   line-height: $line-height-base; | ||||
|   color: $body-color; | ||||
|   text-align: left; // 3 | ||||
|   background-color: $body-bg; // 2 | ||||
| } | ||||
|  | ||||
| // Suppress the focus outline on elements that cannot be accessed via keyboard. | ||||
| // This prevents an unwanted focus outline from appearing around elements that | ||||
| // might still respond to pointer events. | ||||
| // | ||||
| // Credit: https://github.com/suitcss/base | ||||
| [tabindex="-1"]:focus { | ||||
|   outline: 0 !important; | ||||
| } | ||||
|  | ||||
|  | ||||
| // Content grouping | ||||
| // | ||||
| // 1. Add the correct box sizing in Firefox. | ||||
| // 2. Show the overflow in Edge and IE. | ||||
|  | ||||
| hr { | ||||
|   box-sizing: content-box; // 1 | ||||
|   height: 0; // 1 | ||||
|   overflow: visible; // 2 | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Typography | ||||
| // | ||||
|  | ||||
| // Remove top margins from headings | ||||
| // | ||||
| // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top | ||||
| // margin for easier control within type scales as it avoids margin collapsing. | ||||
| // stylelint-disable-next-line selector-list-comma-newline-after | ||||
| h1, h2, h3, h4, h5, h6 { | ||||
|   margin-top: 0; | ||||
|   margin-bottom: $headings-margin-bottom; | ||||
| } | ||||
|  | ||||
| // Reset margins on paragraphs | ||||
| // | ||||
| // Similarly, the top margin on `<p>`s get reset. However, we also reset the | ||||
| // bottom margin to use `rem` units instead of `em`. | ||||
| p { | ||||
|   margin-top: 0; | ||||
|   margin-bottom: $paragraph-margin-bottom; | ||||
| } | ||||
|  | ||||
| // Abbreviations | ||||
| // | ||||
| // 1. Duplicate behavior to the data-* attribute for our tooltip plugin | ||||
| // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. | ||||
| // 3. Add explicit cursor to indicate changed behavior. | ||||
| // 4. Remove the bottom border in Firefox 39-. | ||||
| // 5. Prevent the text-decoration to be skipped. | ||||
|  | ||||
| abbr[title], | ||||
| abbr[data-original-title] { // 1 | ||||
|   text-decoration: underline; // 2 | ||||
|   text-decoration: underline dotted; // 2 | ||||
|   cursor: help; // 3 | ||||
|   border-bottom: 0; // 4 | ||||
|   text-decoration-skip-ink: none; // 5 | ||||
| } | ||||
|  | ||||
| address { | ||||
|   margin-bottom: 1rem; | ||||
|   font-style: normal; | ||||
|   line-height: inherit; | ||||
| } | ||||
|  | ||||
| ol, | ||||
| ul, | ||||
| dl { | ||||
|   margin-top: 0; | ||||
|   margin-bottom: 1rem; | ||||
| } | ||||
|  | ||||
| ol ol, | ||||
| ul ul, | ||||
| ol ul, | ||||
| ul ol { | ||||
|   margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| dt { | ||||
|   font-weight: $dt-font-weight; | ||||
| } | ||||
|  | ||||
| dd { | ||||
|   margin-bottom: .5rem; | ||||
|   margin-left: 0; // Undo browser default | ||||
| } | ||||
|  | ||||
| blockquote { | ||||
|   margin: 0 0 1rem; | ||||
| } | ||||
|  | ||||
| b, | ||||
| strong { | ||||
|   font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari | ||||
| } | ||||
|  | ||||
| small { | ||||
|   @include font-size(80%); // Add the correct font size in all browsers | ||||
| } | ||||
|  | ||||
| // | ||||
| // Prevent `sub` and `sup` elements from affecting the line height in | ||||
| // all browsers. | ||||
| // | ||||
|  | ||||
| sub, | ||||
| sup { | ||||
|   position: relative; | ||||
|   @include font-size(75%); | ||||
|   line-height: 0; | ||||
|   vertical-align: baseline; | ||||
| } | ||||
|  | ||||
| sub { bottom: -.25em; } | ||||
| sup { top: -.5em; } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Links | ||||
| // | ||||
|  | ||||
| a { | ||||
|   color: $link-color; | ||||
|   text-decoration: $link-decoration; | ||||
|   background-color: transparent; // Remove the gray background on active links in IE 10. | ||||
|  | ||||
|   @include hover { | ||||
|     color: $link-hover-color; | ||||
|     text-decoration: $link-hover-decoration; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // And undo these styles for placeholder links/named anchors (without href) | ||||
| // which have not been made explicitly keyboard-focusable (without tabindex). | ||||
| // It would be more straightforward to just use a[href] in previous block, but that | ||||
| // causes specificity issues in many other styles that are too complex to fix. | ||||
| // See https://github.com/twbs/bootstrap/issues/19402 | ||||
|  | ||||
| a:not([href]):not([tabindex]) { | ||||
|   color: inherit; | ||||
|   text-decoration: none; | ||||
|  | ||||
|   @include hover-focus { | ||||
|     color: inherit; | ||||
|     text-decoration: none; | ||||
|   } | ||||
|  | ||||
|   &:focus { | ||||
|     outline: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Code | ||||
| // | ||||
|  | ||||
| pre, | ||||
| code, | ||||
| kbd, | ||||
| samp { | ||||
|   font-family: $font-family-monospace; | ||||
|   @include font-size(1em); // Correct the odd `em` font sizing in all browsers. | ||||
| } | ||||
|  | ||||
| pre { | ||||
|   // Remove browser default top margin | ||||
|   margin-top: 0; | ||||
|   // Reset browser default of `1em` to use `rem`s | ||||
|   margin-bottom: 1rem; | ||||
|   // Don't allow content to break outside | ||||
|   overflow: auto; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Figures | ||||
| // | ||||
|  | ||||
| figure { | ||||
|   // Apply a consistent margin strategy (matches our type styles). | ||||
|   margin: 0 0 1rem; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Images and content | ||||
| // | ||||
|  | ||||
| img { | ||||
|   vertical-align: middle; | ||||
|   border-style: none; // Remove the border on images inside links in IE 10-. | ||||
| } | ||||
|  | ||||
| svg { | ||||
|   // Workaround for the SVG overflow bug in IE10/11 is still required. | ||||
|   // See https://github.com/twbs/bootstrap/issues/26878 | ||||
|   overflow: hidden; | ||||
|   vertical-align: middle; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Tables | ||||
| // | ||||
|  | ||||
| table { | ||||
|   border-collapse: collapse; // Prevent double borders | ||||
| } | ||||
|  | ||||
| caption { | ||||
|   padding-top: $table-cell-padding; | ||||
|   padding-bottom: $table-cell-padding; | ||||
|   color: $table-caption-color; | ||||
|   text-align: left; | ||||
|   caption-side: bottom; | ||||
| } | ||||
|  | ||||
| th { | ||||
|   // Matches default `<td>` alignment by inheriting from the `<body>`, or the | ||||
|   // closest parent with a set `text-align`. | ||||
|   text-align: inherit; | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Forms | ||||
| // | ||||
|  | ||||
| label { | ||||
|   // Allow labels to use `margin` for spacing. | ||||
|   display: inline-block; | ||||
|   margin-bottom: $label-margin-bottom; | ||||
| } | ||||
|  | ||||
| // Remove the default `border-radius` that macOS Chrome adds. | ||||
| // | ||||
| // Details at https://github.com/twbs/bootstrap/issues/24093 | ||||
| button { | ||||
|   // stylelint-disable-next-line property-blacklist | ||||
|   border-radius: 0; | ||||
| } | ||||
|  | ||||
| // Work around a Firefox/IE bug where the transparent `button` background | ||||
| // results in a loss of the default `button` focus styles. | ||||
| // | ||||
| // Credit: https://github.com/suitcss/base/ | ||||
| button:focus { | ||||
|   outline: 1px dotted; | ||||
|   outline: 5px auto -webkit-focus-ring-color; | ||||
| } | ||||
|  | ||||
| input, | ||||
| button, | ||||
| select, | ||||
| optgroup, | ||||
| textarea { | ||||
|   margin: 0; // Remove the margin in Firefox and Safari | ||||
|   font-family: inherit; | ||||
|   @include font-size(inherit); | ||||
|   line-height: inherit; | ||||
| } | ||||
|  | ||||
| button, | ||||
| input { | ||||
|   overflow: visible; // Show the overflow in Edge | ||||
| } | ||||
|  | ||||
| button, | ||||
| select { | ||||
|   text-transform: none; // Remove the inheritance of text transform in Firefox | ||||
| } | ||||
|  | ||||
| // Remove the inheritance of word-wrap in Safari. | ||||
| // | ||||
| // Details at https://github.com/twbs/bootstrap/issues/24990 | ||||
| select { | ||||
|   word-wrap: normal; | ||||
| } | ||||
|  | ||||
|  | ||||
| // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` | ||||
| //    controls in Android 4. | ||||
| // 2. Correct the inability to style clickable types in iOS and Safari. | ||||
| button, | ||||
| [type="button"], // 1 | ||||
| [type="reset"], | ||||
| [type="submit"] { | ||||
|   -webkit-appearance: button; // 2 | ||||
| } | ||||
|  | ||||
| // Opinionated: add "hand" cursor to non-disabled button elements. | ||||
| @if $enable-pointer-cursor-for-buttons { | ||||
|   button, | ||||
|   [type="button"], | ||||
|   [type="reset"], | ||||
|   [type="submit"] { | ||||
|     &:not(:disabled) { | ||||
|       cursor: pointer; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Remove inner border and padding from Firefox, but don't restore the outline like Normalize. | ||||
| button::-moz-focus-inner, | ||||
| [type="button"]::-moz-focus-inner, | ||||
| [type="reset"]::-moz-focus-inner, | ||||
| [type="submit"]::-moz-focus-inner { | ||||
|   padding: 0; | ||||
|   border-style: none; | ||||
| } | ||||
|  | ||||
| input[type="radio"], | ||||
| input[type="checkbox"] { | ||||
|   box-sizing: border-box; // 1. Add the correct box sizing in IE 10- | ||||
|   padding: 0; // 2. Remove the padding in IE 10- | ||||
| } | ||||
|  | ||||
|  | ||||
| input[type="date"], | ||||
| input[type="time"], | ||||
| input[type="datetime-local"], | ||||
| input[type="month"] { | ||||
|   // Remove the default appearance of temporal inputs to avoid a Mobile Safari | ||||
|   // bug where setting a custom line-height prevents text from being vertically | ||||
|   // centered within the input. | ||||
|   // See https://bugs.webkit.org/show_bug.cgi?id=139848 | ||||
|   // and https://github.com/twbs/bootstrap/issues/11266 | ||||
|   -webkit-appearance: listbox; | ||||
| } | ||||
|  | ||||
| textarea { | ||||
|   overflow: auto; // Remove the default vertical scrollbar in IE. | ||||
|   // Textareas should really only resize vertically so they don't break their (horizontal) containers. | ||||
|   resize: vertical; | ||||
| } | ||||
|  | ||||
| fieldset { | ||||
|   // Browsers set a default `min-width: min-content;` on fieldsets, | ||||
|   // unlike e.g. `<div>`s, which have `min-width: 0;` by default. | ||||
|   // So we reset that to ensure fieldsets behave more like a standard block element. | ||||
|   // See https://github.com/twbs/bootstrap/issues/12359 | ||||
|   // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements | ||||
|   min-width: 0; | ||||
|   // Reset the default outline behavior of fieldsets so they don't affect page layout. | ||||
|   padding: 0; | ||||
|   margin: 0; | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| // 1. Correct the text wrapping in Edge and IE. | ||||
| // 2. Correct the color inheritance from `fieldset` elements in IE. | ||||
| legend { | ||||
|   display: block; | ||||
|   width: 100%; | ||||
|   max-width: 100%; // 1 | ||||
|   padding: 0; | ||||
|   margin-bottom: .5rem; | ||||
|   @include font-size(1.5rem); | ||||
|   line-height: inherit; | ||||
|   color: inherit; // 2 | ||||
|   white-space: normal; // 1 | ||||
| } | ||||
|  | ||||
| progress { | ||||
|   vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera. | ||||
| } | ||||
|  | ||||
| // Correct the cursor style of increment and decrement buttons in Chrome. | ||||
| [type="number"]::-webkit-inner-spin-button, | ||||
| [type="number"]::-webkit-outer-spin-button { | ||||
|   height: auto; | ||||
| } | ||||
|  | ||||
| [type="search"] { | ||||
|   // This overrides the extra rounded corners on search inputs in iOS so that our | ||||
|   // `.form-control` class can properly style them. Note that this cannot simply | ||||
|   // be added to `.form-control` as it's not specific enough. For details, see | ||||
|   // https://github.com/twbs/bootstrap/issues/11586. | ||||
|   outline-offset: -2px; // 2. Correct the outline style in Safari. | ||||
|   -webkit-appearance: none; | ||||
| } | ||||
|  | ||||
| // | ||||
| // Remove the inner padding in Chrome and Safari on macOS. | ||||
| // | ||||
|  | ||||
| [type="search"]::-webkit-search-decoration { | ||||
|   -webkit-appearance: none; | ||||
| } | ||||
|  | ||||
| // | ||||
| // 1. Correct the inability to style clickable types in iOS and Safari. | ||||
| // 2. Change font properties to `inherit` in Safari. | ||||
| // | ||||
|  | ||||
| ::-webkit-file-upload-button { | ||||
|   font: inherit; // 2 | ||||
|   -webkit-appearance: button; // 1 | ||||
| } | ||||
|  | ||||
| // | ||||
| // Correct element displays | ||||
| // | ||||
|  | ||||
| output { | ||||
|   display: inline-block; | ||||
| } | ||||
|  | ||||
| summary { | ||||
|   display: list-item; // Add the correct display in all browsers | ||||
|   cursor: pointer; | ||||
| } | ||||
|  | ||||
| template { | ||||
|   display: none; // Add the correct display in IE | ||||
| } | ||||
|  | ||||
| // Always hide an element with the `hidden` HTML attribute (from PureCSS). | ||||
| // Needed for proper display in IE 10-. | ||||
| [hidden] { | ||||
|   display: none !important; | ||||
| } | ||||
							
								
								
									
										19
									
								
								assets/vendor/bootstrap/scss/_root.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								assets/vendor/bootstrap/scss/_root.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| :root { | ||||
|   // Custom variable values only support SassScript inside `#{}`. | ||||
|   @each $color, $value in $colors { | ||||
|     --#{$color}: #{$value}; | ||||
|   } | ||||
|  | ||||
|   @each $color, $value in $theme-colors { | ||||
|     --#{$color}: #{$value}; | ||||
|   } | ||||
|  | ||||
|   @each $bp, $value in $grid-breakpoints { | ||||
|     --breakpoint-#{$bp}: #{$value}; | ||||
|   } | ||||
|  | ||||
|   // Use `inspect` for lists so that quoted items keep the quotes. | ||||
|   // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 | ||||
|   --font-family-sans-serif: #{inspect($font-family-sans-serif)}; | ||||
|   --font-family-monospace: #{inspect($font-family-monospace)}; | ||||
| } | ||||
							
								
								
									
										55
									
								
								assets/vendor/bootstrap/scss/_spinners.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								assets/vendor/bootstrap/scss/_spinners.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| // | ||||
| // Rotating border | ||||
| // | ||||
|  | ||||
| @keyframes spinner-border { | ||||
|   to { transform: rotate(360deg); } | ||||
| } | ||||
|  | ||||
| .spinner-border { | ||||
|   display: inline-block; | ||||
|   width: $spinner-width; | ||||
|   height: $spinner-height; | ||||
|   vertical-align: text-bottom; | ||||
|   border: $spinner-border-width solid currentColor; | ||||
|   border-right-color: transparent; | ||||
|   // stylelint-disable-next-line property-blacklist | ||||
|   border-radius: 50%; | ||||
|   animation: spinner-border .75s linear infinite; | ||||
| } | ||||
|  | ||||
| .spinner-border-sm { | ||||
|   width: $spinner-width-sm; | ||||
|   height: $spinner-height-sm; | ||||
|   border-width: $spinner-border-width-sm; | ||||
| } | ||||
|  | ||||
| // | ||||
| // Growing circle | ||||
| // | ||||
|  | ||||
| @keyframes spinner-grow { | ||||
|   0% { | ||||
|     transform: scale(0); | ||||
|   } | ||||
|   50% { | ||||
|     opacity: 1; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .spinner-grow { | ||||
|   display: inline-block; | ||||
|   width: $spinner-width; | ||||
|   height: $spinner-height; | ||||
|   vertical-align: text-bottom; | ||||
|   background-color: currentColor; | ||||
|   // stylelint-disable-next-line property-blacklist | ||||
|   border-radius: 50%; | ||||
|   opacity: 0; | ||||
|   animation: spinner-grow .75s linear infinite; | ||||
| } | ||||
|  | ||||
| .spinner-grow-sm { | ||||
|   width: $spinner-width-sm; | ||||
|   height: $spinner-height-sm; | ||||
| } | ||||
							
								
								
									
										185
									
								
								assets/vendor/bootstrap/scss/_tables.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								assets/vendor/bootstrap/scss/_tables.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,185 @@ | ||||
| // | ||||
| // Basic Bootstrap table | ||||
| // | ||||
|  | ||||
| .table { | ||||
|   width: 100%; | ||||
|   margin-bottom: $spacer; | ||||
|   color: $table-color; | ||||
|   background-color: $table-bg; // Reset for nesting within parents with `background-color`. | ||||
|  | ||||
|   th, | ||||
|   td { | ||||
|     padding: $table-cell-padding; | ||||
|     vertical-align: top; | ||||
|     border-top: $table-border-width solid $table-border-color; | ||||
|   } | ||||
|  | ||||
|   thead th { | ||||
|     vertical-align: bottom; | ||||
|     border-bottom: (2 * $table-border-width) solid $table-border-color; | ||||
|   } | ||||
|  | ||||
|   tbody + tbody { | ||||
|     border-top: (2 * $table-border-width) solid $table-border-color; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // | ||||
| // Condensed table w/ half padding | ||||
| // | ||||
|  | ||||
| .table-sm { | ||||
|   th, | ||||
|   td { | ||||
|     padding: $table-cell-padding-sm; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Border versions | ||||
| // | ||||
| // Add or remove borders all around the table and between all the columns. | ||||
|  | ||||
| .table-bordered { | ||||
|   border: $table-border-width solid $table-border-color; | ||||
|  | ||||
|   th, | ||||
|   td { | ||||
|     border: $table-border-width solid $table-border-color; | ||||
|   } | ||||
|  | ||||
|   thead { | ||||
|     th, | ||||
|     td { | ||||
|       border-bottom-width: 2 * $table-border-width; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .table-borderless { | ||||
|   th, | ||||
|   td, | ||||
|   thead th, | ||||
|   tbody + tbody { | ||||
|     border: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Zebra-striping | ||||
| // | ||||
| // Default zebra-stripe styles (alternating gray and transparent backgrounds) | ||||
|  | ||||
| .table-striped { | ||||
|   tbody tr:nth-of-type(#{$table-striped-order}) { | ||||
|     background-color: $table-accent-bg; | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Hover effect | ||||
| // | ||||
| // Placed here since it has to come after the potential zebra striping | ||||
|  | ||||
| .table-hover { | ||||
|   tbody tr { | ||||
|     @include hover { | ||||
|       color: $table-hover-color; | ||||
|       background-color: $table-hover-bg; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Table backgrounds | ||||
| // | ||||
| // Exact selectors below required to override `.table-striped` and prevent | ||||
| // inheritance to nested tables. | ||||
|  | ||||
| @each $color, $value in $theme-colors { | ||||
|   @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level)); | ||||
| } | ||||
|  | ||||
| @include table-row-variant(active, $table-active-bg); | ||||
|  | ||||
|  | ||||
| // Dark styles | ||||
| // | ||||
| // Same table markup, but inverted color scheme: dark background and light text. | ||||
|  | ||||
| // stylelint-disable-next-line no-duplicate-selectors | ||||
| .table { | ||||
|   .thead-dark { | ||||
|     th { | ||||
|       color: $table-dark-color; | ||||
|       background-color: $table-dark-bg; | ||||
|       border-color: $table-dark-border-color; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   .thead-light { | ||||
|     th { | ||||
|       color: $table-head-color; | ||||
|       background-color: $table-head-bg; | ||||
|       border-color: $table-border-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .table-dark { | ||||
|   color: $table-dark-color; | ||||
|   background-color: $table-dark-bg; | ||||
|  | ||||
|   th, | ||||
|   td, | ||||
|   thead th { | ||||
|     border-color: $table-dark-border-color; | ||||
|   } | ||||
|  | ||||
|   &.table-bordered { | ||||
|     border: 0; | ||||
|   } | ||||
|  | ||||
|   &.table-striped { | ||||
|     tbody tr:nth-of-type(odd) { | ||||
|       background-color: $table-dark-accent-bg; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   &.table-hover { | ||||
|     tbody tr { | ||||
|       @include hover { | ||||
|         color: $table-dark-hover-color; | ||||
|         background-color: $table-dark-hover-bg; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| // Responsive tables | ||||
| // | ||||
| // Generate series of `.table-responsive-*` classes for configuring the screen | ||||
| // size of where your table will overflow. | ||||
|  | ||||
| .table-responsive { | ||||
|   @each $breakpoint in map-keys($grid-breakpoints) { | ||||
|     $next: breakpoint-next($breakpoint, $grid-breakpoints); | ||||
|     $infix: breakpoint-infix($next, $grid-breakpoints); | ||||
|  | ||||
|     &#{$infix} { | ||||
|       @include media-breakpoint-down($breakpoint) { | ||||
|         display: block; | ||||
|         width: 100%; | ||||
|         overflow-x: auto; | ||||
|         -webkit-overflow-scrolling: touch; | ||||
|  | ||||
|         // Prevent double border on horizontal scroll due to use of `display: block;` | ||||
|         > .table-bordered { | ||||
|           border: 0; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										44
									
								
								assets/vendor/bootstrap/scss/_toasts.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								assets/vendor/bootstrap/scss/_toasts.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| .toast { | ||||
|   max-width: $toast-max-width; | ||||
|   overflow: hidden; // cheap rounded corners on nested items | ||||
|   @include font-size($toast-font-size); | ||||
|   color: $toast-color; | ||||
|   background-color: $toast-background-color; | ||||
|   background-clip: padding-box; | ||||
|   border: $toast-border-width solid $toast-border-color; | ||||
|   box-shadow: $toast-box-shadow; | ||||
|   backdrop-filter: blur(10px); | ||||
|   opacity: 0; | ||||
|   @include border-radius($toast-border-radius); | ||||
|  | ||||
|   &:not(:last-child) { | ||||
|     margin-bottom: $toast-padding-x; | ||||
|   } | ||||
|  | ||||
|   &.showing { | ||||
|     opacity: 1; | ||||
|   } | ||||
|  | ||||
|   &.show { | ||||
|     display: block; | ||||
|     opacity: 1; | ||||
|   } | ||||
|  | ||||
|   &.hide { | ||||
|     display: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .toast-header { | ||||
|   display: flex; | ||||
|   align-items: center; | ||||
|   padding: $toast-padding-y $toast-padding-x; | ||||
|   color: $toast-header-color; | ||||
|   background-color: $toast-header-background-color; | ||||
|   background-clip: padding-box; | ||||
|   border-bottom: $toast-border-width solid $toast-header-border-color; | ||||
| } | ||||
|  | ||||
| .toast-body { | ||||
|   padding: $toast-padding-x; // apply to both vertical and horizontal | ||||
| } | ||||
							
								
								
									
										115
									
								
								assets/vendor/bootstrap/scss/_tooltip.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								assets/vendor/bootstrap/scss/_tooltip.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,115 @@ | ||||
| // Base class | ||||
| .tooltip { | ||||
|   position: absolute; | ||||
|   z-index: $zindex-tooltip; | ||||
|   display: block; | ||||
|   margin: $tooltip-margin; | ||||
|   // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element. | ||||
|   // So reset our font and text properties to avoid inheriting weird values. | ||||
|   @include reset-text(); | ||||
|   @include font-size($tooltip-font-size); | ||||
|   // Allow breaking very long words so they don't overflow the tooltip's bounds | ||||
|   word-wrap: break-word; | ||||
|   opacity: 0; | ||||
|  | ||||
|   &.show { opacity: $tooltip-opacity; } | ||||
|  | ||||
|   .arrow { | ||||
|     position: absolute; | ||||
|     display: block; | ||||
|     width: $tooltip-arrow-width; | ||||
|     height: $tooltip-arrow-height; | ||||
|  | ||||
|     &::before { | ||||
|       position: absolute; | ||||
|       content: ""; | ||||
|       border-color: transparent; | ||||
|       border-style: solid; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-tooltip-top { | ||||
|   padding: $tooltip-arrow-height 0; | ||||
|  | ||||
|   .arrow { | ||||
|     bottom: 0; | ||||
|  | ||||
|     &::before { | ||||
|       top: 0; | ||||
|       border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; | ||||
|       border-top-color: $tooltip-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-tooltip-right { | ||||
|   padding: 0 $tooltip-arrow-height; | ||||
|  | ||||
|   .arrow { | ||||
|     left: 0; | ||||
|     width: $tooltip-arrow-height; | ||||
|     height: $tooltip-arrow-width; | ||||
|  | ||||
|     &::before { | ||||
|       right: 0; | ||||
|       border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0; | ||||
|       border-right-color: $tooltip-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-tooltip-bottom { | ||||
|   padding: $tooltip-arrow-height 0; | ||||
|  | ||||
|   .arrow { | ||||
|     top: 0; | ||||
|  | ||||
|     &::before { | ||||
|       bottom: 0; | ||||
|       border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; | ||||
|       border-bottom-color: $tooltip-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-tooltip-left { | ||||
|   padding: 0 $tooltip-arrow-height; | ||||
|  | ||||
|   .arrow { | ||||
|     right: 0; | ||||
|     width: $tooltip-arrow-height; | ||||
|     height: $tooltip-arrow-width; | ||||
|  | ||||
|     &::before { | ||||
|       left: 0; | ||||
|       border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height; | ||||
|       border-left-color: $tooltip-arrow-color; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .bs-tooltip-auto { | ||||
|   &[x-placement^="top"] { | ||||
|     @extend .bs-tooltip-top; | ||||
|   } | ||||
|   &[x-placement^="right"] { | ||||
|     @extend .bs-tooltip-right; | ||||
|   } | ||||
|   &[x-placement^="bottom"] { | ||||
|     @extend .bs-tooltip-bottom; | ||||
|   } | ||||
|   &[x-placement^="left"] { | ||||
|     @extend .bs-tooltip-left; | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Wrapper for the tooltip content | ||||
| .tooltip-inner { | ||||
|   max-width: $tooltip-max-width; | ||||
|   padding: $tooltip-padding-y $tooltip-padding-x; | ||||
|   color: $tooltip-color; | ||||
|   text-align: center; | ||||
|   background-color: $tooltip-bg; | ||||
|   @include border-radius($tooltip-border-radius); | ||||
| } | ||||
							
								
								
									
										20
									
								
								assets/vendor/bootstrap/scss/_transitions.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								assets/vendor/bootstrap/scss/_transitions.scss
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| .fade { | ||||
|   @include transition($transition-fade); | ||||
|  | ||||
|   &:not(.show) { | ||||
|     opacity: 0; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .collapse { | ||||
|   &:not(.show) { | ||||
|     display: none; | ||||
|   } | ||||
| } | ||||
|  | ||||
| .collapsing { | ||||
|   position: relative; | ||||
|   height: 0; | ||||
|   overflow: hidden; | ||||
|   @include transition($transition-collapse); | ||||
| } | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Al Azhar
					Al Azhar