Projekt

Obecné

Profil

« Předchozí | Další » 

Revize e765fd91

Přidáno uživatelem Marek Lovčí před téměř 5 roky(ů)

Relace Metadata|User.
Issue #7847 @0.25h

Zobrazit rozdíly:

README.md
1 1
# Aplikace pro muzea - MERLOT
2 2

  
3
###### Jak zprovoznit projekt:
3
## Jak zprovoznit projekt
4 4

  
5 5
1. Stáhněte **PHPStorm** (zdarma přes školní licenci), **PHP** (ideálně verze 7.4 a výš, minimálně verze 7.2.5) a **Composer**. Všechny tyto nainstalujte (PHP se neinstaluje).
6 6
2. Ve složce s PHP přejmenujte _php.ini-developement_ na _php.ini_ a v souboru odkomentujte všechny extension kromě _ffi_, _ftp_, _mbstring_, _exif_, _oci8_12c_, _openssl_, _pdo_firebird_, _pdo_oci_.
......
15 15
8. V PHPStorm v **Run/Edit Configurations** přidejte **PHP Build-in Web Server** , jeho _document root_ je složka projektu a _use router script_ ukazuje na **server.php** ve stejné složce.
16 16
9. Spusťte projekt projekt. Na localhost by vám měl vyjet nápis **Laravel** s funkčním menu.
17 17

  
18
###### Jak zprovoznit databázi:
18
## Jak zprovoznit databázi
19 19

  
20 20
1. Zajistěte databázi se spojením určeným v souboru `.env`.
21 21
2. Spusťte v terminálu (PHPStorm nebo cmd ve složce projektu) příkaz `php artisan migrate`.
22 22

  
23
###### SQLite databáze: 
23
### SQLite databáze
24 24

  
25 25
1. Soubor SQLite databáze umístěte do `database\database.sqlite` (může to být i nový prázdný soubor).
26 26
2. Pro připojení k databázi je v potřeba v souboru `.env` nastavit `DB_CONNECTION=sqlite` (ostatní nastavení pro databázi odstranit).
27 27
3. Pro **čistou** migraci spusťte příkaz `php artisan migrate:fresh`.
28 28

  
29
###### Jak zprovoznit bootstrap a kompilaci SASS souborů:
29
### Seeding
30

  
31
Pro vygenerování testovacích dat stačí spustit "seed".
32

  
33
```shell script
34
php artisan db:seed
35
```
36

  
37
Případně `php artisan migrate:refresh --seed`.
38

  
39
Migrace dat z Mockaroo je tímto okamžikem obsolete.
40

  
41
## Jak zprovoznit bootstrap a kompilaci SASS souborů
30 42

  
31 43
1. Ujistěte se, že v sekci **Run/Edit Configurations** máte nastavený **Document root** na složku `public` v kořenovém adresáři (jinak aplikace **nenajde** vygenerované css soubory).
32 44
2. Spusťte `composer install` (soubor pro composer už by měl být updatován) pro nainstalování balíčku `laravel/ui`.
app/Artefact.php
7 7
class Artefact extends Model
8 8
{
9 9
    // Table Name
10
    protected $table = 'artefacts';//unnecessery?
10
    protected $table = 'artefacts';
11 11
    // Primary Key
12
    public $primaryKey = 'id';//unnecessery?
13

  
14
    /**
15
     * The model's default values for attributes.
16
     *
17
     * @var array
18
     */
19
    /*protected $attributes = [
20
        'likes' => 0,
21
    ];*/
12
    public $primaryKey = 'id';
22 13

  
23 14
    /**
24 15
     * Indicates if the model should be timestamped.
......
50 41
    {
51 42
        return $this->belongsToMany('App\User');
52 43
    }
53

  
54

  
55

  
56 44
}
app/ArtefactUser.php
1
<?php
2

  
3
namespace App;
4

  
5
use Illuminate\Database\Eloquent\Model;
6

  
7
class ArtefactUser extends Model
8
{
9
    // Table Name
10
    protected $table = 'artefact_user';//unnecessery?
11
    // Primary Key
12
    public $primaryKey = 'artefact_id';//unnecessery?
13

  
14
    /**
15
     * Indicates if the model should be timestamped.
16
     *
17
     * @var bool
18
     */
19
    public $timestamps = false;
20

  
21

  
22

  
23

  
24
}
app/Category.php
9 9
    // Table Name
10 10
    protected $table = 'categories';
11 11
    // Primary Key
12
    public $primaryKey = 'id';//unnecessery?
13

  
12
    public $primaryKey = 'id';
14 13

  
15 14
    /**
16 15
     * Indicates if the model should be timestamped.
......
20 19
    public $timestamps = false;
21 20

  
22 21
    /**
23
     * Get the artefacts for the catagory.
22
     * Get the artefacts for the category.
24 23
     */
25 24
    public function artefacts()
26 25
    {
27 26
        return $this->belongsToMany('App\Artefact');
28 27
    }
29

  
30

  
31 28
}
app/Http/Controllers/Auth/LoginController.php
26 26
     *
27 27
     * @var string
28 28
     */
29
    protected $redirectTo = RouteServiceProvider::HOME;
29
    protected $redirectTo = RouteServiceProvider::CATEGORIES;
30 30

  
31 31
    /**
32 32
     * Create a new controller instance.
app/Http/Controllers/CategoriesController.php
1
<?php
2

  
3
namespace App\Http\Controllers;
4

  
5
use App\ArtefactCategory;
6
use App\Category;
7
use Illuminate\Support\Facades\Auth;
8
use App\User;
9

  
10
class CategoriesController extends Controller
11
{
12
    public function __construct()
13
    {
14
        $this->middleware('auth');
15
    }
16

  
17
    public function calculateClusters($categoriesCount)
18
    {
19
        if(isset($categoriesCount))
20
        {
21
            $min = PHP_INT_MAX;
22
            $max = PHP_INT_MIN;
23
            foreach($categoriesCount as $category)
24
            {
25
                $c = count($category);
26
                if($c < $min)
27
                {
28
                    $min = $c;
29
                }
30

  
31
                if($c > $max)
32
                {
33
                    $max = $c;
34
                }
35
            }
36
            $center = $min + (($max - $min)/2);
37
            return array($min, $center, $max);
38
        }
39
        else
40
        {
41
            return null;
42
        }
43
    }
44

  
45
    /**
46
     * Display a listing of the resource.
47
     *
48
     * @return \Illuminate\Http\Response
49
     */
50
    public function index()
51
    {
52
        if(isset(Auth::user()->id))
53
        {
54
            $userId = Auth::user()->id;
55

  
56
            $categoryNames = Category::all();
57
            $countCategory = count($categoryNames);
58
            $categories = array();
59
            for($i = 1; $i <= $countCategory;$i++)
60
            {
61
                array_push($categories, Category::find($i)->artefacts()->get());
62
            }
63
            $clusters = $this->calculateClusters($categories);
64

  
65
            $categorySizes = array();
66
            if(isset($clusters))
67
            {
68
                foreach($categories as $category)
69
                {
70
                    $c = count($category);
71
                    $type1 = abs($clusters['0'] - $c);
72
                    $type2 = abs($clusters['1'] - $c);
73
                    $type3 = abs($clusters['2'] - $c);
74

  
75
                    if($type1 <= $type2 && $type1 <= $type3)
76
                    {
77
                        array_push($categorySizes, 1);
78
                    }
79
                    else if($type2 <= $type1 && $type2 <= $type3)
80
                    {
81
                        array_push($categorySizes, 2);
82
                    }
83
                    else
84
                    {
85
                        array_push($categorySizes, 3);
86
                    }
87
                }
88
            }
89

  
90
            $data = array(
91
                'title' => 'Categories',
92
                'user' => User::find($userId),
93
                'count' => $countCategory,
94
                'categories' => $categories,
95
                'categorySizes' => $categorySizes,
96
                'categoryNames' => $categoryNames
97
            );
98
            return view('categories.index') -> with($data);
99
        }
100
        else
101
        {
102
            $data = array(
103
                'title' => 'Welcome to the MERLOT page',
104
            );
105
            return view('pages.index') -> with($data);
106
        }
107
    }
108
}
app/Http/Controllers/DetailsController.php
39 39
        $data = array(
40 40
            'id' => $id,
41 41
            'arrArtefact' => Artefact::find($id),
42
            'likes' => ArtefactUser::where('artefact_id', $id)->count(),
42
            'likes' => Artefact::find($id)->users()->count(),
43 43
            'metadata' => Metadata::where('artefact_id', $id)->get()
44 44
        );
45 45
        return view('detail.index') -> with($data);
app/Http/Controllers/FavoriteArtefactsController.php
1
<?php
2

  
3
namespace App\Http\Controllers;
4

  
5
use App\ArtefactUser;
6
use Illuminate\Support\Facades\Auth;
7
use App\User;
8
use App\Artefact;
9
use App\Http\Controllers\Image;
10

  
11
class FavoriteArtefactsController extends Controller
12
{
13
    public function __construct()
14
    {
15
        $this->middleware('auth');
16
    }
17

  
18
    /**
19
     * Display a listing of the resource.
20
     *
21
     * @return \Illuminate\Http\Response
22
     */
23
    public function index()
24
    {
25
        if(Auth::check())
26
        {
27
            $id = Auth::id();
28
            $artefacts = User::find($id)->likesArtefacts()->get();
29
            foreach($artefacts as $item)
30
            {
31
                $item['likes'] = Artefact::find($item->id)->users()->count();
32
            }
33

  
34
            $data = array(
35
                'title' => 'Favorite artefacts',
36
                'user' => $id,
37
                'artefacts' => $artefacts
38
            );
39
            return view('favartefacts.index') -> with($data);
40
        }
41
        else
42
        {
43
            $data = array(
44
                'title' => 'Welcome to the MERLOT page',
45
            );
46
            //return view('index', compact('title'));
47
            return view('pages.index') -> with($data);
48
        }
49
    }
50

  
51
    /**
52
     * Display the specified resource.
53
     *
54
     * @param  int  $id
55
     * @return \Illuminate\Http\Response
56
     */
57
    public function show($id)
58
    {
59
        $artefacts = User::find($id)->likesArtefacts()->get();
60
        foreach($artefacts as $item)
61
        {
62
            $item['likes'] = Artefact::find($item->id)->users()->count();
63
        }
64

  
65

  
66
        $data = array(
67
            'title' => 'Favorite artefacts',
68
            'id' => $id,
69
            'user' => User::find($id),
70
            'userId' => Auth::id(),
71
            'artefacts' => $artefacts
72
        );
73
        return view('favartefacts.index') -> with($data);
74
    }
75

  
76
}
app/Http/Controllers/FavoriteMetadataController.php
1
<?php
2

  
3
namespace App\Http\Controllers;
4

  
5
use App\Metadata;
6
use App\User;
7
use Illuminate\Http\Request;
8
use Illuminate\Support\Facades\Auth;
9

  
10
class FavoriteMetadataController extends Controller
11
{
12
    public function __construct()
13
    {
14
        $this->middleware('auth');
15
    }
16

  
17
    public function index()
18
    {
19
        $metadata = User::find(Auth::id())->likesMetadata()->get();
20

  
21
        return view('favmetadata.index', ['metadata' => $metadata]);
22
    }
23

  
24
}
app/Metadata.php
7 7
class Metadata extends Model
8 8
{
9 9
    // Table Name
10
    protected $table = 'metadata';//same name could make problems
10
    protected $table = 'metadata';
11 11
    // Primary Key
12
    public $primaryKey = 'id';//unnecessery?
13

  
14
    /**
15
     * The model's default values for attributes.
16
     *
17
     * @var array
18
     */
19
    /*protected $attributes = [
20
        'likes' => 0,
21
    ];*/
12
    public $primaryKey = 'id';
22 13

  
23 14
    /**
24 15
     * Indicates if the model should be timestamped.
......
34 25
        return $this->belongsTo('App\Artefact');
35 26
    }
36 27

  
37

  
28
    /**
29
     * Get the users for the metadata.
30
     */
31
    public function users()
32
    {
33
        return $this->belongsToMany('App\User');
34
    }
38 35
}
app/Providers/RouteServiceProvider.php
23 23
     */
24 24
    public const HOME = '/artefact';
25 25

  
26
    /**
27
     * The path to categories.
28
     *
29
     * @var string
30
     */
31
    public const CATEGORIES = '/categories';
32

  
26 33
    /**
27 34
     * Define your route model bindings, pattern filters, etc.
28 35
     *
app/User.php
2 2

  
3 3
namespace App;
4 4

  
5
use Illuminate\Contracts\Auth\MustVerifyEmail;
6 5
use Illuminate\Foundation\Auth\User as Authenticatable;
7 6
use Illuminate\Notifications\Notifiable;
8 7

  
......
13 12
    // Table Name
14 13
    protected $table = 'users';
15 14
    // Primary Key
16
    public $primaryKey = 'id';//unnecessery?
15
    public $primaryKey = 'id';
17 16

  
18 17
    /**
19 18
     * The attributes that are mass assignable.
......
45 44
    /**
46 45
     * Get the artefacts for the user.
47 46
     */
48
    public function likes()
47
    public function likesArtefacts()
49 48
    {
50
        return $this->hasMany('App\Artefact');
49
        return $this->belongsToMany('App\Artefact');
50
    }
51

  
52
    /**
53
     * Get the metadata for the user.
54
     */
55
    public function likesMetadata()
56
    {
57
        return $this->belongsToMany('App\Metadata');
51 58
    }
52 59
}
database/factories/ArtefactFactory.php
1
<?php
2

  
3
/** @var Factory $factory */
4
/** @var Faker $faker */
5

  
6
use App\Artefact;
7
use App\Category;
8
use Faker\Generator as Faker;
9
use Illuminate\Database\Eloquent\Factory;
10

  
11
$factory->define(Artefact::class, function ($faker) {
12
    return [
13
        'name' => $faker->opera,
14
        'author' => $faker->name,
15
        'made_in' => $faker->countryCode,
16
        'publisher' => $faker->company,
17
        'year' => rand(1800, 2020),
18
        'pages' => rand(0, 2000),
19
        'main_category_id' => factory(Category::class)->create()->id,
20
    ];
21
});
database/factories/CategoryFactory.php
1
<?php
2

  
3
/** @var Factory $factory */
4

  
5
use App\Category;
6
use Faker\Generator as Faker;
7
use Illuminate\Database\Eloquent\Factory;
8

  
9
$factory->define(Category::class, function (Faker $faker) {
10
    return [
11
        'nameCZ' => $faker->colorName,
12
        'nameEN' => $faker->hexColor,
13
    ];
14
});
database/factories/MetadataFactory.php
1
<?php
2

  
3
/** @var Factory $factory */
4
/** @var Faker $faker */
5

  
6
use App\Artefact;
7
use App\Metadata;
8
use Faker\Generator as Faker;
9
use Illuminate\Database\Eloquent\Factory;
10

  
11
$factory->define(Metadata::class, function ($faker) use ($factory) {
12
    return [
13
        'name' => $faker->streetName,
14
        'noteCZ' => $faker->paragraph,
15
        'noteEN' => $faker->paragraph,
16
        'page' => rand(0, 2000),
17
        'artefact_id' => factory(Artefact::class)->create()->id
18
    ];
19
});
database/factories/UserFactory.php
1 1
<?php
2 2

  
3
/** @var \Illuminate\Database\Eloquent\Factory $factory */
3
/** @var Factory $factory */
4 4

  
5 5
use App\User;
6 6
use Faker\Generator as Faker;
7
use Illuminate\Database\Eloquent\Factory;
7 8
use Illuminate\Support\Str;
8 9

  
9 10
/*
......
22 23
        'name' => $faker->name,
23 24
        'email' => $faker->unique()->safeEmail,
24 25
        'email_verified_at' => now(),
25
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
26
        'password' => bcrypt($faker->unique()->password),
26 27
        'remember_token' => Str::random(10),
28
        'created_at' => now(),
29
        'updated_at' => now(),
27 30
    ];
28 31
});
database/migrations/2020_04_10_000000_CreateMetadataUserTable.php
1
<?php
2

  
3
use Illuminate\Database\Migrations\Migration;
4
use Illuminate\Database\Schema\Blueprint;
5
use Illuminate\Support\Facades\Schema;
6

  
7
class CreateMetadataUserTable extends Migration
8
{
9
    /**
10
     * Run the migrations.
11
     *
12
     * @return void
13
     */
14
    public function up()
15
    {
16
        Schema::create('metadata_user', function (Blueprint $table) {
17
            $table->unsignedBigInteger('metadata_id');
18
            $table->unsignedBigInteger('user_id');
19
            $table->foreign('metadata_id')->references('id')->on('metadata');
20
            $table->foreign('user_id')->references('id')->on('users');
21
        });
22
    }
23

  
24
    /**
25
     * Reverse the migrations.
26
     *
27
     * @return void
28
     */
29
    public function down()
30
    {
31
        Schema::dropIfExists('metadata_user');
32
    }
33
}
database/seeds/DatabaseSeeder.php
1 1
<?php
2 2

  
3 3
use Illuminate\Database\Seeder;
4
use Illuminate\Support\Facades\DB;
5
use Illuminate\Support\Str;
4 6

  
5 7
class DatabaseSeeder extends Seeder
6 8
{
......
11 13
     */
12 14
    public function run()
13 15
    {
14
        // $this->call(UsersTableSeeder::class);
16
        DB::table('users')->insert([
17
            'name' => 'admin',
18
            'email' => 'admin@kaplicky.com',
19
            'email_verified_at' => now(),
20
            'password' => bcrypt('admin'),
21
            'remember_token' => Str::random(10),
22
            'created_at' => now(),
23
            'updated_at' => now(),
24
        ]);
25

  
26
        // Populate users
27
        factory(App\User::class, 19)->create();
28

  
29
        // Populate categories
30
        factory(App\Category::class, 80)->create();
31

  
32
        // Populate artefacts with metadata
33
        factory(App\Artefact::class, 300)->create()->each(function ($u) {
34
            $u->metadata()->saveMany(factory(App\Metadata::class, 10)->make());
35
        });
36

  
37
        // Get all the categories attaching up to 1 random categories to each user
38
        $categories = App\Category::all();
39

  
40
        // Populate the artefact_category pivot table
41
        App\Artefact::all()->each(function ($artefact) use ($categories) {
42
            $artefact->categories()->attach(
43
                $categories->random(1)->pluck('id')->toArray()
44
            );
45
        });
46

  
47
        // Get all the metadata attaching up to 50 random metadata to each user
48
        $artefacts = App\Metadata::all();
49

  
50
        // Populate the artefact_user pivot table
51
        App\User::all()->each(function ($user) use ($artefacts) {
52
            $user->likesArtefacts()->attach(
53
                $artefacts->random(rand(1, 50))->pluck('id')->toArray()
54
            );
55
        });
56

  
57
        // Get all the metadata attaching up to 50 random metadata to each user
58
        $metadata = App\Metadata::all();
59

  
60
        // Populate the metadata_user pivot table
61
        App\User::all()->each(function ($user) use ($metadata) {
62
            $user->likesMetadata()->attach(
63
                $metadata->random(rand(1, 50))->pluck('id')->toArray()
64
            );
65
        });
15 66
    }
16 67
}
public/css/app.css
1
@import url(https://fonts.googleapis.com/css?family=Nunito);@charset "UTF-8";
1
@import url(https://fonts.googleapis.com/css?family=Nunito);@import url(https://db.onlinewebfonts.com/c/2090551770be22b09600a40b0b4673b7?family=Avenir+Medium);@import url(https://db.onlinewebfonts.com/c/275de2221d9f0c4c9257d17f5a1e4006?family=Avenir+Black);@import url(https://db.onlinewebfonts.com/c/1a045963159927274c92b0444fb83c17?family=Avenir);@charset "UTF-8";
2 2

  
3 3
/*!
4 4
 * Bootstrap v4.4.1 (https://getbootstrap.com/)
......
18 18
  --green: #38c172;
19 19
  --teal: #4dc0b5;
20 20
  --cyan: #6cb2eb;
21
  --white: #fff;
21
  --white: #ffffff;
22 22
  --gray: #6c757d;
23 23
  --gray-dark: #343a40;
24 24
  --primary: #3490dc;
......
546 546
kbd {
547 547
  padding: 0.2rem 0.4rem;
548 548
  font-size: 87.5%;
549
  color: #fff;
549
  color: #ffffff;
550 550
  background-color: #212529;
551 551
  border-radius: 0.2rem;
552 552
}
......
2049 2049
}
2050 2050

  
2051 2051
.table .thead-dark th {
2052
  color: #fff;
2052
  color: #ffffff;
2053 2053
  background-color: #343a40;
2054 2054
  border-color: #454d55;
2055 2055
}
......
2061 2061
}
2062 2062

  
2063 2063
.table-dark {
2064
  color: #fff;
2064
  color: #ffffff;
2065 2065
  background-color: #343a40;
2066 2066
}
2067 2067

  
......
2080 2080
}
2081 2081

  
2082 2082
.table-dark.table-hover tbody tr:hover {
2083
  color: #fff;
2083
  color: #ffffff;
2084 2084
  background-color: rgba(255, 255, 255, 0.075);
2085 2085
}
2086 2086

  
......
2156 2156
  font-weight: 400;
2157 2157
  line-height: 1.6;
2158 2158
  color: #495057;
2159
  background-color: #fff;
2159
  background-color: #ffffff;
2160 2160
  background-clip: padding-box;
2161 2161
  border: 1px solid #ced4da;
2162 2162
  border-radius: 0.25rem;
......
2181 2181

  
2182 2182
.form-control:focus {
2183 2183
  color: #495057;
2184
  background-color: #fff;
2184
  background-color: #ffffff;
2185 2185
  border-color: #a1cbef;
2186 2186
  outline: 0;
2187 2187
  box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.25);
......
2220 2220

  
2221 2221
select.form-control:focus::-ms-value {
2222 2222
  color: #495057;
2223
  background-color: #fff;
2223
  background-color: #ffffff;
2224 2224
}
2225 2225

  
2226 2226
.form-control-file,
......
2370 2370
  margin-top: 0.1rem;
2371 2371
  font-size: 0.7875rem;
2372 2372
  line-height: 1.6;
2373
  color: #fff;
2373
  color: #ffffff;
2374 2374
  background-color: rgba(56, 193, 114, 0.9);
2375 2375
  border-radius: 0.25rem;
2376 2376
}
......
2408 2408
.custom-select.is-valid {
2409 2409
  border-color: #38c172;
2410 2410
  padding-right: calc(0.75em + 2.3125rem);
2411
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
2411
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #ffffff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
2412 2412
}
2413 2413

  
2414 2414
.was-validated .custom-select:valid:focus,
......
2484 2484
  margin-top: 0.1rem;
2485 2485
  font-size: 0.7875rem;
2486 2486
  line-height: 1.6;
2487
  color: #fff;
2487
  color: #ffffff;
2488 2488
  background-color: rgba(227, 52, 47, 0.9);
2489 2489
  border-radius: 0.25rem;
2490 2490
}
......
2522 2522
.custom-select.is-invalid {
2523 2523
  border-color: #e3342f;
2524 2524
  padding-right: calc(0.75em + 2.3125rem);
2525
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
2525
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e") #ffffff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem);
2526 2526
}
2527 2527

  
2528 2528
.was-validated .custom-select:invalid:focus,
......
2695 2695
}
2696 2696

  
2697 2697
.btn-primary {
2698
  color: #fff;
2698
  color: #ffffff;
2699 2699
  background-color: #3490dc;
2700 2700
  border-color: #3490dc;
2701 2701
}
2702 2702

  
2703 2703
.btn-primary:hover {
2704
  color: #fff;
2704
  color: #ffffff;
2705 2705
  background-color: #227dc7;
2706 2706
  border-color: #2176bd;
2707 2707
}
2708 2708

  
2709 2709
.btn-primary:focus,
2710 2710
.btn-primary.focus {
2711
  color: #fff;
2711
  color: #ffffff;
2712 2712
  background-color: #227dc7;
2713 2713
  border-color: #2176bd;
2714 2714
  box-shadow: 0 0 0 0.2rem rgba(82, 161, 225, 0.5);
......
2716 2716

  
2717 2717
.btn-primary.disabled,
2718 2718
.btn-primary:disabled {
2719
  color: #fff;
2719
  color: #ffffff;
2720 2720
  background-color: #3490dc;
2721 2721
  border-color: #3490dc;
2722 2722
}
......
2724 2724
.btn-primary:not(:disabled):not(.disabled):active,
2725 2725
.btn-primary:not(:disabled):not(.disabled).active,
2726 2726
.show > .btn-primary.dropdown-toggle {
2727
  color: #fff;
2727
  color: #ffffff;
2728 2728
  background-color: #2176bd;
2729 2729
  border-color: #1f6fb2;
2730 2730
}
......
2736 2736
}
2737 2737

  
2738 2738
.btn-secondary {
2739
  color: #fff;
2739
  color: #ffffff;
2740 2740
  background-color: #6c757d;
2741 2741
  border-color: #6c757d;
2742 2742
}
2743 2743

  
2744 2744
.btn-secondary:hover {
2745
  color: #fff;
2745
  color: #ffffff;
2746 2746
  background-color: #5a6268;
2747 2747
  border-color: #545b62;
2748 2748
}
2749 2749

  
2750 2750
.btn-secondary:focus,
2751 2751
.btn-secondary.focus {
2752
  color: #fff;
2752
  color: #ffffff;
2753 2753
  background-color: #5a6268;
2754 2754
  border-color: #545b62;
2755 2755
  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
......
2757 2757

  
2758 2758
.btn-secondary.disabled,
2759 2759
.btn-secondary:disabled {
2760
  color: #fff;
2760
  color: #ffffff;
2761 2761
  background-color: #6c757d;
2762 2762
  border-color: #6c757d;
2763 2763
}
......
2765 2765
.btn-secondary:not(:disabled):not(.disabled):active,
2766 2766
.btn-secondary:not(:disabled):not(.disabled).active,
2767 2767
.show > .btn-secondary.dropdown-toggle {
2768
  color: #fff;
2768
  color: #ffffff;
2769 2769
  background-color: #545b62;
2770 2770
  border-color: #4e555b;
2771 2771
}
......
2777 2777
}
2778 2778

  
2779 2779
.btn-success {
2780
  color: #fff;
2780
  color: #ffffff;
2781 2781
  background-color: #38c172;
2782 2782
  border-color: #38c172;
2783 2783
}
2784 2784

  
2785 2785
.btn-success:hover {
2786
  color: #fff;
2786
  color: #ffffff;
2787 2787
  background-color: #2fa360;
2788 2788
  border-color: #2d995b;
2789 2789
}
2790 2790

  
2791 2791
.btn-success:focus,
2792 2792
.btn-success.focus {
2793
  color: #fff;
2793
  color: #ffffff;
2794 2794
  background-color: #2fa360;
2795 2795
  border-color: #2d995b;
2796 2796
  box-shadow: 0 0 0 0.2rem rgba(86, 202, 135, 0.5);
......
2798 2798

  
2799 2799
.btn-success.disabled,
2800 2800
.btn-success:disabled {
2801
  color: #fff;
2801
  color: #ffffff;
2802 2802
  background-color: #38c172;
2803 2803
  border-color: #38c172;
2804 2804
}
......
2806 2806
.btn-success:not(:disabled):not(.disabled):active,
2807 2807
.btn-success:not(:disabled):not(.disabled).active,
2808 2808
.show > .btn-success.dropdown-toggle {
2809
  color: #fff;
2809
  color: #ffffff;
2810 2810
  background-color: #2d995b;
2811 2811
  border-color: #2a9055;
2812 2812
}
......
2824 2824
}
2825 2825

  
2826 2826
.btn-info:hover {
2827
  color: #fff;
2827
  color: #ffffff;
2828 2828
  background-color: #4aa0e6;
2829 2829
  border-color: #3f9ae5;
2830 2830
}
2831 2831

  
2832 2832
.btn-info:focus,
2833 2833
.btn-info.focus {
2834
  color: #fff;
2834
  color: #ffffff;
2835 2835
  background-color: #4aa0e6;
2836 2836
  border-color: #3f9ae5;
2837 2837
  box-shadow: 0 0 0 0.2rem rgba(97, 157, 206, 0.5);
......
2847 2847
.btn-info:not(:disabled):not(.disabled):active,
2848 2848
.btn-info:not(:disabled):not(.disabled).active,
2849 2849
.show > .btn-info.dropdown-toggle {
2850
  color: #fff;
2850
  color: #ffffff;
2851 2851
  background-color: #3f9ae5;
2852 2852
  border-color: #3495e3;
2853 2853
}
......
2900 2900
}
2901 2901

  
2902 2902
.btn-danger {
2903
  color: #fff;
2903
  color: #ffffff;
2904 2904
  background-color: #e3342f;
2905 2905
  border-color: #e3342f;
2906 2906
}
2907 2907

  
2908 2908
.btn-danger:hover {
2909
  color: #fff;
2909
  color: #ffffff;
2910 2910
  background-color: #d0211c;
2911 2911
  border-color: #c51f1a;
2912 2912
}
2913 2913

  
2914 2914
.btn-danger:focus,
2915 2915
.btn-danger.focus {
2916
  color: #fff;
2916
  color: #ffffff;
2917 2917
  background-color: #d0211c;
2918 2918
  border-color: #c51f1a;
2919 2919
  box-shadow: 0 0 0 0.2rem rgba(231, 82, 78, 0.5);
......
2921 2921

  
2922 2922
.btn-danger.disabled,
2923 2923
.btn-danger:disabled {
2924
  color: #fff;
2924
  color: #ffffff;
2925 2925
  background-color: #e3342f;
2926 2926
  border-color: #e3342f;
2927 2927
}
......
2929 2929
.btn-danger:not(:disabled):not(.disabled):active,
2930 2930
.btn-danger:not(:disabled):not(.disabled).active,
2931 2931
.show > .btn-danger.dropdown-toggle {
2932
  color: #fff;
2932
  color: #ffffff;
2933 2933
  background-color: #c51f1a;
2934 2934
  border-color: #b91d19;
2935 2935
}
......
2982 2982
}
2983 2983

  
2984 2984
.btn-dark {
2985
  color: #fff;
2985
  color: #ffffff;
2986 2986
  background-color: #343a40;
2987 2987
  border-color: #343a40;
2988 2988
}
2989 2989

  
2990 2990
.btn-dark:hover {
2991
  color: #fff;
2991
  color: #ffffff;
2992 2992
  background-color: #23272b;
2993 2993
  border-color: #1d2124;
2994 2994
}
2995 2995

  
2996 2996
.btn-dark:focus,
2997 2997
.btn-dark.focus {
2998
  color: #fff;
2998
  color: #ffffff;
2999 2999
  background-color: #23272b;
3000 3000
  border-color: #1d2124;
3001 3001
  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
......
3003 3003

  
3004 3004
.btn-dark.disabled,
3005 3005
.btn-dark:disabled {
3006
  color: #fff;
3006
  color: #ffffff;
3007 3007
  background-color: #343a40;
3008 3008
  border-color: #343a40;
3009 3009
}
......
3011 3011
.btn-dark:not(:disabled):not(.disabled):active,
3012 3012
.btn-dark:not(:disabled):not(.disabled).active,
3013 3013
.show > .btn-dark.dropdown-toggle {
3014
  color: #fff;
3014
  color: #ffffff;
3015 3015
  background-color: #1d2124;
3016 3016
  border-color: #171a1d;
3017 3017
}
......
3028 3028
}
3029 3029

  
3030 3030
.btn-outline-primary:hover {
3031
  color: #fff;
3031
  color: #ffffff;
3032 3032
  background-color: #3490dc;
3033 3033
  border-color: #3490dc;
3034 3034
}
......
3047 3047
.btn-outline-primary:not(:disabled):not(.disabled):active,
3048 3048
.btn-outline-primary:not(:disabled):not(.disabled).active,
3049 3049
.show > .btn-outline-primary.dropdown-toggle {
3050
  color: #fff;
3050
  color: #ffffff;
3051 3051
  background-color: #3490dc;
3052 3052
  border-color: #3490dc;
3053 3053
}
......
3064 3064
}
3065 3065

  
3066 3066
.btn-outline-secondary:hover {
3067
  color: #fff;
3067
  color: #ffffff;
3068 3068
  background-color: #6c757d;
3069 3069
  border-color: #6c757d;
3070 3070
}
......
3083 3083
.btn-outline-secondary:not(:disabled):not(.disabled):active,
3084 3084
.btn-outline-secondary:not(:disabled):not(.disabled).active,
3085 3085
.show > .btn-outline-secondary.dropdown-toggle {
3086
  color: #fff;
3086
  color: #ffffff;
3087 3087
  background-color: #6c757d;
3088 3088
  border-color: #6c757d;
3089 3089
}
......
3100 3100
}
3101 3101

  
3102 3102
.btn-outline-success:hover {
3103
  color: #fff;
3103
  color: #ffffff;
3104 3104
  background-color: #38c172;
3105 3105
  border-color: #38c172;
3106 3106
}
......
3119 3119
.btn-outline-success:not(:disabled):not(.disabled):active,
3120 3120
.btn-outline-success:not(:disabled):not(.disabled).active,
3121 3121
.show > .btn-outline-success.dropdown-toggle {
3122
  color: #fff;
3122
  color: #ffffff;
3123 3123
  background-color: #38c172;
3124 3124
  border-color: #38c172;
3125 3125
}
......
3208 3208
}
3209 3209

  
3210 3210
.btn-outline-danger:hover {
3211
  color: #fff;
3211
  color: #ffffff;
3212 3212
  background-color: #e3342f;
3213 3213
  border-color: #e3342f;
3214 3214
}
......
3227 3227
.btn-outline-danger:not(:disabled):not(.disabled):active,
3228 3228
.btn-outline-danger:not(:disabled):not(.disabled).active,
3229 3229
.show > .btn-outline-danger.dropdown-toggle {
3230
  color: #fff;
3230
  color: #ffffff;
3231 3231
  background-color: #e3342f;
3232 3232
  border-color: #e3342f;
3233 3233
}
......
3280 3280
}
3281 3281

  
3282 3282
.btn-outline-dark:hover {
3283
  color: #fff;
3283
  color: #ffffff;
3284 3284
  background-color: #343a40;
3285 3285
  border-color: #343a40;
3286 3286
}
......
3299 3299
.btn-outline-dark:not(:disabled):not(.disabled):active,
3300 3300
.btn-outline-dark:not(:disabled):not(.disabled).active,
3301 3301
.show > .btn-outline-dark.dropdown-toggle {
3302
  color: #fff;
3302
  color: #ffffff;
3303 3303
  background-color: #343a40;
3304 3304
  border-color: #343a40;
3305 3305
}
......
3435 3435
  color: #212529;
3436 3436
  text-align: left;
3437 3437
  list-style: none;
3438
  background-color: #fff;
3438
  background-color: #ffffff;
3439 3439
  background-clip: padding-box;
3440 3440
  border: 1px solid rgba(0, 0, 0, 0.15);
3441 3441
  border-radius: 0.25rem;
......
3622 3622

  
3623 3623
.dropdown-item.active,
3624 3624
.dropdown-item:active {
3625
  color: #fff;
3625
  color: #ffffff;
3626 3626
  text-decoration: none;
3627 3627
  background-color: #3490dc;
3628 3628
}
......
3984 3984
}
3985 3985

  
3986 3986
.custom-control-input:checked ~ .custom-control-label::before {
3987
  color: #fff;
3987
  color: #ffffff;
3988 3988
  border-color: #3490dc;
3989 3989
  background-color: #3490dc;
3990 3990
}
......
3998 3998
}
3999 3999

  
4000 4000
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
4001
  color: #fff;
4001
  color: #ffffff;
4002 4002
  background-color: #cce3f6;
4003 4003
  border-color: #cce3f6;
4004 4004
}
......
4028 4028
  height: 1rem;
4029 4029
  pointer-events: none;
4030 4030
  content: "";
4031
  background-color: #fff;
4031
  background-color: #ffffff;
4032 4032
  border: #adb5bd solid 1px;
4033 4033
}
4034 4034

  
......
4048 4048
}
4049 4049

  
4050 4050
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
4051
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
4051
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23ffffff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
4052 4052
}
4053 4053

  
4054 4054
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
......
4057 4057
}
4058 4058

  
4059 4059
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
4060
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e");
4060
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23ffffff' d='M0 2h4'/%3e%3c/svg%3e");
4061 4061
}
4062 4062

  
4063 4063
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
......
4073 4073
}
4074 4074

  
4075 4075
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
4076
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
4076
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
4077 4077
}
4078 4078

  
4079 4079
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
......
4108 4108
}
4109 4109

  
4110 4110
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
4111
  background-color: #fff;
4111
  background-color: #ffffff;
4112 4112
  transform: translateX(0.75rem);
4113 4113
}
4114 4114

  
......
4126 4126
  line-height: 1.6;
4127 4127
  color: #495057;
4128 4128
  vertical-align: middle;
4129
  background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
4129
  background: #ffffff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
4130 4130
  border: 1px solid #ced4da;
4131 4131
  border-radius: 0.25rem;
4132 4132
  -webkit-appearance: none;
......
4142 4142

  
4143 4143
.custom-select:focus::-ms-value {
4144 4144
  color: #495057;
4145
  background-color: #fff;
4145
  background-color: #ffffff;
4146 4146
}
4147 4147

  
4148 4148
.custom-select[multiple],
......
4228 4228
  font-weight: 400;
4229 4229
  line-height: 1.6;
4230 4230
  color: #495057;
4231
  background-color: #fff;
4231
  background-color: #ffffff;
4232 4232
  border: 1px solid #ced4da;
4233 4233
  border-radius: 0.25rem;
4234 4234
}
......
4495 4495

  
4496 4496
.nav-pills .nav-link.active,
4497 4497
.nav-pills .show > .nav-link {
4498
  color: #fff;
4498
  color: #ffffff;
4499 4499
  background-color: #3490dc;
4500 4500
}
4501 4501

  
......
4906 4906
}
4907 4907

  
4908 4908
.navbar-dark .navbar-brand {
4909
  color: #fff;
4909
  color: #ffffff;
4910 4910
}
4911 4911

  
4912 4912
.navbar-dark .navbar-brand:hover,
4913 4913
.navbar-dark .navbar-brand:focus {
4914
  color: #fff;
4914
  color: #ffffff;
4915 4915
}
4916 4916

  
4917 4917
.navbar-dark .navbar-nav .nav-link {
......
4931 4931
.navbar-dark .navbar-nav .active > .nav-link,
4932 4932
.navbar-dark .navbar-nav .nav-link.show,
4933 4933
.navbar-dark .navbar-nav .nav-link.active {
4934
  color: #fff;
4934
  color: #ffffff;
4935 4935
}
4936 4936

  
4937 4937
.navbar-dark .navbar-toggler {
......
4948 4948
}
4949 4949

  
4950 4950
.navbar-dark .navbar-text a {
4951
  color: #fff;
4951
  color: #ffffff;
4952 4952
}
4953 4953

  
4954 4954
.navbar-dark .navbar-text a:hover,
4955 4955
.navbar-dark .navbar-text a:focus {
4956
  color: #fff;
4956
  color: #ffffff;
4957 4957
}
4958 4958

  
4959 4959
.card {
......
4962 4962
  flex-direction: column;
4963 4963
  min-width: 0;
4964 4964
  word-wrap: break-word;
4965
  background-color: #fff;
4965
  background-color: #ffffff;
4966 4966
  background-clip: border-box;
4967 4967
  border: 1px solid rgba(0, 0, 0, 0.125);
4968 4968
  border-radius: 0.25rem;
......
5233 5233
  margin-left: -1px;
5234 5234
  line-height: 1.25;
5235 5235
  color: #3490dc;
5236
  background-color: #fff;
5236
  background-color: #ffffff;
5237 5237
  border: 1px solid #dee2e6;
5238 5238
}
5239 5239

  
......
5264 5264

  
5265 5265
.page-item.active .page-link {
5266 5266
  z-index: 3;
5267
  color: #fff;
5267
  color: #ffffff;
5268 5268
  background-color: #3490dc;
5269 5269
  border-color: #3490dc;
5270 5270
}
......
5273 5273
  color: #6c757d;
5274 5274
  pointer-events: none;
5275 5275
  cursor: auto;
5276
  background-color: #fff;
5276
  background-color: #ffffff;
5277 5277
  border-color: #dee2e6;
5278 5278
}
5279 5279

  
......
5349 5349
}
5350 5350

  
5351 5351
.badge-primary {
5352
  color: #fff;
5352
  color: #ffffff;
5353 5353
  background-color: #3490dc;
5354 5354
}
5355 5355

  
5356 5356
a.badge-primary:hover,
5357 5357
a.badge-primary:focus {
5358
  color: #fff;
5358
  color: #ffffff;
5359 5359
  background-color: #2176bd;
5360 5360
}
5361 5361

  
......
5366 5366
}
5367 5367

  
5368 5368
.badge-secondary {
5369
  color: #fff;
5369
  color: #ffffff;
5370 5370
  background-color: #6c757d;
5371 5371
}
5372 5372

  
5373 5373
a.badge-secondary:hover,
5374 5374
a.badge-secondary:focus {
5375
  color: #fff;
5375
  color: #ffffff;
5376 5376
  background-color: #545b62;
5377 5377
}
5378 5378

  
......
5383 5383
}
5384 5384

  
5385 5385
.badge-success {
5386
  color: #fff;
5386
  color: #ffffff;
5387 5387
  background-color: #38c172;
5388 5388
}
5389 5389

  
5390 5390
a.badge-success:hover,
5391 5391
a.badge-success:focus {
5392
  color: #fff;
5392
  color: #ffffff;
5393 5393
  background-color: #2d995b;
5394 5394
}
5395 5395

  
......
5434 5434
}
5435 5435

  
5436 5436
.badge-danger {
5437
  color: #fff;
5437
  color: #ffffff;
5438 5438
  background-color: #e3342f;
5439 5439
}
5440 5440

  
5441 5441
a.badge-danger:hover,
5442 5442
a.badge-danger:focus {
5443
  color: #fff;
5443
  color: #ffffff;
5444 5444
  background-color: #c51f1a;
5445 5445
}
5446 5446

  
......
5468 5468
}
5469 5469

  
5470 5470
.badge-dark {
5471
  color: #fff;
5471
  color: #ffffff;
5472 5472
  background-color: #343a40;
5473 5473
}
5474 5474

  
5475 5475
a.badge-dark:hover,
5476 5476
a.badge-dark:focus {
5477
  color: #fff;
5477
  color: #ffffff;
5478 5478
  background-color: #1d2124;
5479 5479
}
5480 5480

  
......
5677 5677
  flex-direction: column;
5678 5678
  justify-content: center;
5679 5679
  overflow: hidden;
5680
  color: #fff;
5680
  color: #ffffff;
5681 5681
  text-align: center;
5682 5682
  white-space: nowrap;
5683 5683
  background-color: #3490dc;
......
5746 5746
  position: relative;
5747 5747
  display: block;
5748 5748
  padding: 0.75rem 1.25rem;
5749
  background-color: #fff;
5749
  background-color: #ffffff;
5750 5750
  border: 1px solid rgba(0, 0, 0, 0.125);
5751 5751
}
5752 5752

  
......
5764 5764
.list-group-item:disabled {
5765 5765
  color: #6c757d;
5766 5766
  pointer-events: none;
5767
  background-color: #fff;
5767
  background-color: #ffffff;
5768 5768
}
5769 5769

  
5770 5770
.list-group-item.active {
5771 5771
  z-index: 2;
5772
  color: #fff;
5772
  color: #ffffff;
5773 5773
  background-color: #3490dc;
5774 5774
  border-color: #3490dc;
5775 5775
}
......
5957 5957
}
5958 5958

  
5959 5959
.list-group-item-primary.list-group-item-action.active {
5960
  color: #fff;
5960
  color: #ffffff;
5961 5961
  background-color: #1b4b72;
5962 5962
  border-color: #1b4b72;
5963 5963
}
......
5974 5974
}
5975 5975

  
5976 5976
.list-group-item-secondary.list-group-item-action.active {
5977
  color: #fff;
5977
  color: #ffffff;
5978 5978
  background-color: #383d41;
5979 5979
  border-color: #383d41;
5980 5980
}
......
5991 5991
}
5992 5992

  
5993 5993
.list-group-item-success.list-group-item-action.active {
5994
  color: #fff;
5994
  color: #ffffff;
5995 5995
  background-color: #1d643b;
5996 5996
  border-color: #1d643b;
5997 5997
}
......
6008 6008
}
6009 6009

  
6010 6010
.list-group-item-info.list-group-item-action.active {
6011
  color: #fff;
6011
  color: #ffffff;
6012 6012
  background-color: #385d7a;
6013 6013
  border-color: #385d7a;
6014 6014
}
......
6025 6025
}
6026 6026

  
6027 6027
.list-group-item-warning.list-group-item-action.active {
6028
  color: #fff;
6028
  color: #ffffff;
6029 6029
  background-color: #857b26;
6030 6030
  border-color: #857b26;
6031 6031
}
......
6042 6042
}
6043 6043

  
6044 6044
.list-group-item-danger.list-group-item-action.active {
6045
  color: #fff;
6045
  color: #ffffff;
6046 6046
  background-color: #761b18;
... Rozdílový soubor je zkrácen, protože jeho délka přesahuje max. limit.

Také k dispozici: Unified diff