From ff775709303d675169c0804bc927630840eb1063 Mon Sep 17 00:00:00 2001 From: pierrelevy31700 Date: Mon, 17 May 2021 13:07:38 +0200 Subject: [PATCH 01/15] Ajout des fichiers _perso --- .../static/solve_board/solve_perso.js | 58 +++++++++++++++++++ .../solve_board/main-board_perso.html | 39 +++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 FlOpEDT/solve_board/static/solve_board/solve_perso.js create mode 100644 FlOpEDT/solve_board/templates/solve_board/main-board_perso.html diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js new file mode 100644 index 000000000..2a9abf067 --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -0,0 +1,58 @@ +// This file is part of the FlOpEDT/FlOpScheduler project. +// Copyright (c) 2017 +// Authors: Iulian Ober, Paul Renaud-Goud, Pablo Seban, et al. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public +// License along with this program. If not, see +// . +// +// You can be released from the requirements of the license by purchasing +// a commercial license. Buying such a license is mandatory as soon as +// you develop activities involving the FlOpEDT/FlOpScheduler software +// without disclosing the source code of your own applications. + +var lignes = [{ + id: 8, // id de la TTC + name: "string", // nom du type de TTC + weight: 1, // poids de la TTC + is_active: true, // contrainte active ? + comment: "", // commentaire sur la TTC + last_modification: // date de création + weeks : [{nb: int , year: int},{nb: int , year: int}] // week a la forme : {nb: int , year: int} + parameters : [{ + name: string, // nom du paramètre dans la TTC + type: string, // nom du type des objets dans ce paramètre + required: boolean, // paramètre obligatoire ? + all_except: boolean // tous sauf ? + id_list: list of int, // ids des objets pour le paramètre dans la TTC + acceptable: list of int, // ids des objets acceptables comme valeur du paramètre + }] + }, + { + id: 8, // id de la TTC + name: "string", // nom du type de TTC + weight: 1, // poids de la TTC + is_active: true, // contrainte active ? + comment: "", // commentaire sur la TTC + last_modification: // date de création + weeks : [{nb: int , year: int},{nb: int , year: int}] // week a la forme : {nb: int , year: int} + parameters : [{ + name: string, // nom du paramètre dans la TTC + type: string, // nom du type des objets dans ce paramètre + required: boolean, // paramètre obligatoire ? + all_except: boolean // tous sauf ? + id_list: list of int, // ids des objets pour le paramètre dans la TTC + acceptable: list of int, // ids des objets acceptables comme valeur du paramètre + }] + }]; + diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html new file mode 100644 index 000000000..1a6e5b7b7 --- /dev/null +++ b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + +{% extends "base.html" %} +{% load i18n %} + +{% load static %} + +{% csrf_token %} + + +{% block title %} {% trans "Schedule Generation" %} {% endblock %} +{% block content %} + + + + + +{% endblock %} -- GitLab From 2df08bb2d01bc817bba8b2c9f3c09a9ce67f8cd5 Mon Sep 17 00:00:00 2001 From: PRG Date: Tue, 18 May 2021 09:16:42 +0200 Subject: [PATCH 02/15] file fetches --- FlOpEDT/base/static/base/variables.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/FlOpEDT/base/static/base/variables.js b/FlOpEDT/base/static/base/variables.js index b3a227123..3abd79303 100644 --- a/FlOpEDT/base/static/base/variables.js +++ b/FlOpEDT/base/static/base/variables.js @@ -126,11 +126,14 @@ var file_fetch = function main(name, data) { file_fetch[name].data = data; file_fetch[name].done = true; - if (file_fetch.groups.done && file_fetch.constraints.done - && file_fetch.rooms.done) { - file_fetch.constraints.callback(); - file_fetch.rooms.callback(); - file_fetch.groups.callback(); + + // callback all when all received + if (!Object.keys(file_fetch).some(function(att){ + return !file_fetch[att].done ; + })) { + Object.keys(file_fetch).forEach(function(att){ + file_fetch[att].callback() ; + }); } } -- GitLab From 2ae017018eaf4b34be20c82fdada6b28e98c21f3 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Fri, 4 Jun 2021 09:56:58 +0200 Subject: [PATCH 03/15] =?UTF-8?q?Cr=C3=A9ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlOpEDT/FlOpEDT/settings/local.py | 1 + .../solve_board/static/solve_board/solve.css | 36 ++ .../static/solve_board/solve_perso.js | 481 ++++++++++++++++-- .../solve_board/main-board_perso.html | 32 +- FlOpEDT/solve_board/views.py | 2 +- 5 files changed, 514 insertions(+), 38 deletions(-) diff --git a/FlOpEDT/FlOpEDT/settings/local.py b/FlOpEDT/FlOpEDT/settings/local.py index 4d9b798aa..c12accea4 100644 --- a/FlOpEDT/FlOpEDT/settings/local.py +++ b/FlOpEDT/FlOpEDT/settings/local.py @@ -102,3 +102,4 @@ DEBUG_TOOLBAR_CONFIG = { } INTERNAL_IPS = ['127.0.0.1'] + diff --git a/FlOpEDT/solve_board/static/solve_board/solve.css b/FlOpEDT/solve_board/static/solve_board/solve.css index e4ed12419..3aa91f072 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve.css +++ b/FlOpEDT/solve_board/static/solve_board/solve.css @@ -24,7 +24,42 @@ section#content{ height: 80vh; } +.menu { + display: flex; /* Transformation en flexbox */ + padding:0; /* Suppression des marges internes */ + background-color: #ccc; /* Ajout de la couleur d'arrière-plan */ + justify-content: space-around;/* Alignements des liens dans le menu */ +} +.menu li { + list-style-type: none ; /* Suppression des puces */ +} +.menu a { + display:block; /* Transformation en block */ + min-width: 120px; /* Largeur minimale des liens */ + + margin: 0.5rem; /* Marges externes */ + padding: 0.4rem 0; /* Marges internes */ + text-align: center; /* Centrage du texte */ + background-color: #1ABC9C; /* Arrière-plan */ + color: #fff; /* Couleur du texte */ + text-decoration: none; /* Suppression du soulignement */ + border: 1px solid #fff; /* Ajout d'une bordure */ + border-radius: 4px; /* Arrondis des bordures */ + + transition: all 1s ; /* Ajout des effets de transition */ +} +.menu a.actif { + background-color: #000 ; + color: #1ABC9C ; + border-color: #1ABC9C ; +} +.menu a:hover, +.menu a:hover.actif{ + background-color: #ed2794; + color: #ffe843; + border-color: #ffe843; +} .solver{ display: flex; flex-direction: row; @@ -102,6 +137,7 @@ display: none; } + input[type=checkbox] + label:before { content: "\2714"; border: 0.1em solid #000; diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 2a9abf067..e966d04ba 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -20,39 +20,458 @@ // a commercial license. Buying such a license is mandatory as soon as // you develop activities involving the FlOpEDT/FlOpScheduler software // without disclosing the source code of your own applications. +let parameters = { + people:{ + Tutor:[ + {id:1,username:'PSE'} -var lignes = [{ - id: 8, // id de la TTC - name: "string", // nom du type de TTC - weight: 1, // poids de la TTC - is_active: true, // contrainte active ? - comment: "", // commentaire sur la TTC - last_modification: // date de création - weeks : [{nb: int , year: int},{nb: int , year: int}] // week a la forme : {nb: int , year: int} - parameters : [{ - name: string, // nom du paramètre dans la TTC - type: string, // nom du type des objets dans ce paramètre - required: boolean, // paramètre obligatoire ? - all_except: boolean // tous sauf ? - id_list: list of int, // ids des objets pour le paramètre dans la TTC - acceptable: list of int, // ids des objets acceptables comme valeur du paramètre - }] + ] + }, + base:{ + Module:[ + {id:1,abbrev:'AMN'} + + ] + } +} + +let lines = [ + { + id: 8, // id de la TTC + name: "Covoiturage", // nom du type de TTC + weight: 1, // poids de la TTC + is_active: true, // contrainte active ? + comment: "", // commentaire sur la TTC + last_modification: null, // date de création + weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} + parameters : [ + { + name: "Prof", // nom du paramètre dans la TTC + type: 'people.Tutor', // nom du type des objets dans ce paramètre + required: true, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : true, + id_list: [1], // ids des objets pour le paramètre dans la TTC + acceptable: [1,2,3,4] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "Module", // nom du paramètre dans la TTC + type: 'base.Module', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : false, + id_list: [], // ids des objets pour le paramètre dans la TTC + acceptable: [5,6,7,8] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "Eleve", // nom du paramètre dans la TTC + type: 'base.Student', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : false, + id_list: [5], // ids des objets pour le paramètre dans la TTC + acceptable: [5,6,7,8] // ids des objets acceptables comme valeur du paramètre + } + ] + }, + { + id: 9, // id de la TTC + name: "Random", // nom du type de TTC + weight: 2, // poids de la TTC + is_active: false, // contrainte active ? + comment: "", // commentaire sur la TTC + last_modification: null, // date de création + weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} + parameters : [ + { + name: "Lettre", // nom du paramètre dans la TTC + type: "str", // nom du type des objets dans ce paramètre + required: true, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : false, + id_list: ["A"], // ids des objets pour le paramètre dans la TTC + acceptable: ["A","B"] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "Nombres", // nom du paramètre dans la TTC + type: 'int', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : true, + id_list: [], // ids des objets pour le paramètre dans la TTC + acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "Eleve", // nom du paramètre dans la TTC + type: 'base.Student', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : false, + id_list: [5], // ids des objets pour le paramètre dans la TTC + acceptable: [5,6,7,8] // ids des objets acceptables comme valeur du paramètre + } + ] }, { - id: 8, // id de la TTC - name: "string", // nom du type de TTC - weight: 1, // poids de la TTC - is_active: true, // contrainte active ? - comment: "", // commentaire sur la TTC - last_modification: // date de création - weeks : [{nb: int , year: int},{nb: int , year: int}] // week a la forme : {nb: int , year: int} - parameters : [{ - name: string, // nom du paramètre dans la TTC - type: string, // nom du type des objets dans ce paramètre - required: boolean, // paramètre obligatoire ? - all_except: boolean // tous sauf ? - id_list: list of int, // ids des objets pour le paramètre dans la TTC - acceptable: list of int, // ids des objets acceptables comme valeur du paramètre - }] + id: 9, // id de la TTC + name: "Bonsoir", // nom du type de TTC + weight: 8, // poids de la TTC + is_active: true, // contrainte active ? + comment: "", // commentaire sur la TTC + last_modification: null, // date de création + weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} + parameters : [ + { + name: "Lettre", // nom du paramètre dans la TTC + type: "str", // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : false, + id_list: ["A"], // ids des objets pour le paramètre dans la TTC + acceptable: ["A","B"] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "Nombres", // nom du paramètre dans la TTC + type: 'int', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : true, + id_list: [1,7], // ids des objets pour le paramètre dans la TTC + acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "horaire", // nom du paramètre dans la TTC + type: 'int', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : true, + id_list: [], // ids des objets pour le paramètre dans la TTC + acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre + } + + ] }]; + + + +//Variables + +let nom; +let tbl = document.createElement("table"); + +let consZone = document.getElementById("Zone de contrainte"); +let tblBody = document.createElement("tbody"); +let list_info =["Type de contrainte","Paramètres","Activation","Poids"]; + // creating all cells +let parametres; + +//Boucle parcourant chaque contrainte 1 par 1 +for (let l = 0; l < lines.length; l++) { + + + + // creation d'une colonne + let row = document.createElement("tr"); + + // Bouton sélection + let select = document.createElement("td"); + let selec = document.createElement('input'); + selec.setAttribute('type', 'checkbox'); + selec.setAttribute('id', 'selection'); + selec.setAttribute('name', 'selection'); + select.appendChild(selec); + row.appendChild(select); + if (lines[l].is_active === true) { + selec.checked = true; + } + + + //Nom de la contrainte + let div_nom = document.createElement("td"); + nom = document.createTextNode(lines[l].name); + div_nom.appendChild(nom); + row.appendChild(div_nom); + +// Parametres de la contraintes + + +let para = document.createElement("td"); +let ol = document.createElement("ol"); +let p = document.createElement("p"); + //Les différents parametres existants de la ligne de contrainte + for (let k = 0; k < lines[l].parameters.length; k++) { + let btn_Possib = document.createElement('input'); + btn_Possib.setAttribute('type', 'image'); + btn_Possib.setAttribute('id', 'image_Add'); + btn_Possib.setAttribute('src', '/static/base/img/ajout.png'); + btn_Possib.setAttribute('width', '15px'); + btn_Possib.setAttribute('height', '15px'); + + let btn_Suppr = document.createElement('input'); + btn_Suppr.setAttribute('type', 'image'); + btn_Suppr.setAttribute('id', 'image_Add'); + btn_Suppr.setAttribute('src', '/static/base/img/suppression.png'); + btn_Suppr.setAttribute('width', '15px'); + btn_Suppr.setAttribute('height', '15px'); + let li = document.createElement("li"); + if(lines[l].parameters[k].id_list.length!=0){ + parametres = document.createTextNode(" "+lines[l].parameters[k].name+" "); + if(lines[l].parameters[k].required===true){ + li.appendChild(parametres); + li.appendChild(btn_Suppr); + ol.appendChild(p); + ol.appendChild(li); + }else{ + li.appendChild(btn_Possib); + li.appendChild(parametres); + li.appendChild(btn_Suppr); + ol.appendChild(p); + ol.appendChild(li); + } + } + para.appendChild(ol); + } + row.appendChild(para); + + //Bouton permettant l'affichage du menu déroulant + let ajout_Param = document.createElement("td"); + let btn = document.createElement('input'); + btn.setAttribute('type', 'image'); + btn.setAttribute('id', 'image_Add'); + btn.setAttribute('src', '/static/base/img/ajout.png'); + btn.setAttribute('width', '25px'); + btn.setAttribute('height', '25px'); + btn.setAttribute('onclick', 'hide'+l+'()'); + ajout_Param.appendChild(btn); + row.appendChild(ajout_Param); + + //Ajout de la zone permettant l'affichage du menu déroulant + let Menu = document.createElement("div"); + Menu.setAttribute('id', 'Menu'+l); + let Select = document.createElement("select"); + Select.setAttribute('id', 'ChoixP'+l); + Select.setAttribute('data-max', ''); + Select.setAttribute('multiple', 'multiple'); + Select.setAttribute('style', ''); + Menu.appendChild(Select); + ajout_Param.appendChild(Menu); + row.appendChild(ajout_Param); + + //Activation d'une ligne + let activ = document.createElement("td"); + let activate = document.createElement('input'); + activate.setAttribute('type', 'checkbox'); + activate.setAttribute('id', 'activation'); + activate.setAttribute('name', 'activation'); + activ.appendChild(activate); + row.appendChild(activ); + +// Selection du poids +let range_td = document.createElement("td"); + +let slide_div = document.createElement('div'); + slide_div.setAttribute('class','range-slider') + +let slide_btn = document.createElement('input'); + slide_btn.setAttribute('type', 'range'); + slide_btn.setAttribute('min', '1'); + slide_btn.setAttribute('max', '8'); + slide_btn.setAttribute('value', lines[l].weight); + slide_btn.setAttribute('class', 'range-slider__range'); + slide_btn.setAttribute('id', 'Weight'); + slide_btn.setAttribute('name', 'Weight'); +let spans = document.createElement("span"); + spans.setAttribute('class','range-slider__value'); + spans.textContent = lines[l].weight; + slide_div.appendChild(slide_btn); + range_td.appendChild(slide_div); + slide_div.appendChild(spans); + row.appendChild(range_td); + + + +// Duplication +let duplic = document.createElement("td"); + let btn_duplicate = document.createElement('input'); + btn_duplicate.setAttribute('type', 'image'); + btn_duplicate.setAttribute('id', 'image_duplic'); + btn_duplicate.setAttribute('src', '/static/base/img/copier-coller-1.png'); + btn_duplicate.setAttribute('width', '25px'); + btn_duplicate.setAttribute('height', '25px'); + duplic.appendChild(btn_duplicate); + row.appendChild(duplic); + + // add the row to the end of the table body + tblBody.appendChild(row); + +} + +tbl.appendChild(tblBody); +consZone.appendChild(tbl); +tbl.setAttribute("border", "1"); + + + + +//************************************************************************* +var ldd0 = document.getElementById("ChoixP0"); + + for(let j0 =0;j0 {% extends "base.html" %} +{% csrf_token %} {% load i18n %} +{% block title %} {% trans "Schedule Generation" %} {% endblock %} +{% block content %} {% load static %} -{% csrf_token %} +{% block jquery %} + + + +{% endblock %} + + + + + + +
+
+ +
+

Lignes de contraintes :

+ +
-{% block title %} {% trans "Schedule Generation" %} {% endblock %} -{% block content %} +
+
+ - - - {% endblock %} + + diff --git a/FlOpEDT/solve_board/views.py b/FlOpEDT/solve_board/views.py index 580164b82..8ff548055 100644 --- a/FlOpEDT/solve_board/views.py +++ b/FlOpEDT/solve_board/views.py @@ -174,5 +174,5 @@ def main_board(req, **kwargs): data_context = get_context(department, year=week_list[0][0], week=week_list[0][1]) view_context.update({ k:json.dumps(v) for k, v in data_context.items()}) - return TemplateResponse(req, 'solve_board/main-board.html', view_context) + return TemplateResponse(req, 'solve_board/main-board_perso.html', view_context) -- GitLab From 76368c43639736c98ec949391fac5a7cc3ec22c9 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Tue, 8 Jun 2021 10:21:03 +0200 Subject: [PATCH 04/15] ajout du css --- .../static/solve_board/solve_perso.js | 41 ++++++----------- .../solve_board/main-board_perso.html | 46 +++++++++++++++---- 2 files changed, 51 insertions(+), 36 deletions(-) diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index e966d04ba..463b4851b 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -35,12 +35,13 @@ let parameters = { } } -let lines = [ +let constraints = [ { id: 8, // id de la TTC name: "Covoiturage", // nom du type de TTC weight: 1, // poids de la TTC is_active: true, // contrainte active ? + category : 2, // Id de la catégorie comment: "", // commentaire sur la TTC last_modification: null, // date de création weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} @@ -157,13 +158,11 @@ let lines = [ //Variables -let nom; -let tbl = document.createElement("table"); + let consZone = document.getElementById("Zone de contrainte"); +let tbl = document.createElement("table"); let tblBody = document.createElement("tbody"); -let list_info =["Type de contrainte","Paramètres","Activation","Poids"]; - // creating all cells let parametres; //Boucle parcourant chaque contrainte 1 par 1 @@ -173,9 +172,12 @@ for (let l = 0; l < lines.length; l++) { // creation d'une colonne let row = document.createElement("tr"); + row.setAttribute('class','ligne_contrainte') // Bouton sélection + let select = document.createElement("td"); + select.setAttribute('class','selec_contrainte') let selec = document.createElement('input'); selec.setAttribute('type', 'checkbox'); selec.setAttribute('id', 'selection'); @@ -189,14 +191,14 @@ for (let l = 0; l < lines.length; l++) { //Nom de la contrainte let div_nom = document.createElement("td"); + div_nom.setAttribute('class','nom_contrainte'); nom = document.createTextNode(lines[l].name); div_nom.appendChild(nom); row.appendChild(div_nom); // Parametres de la contraintes - - let para = document.createElement("td"); + para.setAttribute('class','para_contrainte') let ol = document.createElement("ol"); let p = document.createElement("p"); //Les différents parametres existants de la ligne de contrainte @@ -236,6 +238,7 @@ let p = document.createElement("p"); //Bouton permettant l'affichage du menu déroulant let ajout_Param = document.createElement("td"); + ajout_Param.setAttribute('class','ajout_param'); let btn = document.createElement('input'); btn.setAttribute('type', 'image'); btn.setAttribute('id', 'image_Add'); @@ -260,6 +263,7 @@ let p = document.createElement("p"); //Activation d'une ligne let activ = document.createElement("td"); + activ.setAttribute('class','activ_contrainte'); let activate = document.createElement('input'); activate.setAttribute('type', 'checkbox'); activate.setAttribute('id', 'activation'); @@ -269,6 +273,7 @@ let p = document.createElement("p"); // Selection du poids let range_td = document.createElement("td"); + range_td.setAttribute('class','poid_contrainte'); let slide_div = document.createElement('div'); slide_div.setAttribute('class','range-slider') @@ -293,6 +298,7 @@ let spans = document.createElement("span"); // Duplication let duplic = document.createElement("td"); + duplic.setAttribute('class','duplic_contrainte'); let btn_duplicate = document.createElement('input'); btn_duplicate.setAttribute('type', 'image'); btn_duplicate.setAttribute('id', 'image_duplic'); @@ -307,9 +313,9 @@ let duplic = document.createElement("td"); } + tbl.appendChild(tblBody); consZone.appendChild(tbl); -tbl.setAttribute("border", "1"); @@ -453,25 +459,6 @@ document.getElementById("MenuOpt").style.display = "none"; } //************************************************************************* -var rangeSlider = function(){ - var slider = $('.range-slider'), - range = $('.range-slider__range'), - value = $('.range-slider__value'); - - slider.each(function(){ - - value.each(function(){ - var value = "Poids : "+$(this).prev().attr('value'); - $(this).html(value); - }); - - range.on('input', function(){ - $(this).next(value).html("Poids : "+this.value); - }); - }); -}; - -rangeSlider(); diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html index 12f311fb3..797d1a8af 100644 --- a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html +++ b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html @@ -31,21 +31,49 @@ {% block jquery %} + + {% endblock %} - - - - - - -
-
+
+
+

Actions

+
+
+
+

Gérer le poids

+
+ +
+

1--2--3--4--5--6--7--8--O

+ +
+
+
+ +
+

Type de contrainte

+

Paramètres

+

Activation

+

Poids

+
+ + +
+
+

Toutes les contraintes

+ +
+

Image + Nom de la catégorie

+
+ + + +
-

Lignes de contraintes :

-- GitLab From 9813f8923527537ddefe2e726c4c72eeee2817ad Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Tue, 8 Jun 2021 10:21:49 +0200 Subject: [PATCH 05/15] fichier static --- FlOpEDT/base/static/base/img/ajout.png | Bin 0 -> 9917 bytes .../base/static/base/img/copier-coller-1.png | Bin 0 -> 2789 bytes FlOpEDT/base/static/base/img/suppression.jpg | Bin 0 -> 195808 bytes FlOpEDT/base/static/base/img/suppression.png | Bin 0 -> 8369 bytes .../static/solve_board/easySelect.js | 308 + .../static/solve_board/easySelectStyle.css | 478 + .../static/solve_board/solve_perso.css | 273 + .../solve_board/static/solve_board/style.css | 8202 +++++++++++++++++ 8 files changed, 9261 insertions(+) create mode 100644 FlOpEDT/base/static/base/img/ajout.png create mode 100644 FlOpEDT/base/static/base/img/copier-coller-1.png create mode 100644 FlOpEDT/base/static/base/img/suppression.jpg create mode 100644 FlOpEDT/base/static/base/img/suppression.png create mode 100644 FlOpEDT/solve_board/static/solve_board/easySelect.js create mode 100644 FlOpEDT/solve_board/static/solve_board/easySelectStyle.css create mode 100644 FlOpEDT/solve_board/static/solve_board/solve_perso.css create mode 100644 FlOpEDT/solve_board/static/solve_board/style.css diff --git a/FlOpEDT/base/static/base/img/ajout.png b/FlOpEDT/base/static/base/img/ajout.png new file mode 100644 index 0000000000000000000000000000000000000000..6226473ef32e63eab9c45c927b205b83230dbc9f GIT binary patch literal 9917 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­s`>K^$d+(3&Ks^cHx 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 bul7#2o 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∋)R#kmC9Qvj&Jx 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 YUdHp>BxP>)FQeGZ$jY!)-zD+C0CIsu2><{9 literal 0 HcmV?d00001 diff --git a/FlOpEDT/solve_board/static/solve_board/easySelect.js b/FlOpEDT/solve_board/static/solve_board/easySelect.js new file mode 100644 index 000000000..8af19691c --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/easySelect.js @@ -0,0 +1,308 @@ +//The options are on the bottom + +(function ($) { + $.fn.easySelect = function (options) { + return this.each(function () { + var settings = $.extend({ + search: true, + buttons: false, + placeholder: 'Select item', + selectColor: '#414c52', + placeholderColor: '#838383', + itemTitle: 'Selected items', + showEachItem: false, + width: '100%', + dropdownMaxHeight: 'auto' + }, options); + + var $this = $(this), + + numberOfOptions = $(this).children('option').length; + + $this.addClass('s-hidden'); + + $this.wrap('
'); + var $main = $this.closest('.easySelect').css('width', settings.width); + + $this.after('
'); + + var $styledSelect = $this.next('div.styledSelect'); + + $styledSelect.text(settings.placeholder).css('color', settings.placeholderColor); + + var MaxAllowed = $this.data("max"); + + var clear = $('',{ + 'class': 'clearSelectfromDiv', + html: '×', + 'style': 'display: none', + }).prependTo($main); + + var $list = $('
    ', { + 'class': 'options' + }).insertAfter($styledSelect); + + var $divSearch = $('
    ', { + 'class': 'divSearcheasySelect', + }).appendTo($list) + if(settings.search == false){ + $divSearch.hide(); + } + + + var $divoptions = $('
    ', { + 'class': 'divOptionsesySelect', + }).appendTo($divSearch); + if(settings.buttons == false ){ + $divoptions.hide(); + } + + var $clearSpan = $('

    ', { + 'class': 'optionRow ', + text: 'Clear all', + 'id': 'clearAlleasySelect', + }).appendTo($divoptions); + + var $clear = $('', { + 'class': 'alleasySelect', + html: '×' + }).appendTo($clearSpan); + + var $selectAllspan = $('

    ', { + 'class': 'optionRow', + 'id': 'selectAlleasySelect', + text: 'Select all' + }).appendTo($divoptions); + + var $selectAll = $('', { + 'class': 'alleasySelect', + html: '✓' + }).appendTo($selectAllspan); + + var $message = $('

    ', { + 'class': 'messageMaxallowedSelections', + style: 'display:none', + text: 'You can select max ' + MaxAllowed + ' items ' + }).appendTo($divoptions); + + var $searchInput = $(' ', { + 'type': 'text', + 'class': 'searchInputeasySelect', + 'placeholder': 'Search', + }).appendTo($divSearch) + + var $maindiv = $('

    ', { + 'class': 'scrolableDiv', + }).appendTo($list); + $maindiv.css('max-height', settings.dropdownMaxHeight); + + var $hiddenli = $('
  • ', { + text: 'You can select only ' + MaxAllowed + ' items', + 'class': 'hiddenLieasySelect', + style: 'display: none' + }).appendTo($list); + + + for (var i = 0; i < numberOfOptions; i++) { + var $li = $('
  • ').appendTo($maindiv); + + var $label = $('
  • ', { + 'class': 'no_results', + text: 'No results found..', + }).appendTo($list) + $block.hide(); + var $input = $divSearch.find('input[type="text"]'); + $input.on('click',function (e) { + e.stopPropagation(); + }); + $input.on('keyuo', function () { + var val = $(this).val(); + var isMatch = false; + $listItems.find('.container-item').each(function (i) { + var content = $(this).html(); + if (content.toLowerCase().indexOf(val) == -1) { + $(this).hide(); + } else { + isMatch = true; + $(this).show(); + } + }); + $block.toggle(!isMatch); + }); + }); + } +}(jQuery)); + + $("#demo").easySelect({ + buttons: false, + search: false, + placeholder: 'Choose Country', + placeholderColor: '#524781', + selectColor: '#524781', + itemTitle: 'Countrys selected', + showEachItem: true, + width: '100%', + dropdownMaxHeight: '450px', + }) + $("#demo1").easySelect({ + buttons: false, + search: true, + placeholder: 'Choose color', + placeholderColor: 'violet', + selectColor: 'lila', + itemTitle: 'Color selected', + showEachItem: true, + width: '100%', + dropdownMaxHeight: '450px', + }) + + $("#demo3").easySelect({ + buttons: true, // + search: true, + placeholder: 'Pick Car', + placeholderColor: 'green', + selectColor: '#524781', + itemTitle: 'Car selected', + showEachItem: true, + width: '100%', + dropdownMaxHeight: '450px', + }) diff --git a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css new file mode 100644 index 000000000..676b40b20 --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css @@ -0,0 +1,478 @@ +.s-hidden { + visibility: hidden; + padding-right: 10px; +} + + +.easySelect { + font-size: 0.8rem !important; + cursor: default; + display: block; + /*make dropdown width */ + position: relative; + font-family: Arial, Helvetica, sans-serif; + color: #414c52; + border: 1px solid #cbcbcb !important; + border-radius: 3px; + height: 33px; +} + +.styledSelect { + border-radius: 0.2rem; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding-left: 8px; + padding-top: 5px; + font-weight: 400 !important; + color: #414c52; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding-right: 15% +} + +.clearSelectfromDiv { + float: right; + margin-right: 35px; + font-size: 22px; + cursor: pointer; + position: relative; + top: -2px; + z-index: 4; + color: #414c52; +} + +.clearSelectfromDiv:hover { + color: rgba(65, 76, 82, 0.76); +} + +.styledSelect:after { + content: ""; + width: 0; + height: 0; + border: 5px solid transparent; + border-color: #414c52 transparent transparent transparent; + position: absolute; + top: 15px; + right: 8px; +} + +.styledSelect:active, +.styledSelect.active { + background-color: #fafafa; +} + +.options { + display: none; + position: absolute; + top: 100%; + right: 0; + left: 0; + z-index: 999; + margin: 3px 0; + padding: 3px 0 0 0px; + list-style: none; + border: 1px solid #cbcbcb !important; + background-color: white; + border-radius: 0.2rem; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); + width: 100% +} + +.scrolableDiv { + overflow: auto +} + +.divSearcheasySelect { + border-bottom: 1px solid #cbcbcb !important; +} + +.options li { + margin: auto; + max-width: 100% !important; + font-size: 0.6rem !important; + font-family: Arial, Helvetica, sans-serif; + font-weight: 500; + overflow: hidden +} + +.options li:hover { + background-color: #f1f1fc; +} + +.container-item { + display: flex; + align-items: center; + position: relative; + margin: 0px; + width: auto !important; + cursor: pointer; + font-size: 0.8rem; + padding: 0.25rem 0px 0.25rem 33px !important; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} + +.container-item>input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.checkmark { + position: absolute; + margin-left: 3px; + left: 5px; + width: 1rem; + height: 1rem; + background-color: white; + border-radius: 3px; + border: #adb5bd solid 1px; +} + +.container input:checked~.checkmark { + background-color: white; + border-color: #3490dc; +} + + +.checkmark:after { + content: ""; + position: absolute; + display: none; + +} + +.container-item input:checked~.checkmark:after { + display: block; + +} + +.container-item .checkmark:after { + left: 5px; + top: 1px; + width: 4.5px; + height: 10px; + border: 2px solid #1720ff; + border-width: 0 2px 2px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + +} + +.divSearcheasySelect { + padding-right: 12px; + padding-left: 7px; + padding-top: 4px; + padding-bottom: 7px; + overflow: hidden; +} + +.optionRow { + margin: -4px 0px 8px 0px; + border-radius: 3px; + font-size: 11.5px; + text-align: left; + font-weight: 600; + color: #414c52; + display: block ruby; +} + +#clearAlleasySelect { + margin-right: 20px +} + +#selectAlleasySelect { + margin-right: 20px +} + +.optionRow:hover { + color: rgba(65, 76, 82, 0.81); +} + +.optionRow .alleasySelect { + font-size: 13px; + margin: 2px auto auto 4px; +} + +.divSearcheasySelect .searchInputeasySelect { + width: 100%; + margin-right: auto; + + border: 1px solid #ced4da; + height: 30px; + background-color: white !important; + + text-indent: 8px; + border-radius: 0.2rem; +} + +.divSearcheasySelect .searchInputeasySelect::-ms-input-placeholder { + color: #6c757d !important; +} + +.divSearcheasySelect .searchInputeasySelect::-moz-placeholder { + color: #6c757d !important; +} + +.divSearcheasySelect .searchInputeasySelect::placeholder { + color: #6c757d !important; +} + +.divSearcheasySelect .searchInputeasySelect:focus { + color: #495057; + background-color: #fff; + border-color: var(--info) !important; + outline: 0; + box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.16); + -webkit-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.16); +} + +.divOptionsesySelect>p { + display: inline-block +} + +.messageMaxallowedSelections { + padding: 0px !important; + font-size: 12px; + font-weight: bold; + margin: auto; + color: #838383 +} + +.hiddenLieasySelect { + text-align: center; + padding: 4px 4px 6px 0px; + background-color: #f3f6f9; +} + +li.hiddenLieasySelect { + font-size: 12px !important; + font-weight: 600 +} + +.options>.hiddenLieasySelect:hover { + background: none !important; + cursor: context-menu; +} + +li.no_results { + padding: 6px; + font-size: 12px !important; + font-weight: 600 +} + +.range-slider{ + width: 100%; /* Width of the outside container */ +} + +/* The slider itself */ +.range-slider__range { + -webkit-appearance: none; /* Override default CSS styles */ + appearance: none; + width: 100%; /* Full-width */ + height: 25px; /* Specified height */ + background: #a9a9a9; /* Grey background */ + outline: none; /* Remove outline */ + opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */ + -webkit-transition: .2s; /* 0.2 seconds transition on hover */ + transition: opacity .2s; +} + +/* Mouse-over effects */ +.range-slider__range:hover { + opacity: 1; /* Fully shown on mouse-over */ +} + +/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */ +.range-slider__range::-webkit-slider-thumb { + -webkit-appearance: none; /* Override default look */ + appearance: none; + width: 25px; /* Set a specific slider handle width */ + height: 25px; /* Slider handle height */ + background: #04AA6D; /* Green background */ + cursor: pointer; /* Cursor on hover */ +} + +.range-slider__range::-moz-range-thumb { + width: 25px; /* Set a specific slider handle width */ + height: 25px; /* Slider handle height */ + background: #04AA6D; /* Green background */ + cursor: pointer; /* Cursor on hover */ +} + + #conteneurGeneral + { + display: flex; + width: 81%; + flex-wrap: wrap; + margin-top: 3%; + margin-left: 15%; + + position: -webkit-sticky; + position: sticky; + top: 10px; + + background-color: grey; + } + + .elementGeneral + { + padding-top: 10px; + padding-bottom: 10px; + } + + .elementGeneral:nth-child(1) + { + width: 18.5%; + text-align: right; + + padding-right: 5%; + border-right: 1px black solid; + } + + .elementGeneral:nth-child(2) + { + width: 48%; + text-align: center; + + border-right: 1px black solid; + } + + .elementGeneral:nth-child(3) + { + width: 5%; + text-align: center; + + border-right: 1px black solid; + } + + .elementGeneral:nth-child(4) + { + width: 18.3%; + + padding-left: 5%; + } + + +#conteneurCategorie + { + display: flex; + flex-wrap: wrap; + width: 81%; + + margin-left: 15%; + } + + .elementCategorie:nth-child(1) + { + text-align: right; + padding-right: 1%; + padding-top: 1%; + width: 2%; + border-bottom: 2px grey solid; + } + + .elementCategorie:nth-child(2) + { + width: 97%; + border-bottom: 2px grey solid; + } + + .elementCategorie:nth-child(3) + { + text-align: right; + padding-right: 1%; + padding-top: 1%; + width: 4%; + border-bottom: 2px grey solid; + } + + .elementCategorie:nth-child(4) + { + width: 95%; + border-bottom: 2px grey solid; + } + + + +table { + width: 70%; +} + + +tr:hover + { + background-color: grey; + } + + + +.ligne_contrainte { + display: flex; + flex-wrap: wrap; + width: 100%; + border-bottom: 1px grey solid; +} +.selec_contrainte { + width: 6%; + padding-top: 1.5%; + padding-right: 1%; + text-align: right; +} + +.nom_contrainte { + width: 16%; + overflow: auto; + padding-top: 0.6%; + padding-left: 1%; + padding-right: 1%; +} + +.para_contrainte { + width: 46%; + overflow: auto; + padding-left: 1%; + padding-right: 1%; + padding-bottom: 0.5%; + display: flex; + flex-wrap: wrap; +} + + +.ajout_param{ + padding-left: 1%; + padding-right: 1%; + margin-top: 5%; + margin-bottom: 6%; +} + +.activ_contrainte{ + width: 5.2%; + text-align: center; + padding-top: 1.5%; +} + +.poid_contrainte{ + width: 14%; + padding-top: 1.5%; + padding-left: 1%; +} + +.duplic_contrainte{ + width: 8%; + text-align: center; + padding-top: 1.5%; + +} \ No newline at end of file diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.css b/FlOpEDT/solve_board/static/solve_board/solve_perso.css new file mode 100644 index 000000000..338a27c57 --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.css @@ -0,0 +1,273 @@ +/* This file is part of the FlOpEDT/FlOpScheduler project. */ +/* Copyright (c) 2017 */ +/* Authors: Iulian Ober, Paul Renaud-Goud, Pablo Seban, et al. */ +/* */ +/* This program is free software: you can redistribute it and/or modify */ +/* it under the terms of the GNU Affero General Public License as */ +/* published by the Free Software Foundation, either version 3 of the */ +/* License, or (at your option) any later version. */ +/* */ +/* This program is distributed in the hope that it will be useful, but */ +/* WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ +/* Affero General Public License for more details. */ +/* */ +/* You should have received a copy of the GNU Affero General Public */ +/* License along with this program. If not, see */ +/* . */ +/* */ +/* You can be released from the requirements of the license by purchasing */ +/* a commercial license. Buying such a license is mandatory as soon as */ +/* you develop activities involving the FlOpEDT/FlOpScheduler software */ +/* without disclosing the source code of your own applications. */ + + #conteneurGeneral + { + display: flex; + width: 81%; + flex-wrap: wrap; + margin-top: 3%; + margin-left: 15%; + + position: -webkit-sticky; + position: sticky; + top: 10px; + + background-color: grey; + } + + .elementGeneral + { + padding-top: 10px; + padding-bottom: 10px; + } + + .elementGeneral:nth-child(1) + { + width: 18.5%; + text-align: right; + + padding-right: 5%; + border-right: 1px black solid; + } + + .elementGeneral:nth-child(2) + { + width: 48%; + text-align: center; + + border-right: 1px black solid; + } + + .elementGeneral:nth-child(3) + { + width: 5%; + text-align: center; + + border-right: 1px black solid; + } + + .elementGeneral:nth-child(4) + { + width: 18.3%; + + padding-left: 5%; + } + + #conteneurCategorie + { + display: flex; + flex-wrap: wrap; + width: 81%; + + margin-left: 15%; + } + + .elementCategorie:nth-child(1) + { + text-align: right; + padding-right: 1%; + padding-top: 1%; + width: 2%; + border-bottom: 2px grey solid; + } + + .elementCategorie:nth-child(2) + { + width: 97%; + border-bottom: 2px grey solid; + } + + .elementCategorie:nth-child(3) + { + text-align: right; + padding-right: 1%; + padding-top: 1%; + width: 4%; + border-bottom: 2px grey solid; + } + + .elementCategorie:nth-child(4) + { + width: 95%; + border-bottom: 2px grey solid; + } + + + + + #conteneurLigne + { + display: flex; + flex-wrap: wrap; + + margin-left: 15%; + width: 81%; + border-bottom: 1px grey solid; + } + + #conteneurLigne:hover + { + background-color: grey; + } + + .elementLigne:nth-child(1) + { + width: 6%; + + padding-top: 1.5%; + padding-right: 1%; + text-align: right; + } + + .elementLigne:nth-child(2) + { + width: 14.5%; + overflow: auto; + + padding-top: 0.6%; + padding-left: 1%; + padding-right: 1%; + } + + .elementLigne:nth-child(3) + { + width: 46%; + overflow: auto; + + padding-left: 1%; + padding-right: 1%; + padding-bottom: 0.5%; + display: flex; + flex-wrap: wrap; + } + + .caseParam + { + padding-left: 1%; + padding-right: 1%; + width: 16%; + text-align: center; + } + + #caseBoutonAjoutParam + { + padding-left: 1%; + padding-right: 1%; + margin-top: 5%; + margin-bottom: 6%; + } + + #boutonAjoutParametre + { + background-color: lime; + } + + .elementLigne:nth-child(4) + { + width: 5.2%; + text-align: center; + + padding-top: 1.5%; + } + + .elementLigne:nth-child(5) + { + width: 14%; + padding-top: 1.5%; + padding-left: 1%; + } + + .elementLigne:nth-child(6) + { + width: 8%; + text-align: center; + padding-top: 1.5%; + } + + #labelPoids + { + padding-left: 3%; + } + + #conteneurOptions + { + position: fixed; + background-color: grey; + width: 13.5%; + } + + + + #tableauOptions + { + display: flex; + flex-wrap: wrap; + border: 2px black solid; + } + + .elementTableauOptions:nth-child(1) + { + text-align: center; + border-bottom: 1px black solid; + } + + .elementTableauOptions:nth-child(2) + { + text-align: center; + border-bottom: 1px black solid; + padding-top: 5%; + padding-bottom: 5%; + } + + .elementTableauOptions:nth-child(3) + { + text-align: center; + border-bottom: 1px black solid; + padding-top: 5%; + padding-bottom: 5%; + } + + .elementTableauOptions:nth-child(4) + { + text-align: center; + border-bottom: 1px black solid; + padding-top: 3%; + padding-bottom: 5%; + } + + #boutonSupprimer + { + background-color: red; + } + + #boutonValiderPoidsOption + { + background-color: lime; + } + + #remplissage + { + margin-left: 15%; + margin-right: 5%; + } diff --git a/FlOpEDT/solve_board/static/solve_board/style.css b/FlOpEDT/solve_board/static/solve_board/style.css new file mode 100644 index 000000000..226a98aa1 --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/style.css @@ -0,0 +1,8202 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } + +*, +*::before, +*::after { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { + display: block; } + +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; } + +[tabindex="-1"]:focus { + outline: 0 !important; } + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + height: 0; + overflow: visible; } + +h1, h2, h3, h4, h5, h6 { + margin-top: 0; + margin-bottom: 0.5rem; } + +p { + margin-top: 0; + margin-bottom: 1rem; } + +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + border-bottom: 0; + text-decoration-skip-ink: none; } + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; } + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } + +dt { + font-weight: 700; } + +dd { + margin-bottom: .5rem; + margin-left: 0; } + +blockquote { + margin: 0 0 1rem; } + +b, +strong { + font-weight: bolder; } + +small { + font-size: 80%; } + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; } + +sub { + bottom: -.25em; } + +sup { + top: -.5em; } + +a { + color: #007bff; + text-decoration: none; + background-color: transparent; } + a:hover { + color: #0056b3; + text-decoration: underline; } + +a:not([href]):not([tabindex]) { + color: inherit; + text-decoration: none; } + a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { + color: inherit; + text-decoration: none; } + a:not([href]):not([tabindex]):focus { + outline: 0; } + +pre, +code, +kbd, +samp { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + font-size: 1em; } + +pre { + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; } + +figure { + margin: 0 0 1rem; } + +img { + vertical-align: middle; + border-style: none; } + +svg { + overflow: hidden; + vertical-align: middle; } + +table { + border-collapse: collapse; } + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #6c757d; + text-align: left; + caption-side: bottom; } + +th { + text-align: inherit; } + +label { + display: inline-block; + margin-bottom: 0.5rem; } + +button { + border-radius: 0; } + +button:focus { + outline: 1px dotted; + outline: 5px auto -webkit-focus-ring-color; } + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +button, +input { + overflow: visible; } + +button, +select { + text-transform: none; } + +select { + word-wrap: normal; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + +button:not(:disabled), +[type="button"]:not(:disabled), +[type="reset"]:not(:disabled), +[type="submit"]:not(:disabled) { + cursor: pointer; } + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + padding: 0; + border-style: none; } + +input[type="radio"], +input[type="checkbox"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0; } + +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + -webkit-appearance: listbox; } + +textarea { + overflow: auto; + resize: vertical; } + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; } + +legend { + display: block; + width: 100%; + max-width: 100%; + padding: 0; + margin-bottom: .5rem; + font-size: 1.5rem; + line-height: inherit; + color: inherit; + white-space: normal; } + +progress { + vertical-align: baseline; } + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; } + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: none; } + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; } + +output { + display: inline-block; } + +summary { + display: list-item; + cursor: pointer; } + +template { + display: none; } + +[hidden] { + display: none !important; } + +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; } + +h1, .h1 { + font-size: 2.5rem; } + +h2, .h2 { + font-size: 2rem; } + +h3, .h3 { + font-size: 1.75rem; } + +h4, .h4 { + font-size: 1.5rem; } + +h5, .h5 { + font-size: 1.25rem; } + +h6, .h6 { + font-size: 1rem; } + +.lead { + font-size: 1.25rem; + font-weight: 300; } + +.display-1 { + font-size: 6rem; + font-weight: 300; + line-height: 1.2; } + +.display-2 { + font-size: 5.5rem; + font-weight: 300; + line-height: 1.2; } + +.display-3 { + font-size: 4.5rem; + font-weight: 300; + line-height: 1.2; } + +.display-4 { + font-size: 3.5rem; + font-weight: 300; + line-height: 1.2; } + +hr { + margin-top: 1rem; + margin-bottom: 1rem; + border: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); } + +small, +.small { + font-size: 80%; + font-weight: 400; } + +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; } + +.list-unstyled { + padding-left: 0; + list-style: none; } + +.list-inline { + padding-left: 0; + list-style: none; } + +.list-inline-item { + display: inline-block; } + .list-inline-item:not(:last-child) { + margin-right: 0.5rem; } + +.initialism { + font-size: 90%; + text-transform: uppercase; } + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; } + +.blockquote-footer { + display: block; + font-size: 80%; + color: #6c757d; } + .blockquote-footer::before { + content: "\2014\00A0"; } + +.img-fluid { + max-width: 100%; + height: auto; } + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; } + +.figure { + display: inline-block; } + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; } + +.figure-caption { + font-size: 90%; + color: #6c757d; } + +code { + font-size: 87.5%; + color: #e83e8c; + word-break: break-word; } + a > code { + color: inherit; } + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; } + kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; } + +pre { + display: block; + font-size: 87.5%; + color: #212529; } + pre code { + font-size: inherit; + color: inherit; + word-break: normal; } + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } + +.container { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } + @media (min-width: 576px) { + .container { + max-width: 540px; } } + @media (min-width: 768px) { + .container { + max-width: 720px; } } + @media (min-width: 992px) { + .container { + max-width: 960px; } } + @media (min-width: 1200px) { + .container { + max-width: 1140px; } } + +.container-fluid { + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; } + +.row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; } + +.no-gutters { + margin-right: 0; + margin-left: 0; } + .no-gutters > .col, + .no-gutters > [class*="col-"] { + padding-right: 0; + padding-left: 0; } + +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, +.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, +.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, +.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, +.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, +.col-xl-auto { + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; } + +.col { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } + +.col-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; } + +.col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + +.col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + +.col-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + +.col-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + +.col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + +.col-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + +.col-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + +.col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + +.col-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + +.col-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + +.col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + +.col-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + +.order-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } + +.order-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; } + +.order-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; } + +.order-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } + +.order-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } + +.order-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } + +.order-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } + +.order-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } + +.order-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } + +.order-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } + +.order-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } + +.order-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } + +.order-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } + +.order-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } + +.order-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } + +.offset-1 { + margin-left: 8.33333%; } + +.offset-2 { + margin-left: 16.66667%; } + +.offset-3 { + margin-left: 25%; } + +.offset-4 { + margin-left: 33.33333%; } + +.offset-5 { + margin-left: 41.66667%; } + +.offset-6 { + margin-left: 50%; } + +.offset-7 { + margin-left: 58.33333%; } + +.offset-8 { + margin-left: 66.66667%; } + +.offset-9 { + margin-left: 75%; } + +.offset-10 { + margin-left: 83.33333%; } + +.offset-11 { + margin-left: 91.66667%; } + +@media (min-width: 576px) { + .col-sm { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } + .col-sm-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-sm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-sm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-sm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-sm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-sm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-sm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-sm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .order-sm-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } + .order-sm-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; } + .order-sm-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; } + .order-sm-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } + .order-sm-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } + .order-sm-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } + .order-sm-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } + .order-sm-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } + .order-sm-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } + .order-sm-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } + .order-sm-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } + .order-sm-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } + .order-sm-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } + .order-sm-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } + .order-sm-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } + .offset-sm-0 { + margin-left: 0; } + .offset-sm-1 { + margin-left: 8.33333%; } + .offset-sm-2 { + margin-left: 16.66667%; } + .offset-sm-3 { + margin-left: 25%; } + .offset-sm-4 { + margin-left: 33.33333%; } + .offset-sm-5 { + margin-left: 41.66667%; } + .offset-sm-6 { + margin-left: 50%; } + .offset-sm-7 { + margin-left: 58.33333%; } + .offset-sm-8 { + margin-left: 66.66667%; } + .offset-sm-9 { + margin-left: 75%; } + .offset-sm-10 { + margin-left: 83.33333%; } + .offset-sm-11 { + margin-left: 91.66667%; } } + +@media (min-width: 768px) { + .col-md { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } + .col-md-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-md-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-md-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-md-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-md-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-md-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-md-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-md-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .order-md-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } + .order-md-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; } + .order-md-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; } + .order-md-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } + .order-md-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } + .order-md-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } + .order-md-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } + .order-md-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } + .order-md-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } + .order-md-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } + .order-md-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } + .order-md-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } + .order-md-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } + .order-md-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } + .order-md-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } + .offset-md-0 { + margin-left: 0; } + .offset-md-1 { + margin-left: 8.33333%; } + .offset-md-2 { + margin-left: 16.66667%; } + .offset-md-3 { + margin-left: 25%; } + .offset-md-4 { + margin-left: 33.33333%; } + .offset-md-5 { + margin-left: 41.66667%; } + .offset-md-6 { + margin-left: 50%; } + .offset-md-7 { + margin-left: 58.33333%; } + .offset-md-8 { + margin-left: 66.66667%; } + .offset-md-9 { + margin-left: 75%; } + .offset-md-10 { + margin-left: 83.33333%; } + .offset-md-11 { + margin-left: 91.66667%; } } + +@media (min-width: 992px) { + .col-lg { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } + .col-lg-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-lg-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-lg-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-lg-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-lg-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-lg-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-lg-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-lg-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .order-lg-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } + .order-lg-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; } + .order-lg-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; } + .order-lg-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } + .order-lg-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } + .order-lg-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } + .order-lg-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } + .order-lg-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } + .order-lg-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } + .order-lg-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } + .order-lg-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } + .order-lg-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } + .order-lg-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } + .order-lg-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } + .order-lg-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } + .offset-lg-0 { + margin-left: 0; } + .offset-lg-1 { + margin-left: 8.33333%; } + .offset-lg-2 { + margin-left: 16.66667%; } + .offset-lg-3 { + margin-left: 25%; } + .offset-lg-4 { + margin-left: 33.33333%; } + .offset-lg-5 { + margin-left: 41.66667%; } + .offset-lg-6 { + margin-left: 50%; } + .offset-lg-7 { + margin-left: 58.33333%; } + .offset-lg-8 { + margin-left: 66.66667%; } + .offset-lg-9 { + margin-left: 75%; } + .offset-lg-10 { + margin-left: 83.33333%; } + .offset-lg-11 { + margin-left: 91.66667%; } } + +@media (min-width: 1200px) { + .col-xl { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 100%; } + .col-xl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; + max-width: 100%; } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 8.33333%; + flex: 0 0 8.33333%; + max-width: 8.33333%; } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 16.66667%; + flex: 0 0 16.66667%; + max-width: 16.66667%; } + .col-xl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 25%; + flex: 0 0 25%; + max-width: 25%; } + .col-xl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.33333%; + flex: 0 0 33.33333%; + max-width: 33.33333%; } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 41.66667%; + flex: 0 0 41.66667%; + max-width: 41.66667%; } + .col-xl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; } + .col-xl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 58.33333%; + flex: 0 0 58.33333%; + max-width: 58.33333%; } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 66.66667%; + flex: 0 0 66.66667%; + max-width: 66.66667%; } + .col-xl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 75%; + flex: 0 0 75%; + max-width: 75%; } + .col-xl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 83.33333%; + flex: 0 0 83.33333%; + max-width: 83.33333%; } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 91.66667%; + flex: 0 0 91.66667%; + max-width: 91.66667%; } + .col-xl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; } + .order-xl-first { + -webkit-box-ordinal-group: 0; + -ms-flex-order: -1; + order: -1; } + .order-xl-last { + -webkit-box-ordinal-group: 14; + -ms-flex-order: 13; + order: 13; } + .order-xl-0 { + -webkit-box-ordinal-group: 1; + -ms-flex-order: 0; + order: 0; } + .order-xl-1 { + -webkit-box-ordinal-group: 2; + -ms-flex-order: 1; + order: 1; } + .order-xl-2 { + -webkit-box-ordinal-group: 3; + -ms-flex-order: 2; + order: 2; } + .order-xl-3 { + -webkit-box-ordinal-group: 4; + -ms-flex-order: 3; + order: 3; } + .order-xl-4 { + -webkit-box-ordinal-group: 5; + -ms-flex-order: 4; + order: 4; } + .order-xl-5 { + -webkit-box-ordinal-group: 6; + -ms-flex-order: 5; + order: 5; } + .order-xl-6 { + -webkit-box-ordinal-group: 7; + -ms-flex-order: 6; + order: 6; } + .order-xl-7 { + -webkit-box-ordinal-group: 8; + -ms-flex-order: 7; + order: 7; } + .order-xl-8 { + -webkit-box-ordinal-group: 9; + -ms-flex-order: 8; + order: 8; } + .order-xl-9 { + -webkit-box-ordinal-group: 10; + -ms-flex-order: 9; + order: 9; } + .order-xl-10 { + -webkit-box-ordinal-group: 11; + -ms-flex-order: 10; + order: 10; } + .order-xl-11 { + -webkit-box-ordinal-group: 12; + -ms-flex-order: 11; + order: 11; } + .order-xl-12 { + -webkit-box-ordinal-group: 13; + -ms-flex-order: 12; + order: 12; } + .offset-xl-0 { + margin-left: 0; } + .offset-xl-1 { + margin-left: 8.33333%; } + .offset-xl-2 { + margin-left: 16.66667%; } + .offset-xl-3 { + margin-left: 25%; } + .offset-xl-4 { + margin-left: 33.33333%; } + .offset-xl-5 { + margin-left: 41.66667%; } + .offset-xl-6 { + margin-left: 50%; } + .offset-xl-7 { + margin-left: 58.33333%; } + .offset-xl-8 { + margin-left: 66.66667%; } + .offset-xl-9 { + margin-left: 75%; } + .offset-xl-10 { + margin-left: 83.33333%; } + .offset-xl-11 { + margin-left: 91.66667%; } } + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; } + .table th, + .table td { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid #dee2e6; } + .table thead th { + vertical-align: bottom; + border-bottom: 2px solid #dee2e6; } + .table tbody + tbody { + border-top: 2px solid #dee2e6; } + +.table-sm th, +.table-sm td { + padding: 0.3rem; } + +.table-bordered { + border: 1px solid #dee2e6; } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6; } + .table-bordered thead th, + .table-bordered thead td { + border-bottom-width: 2px; } + +.table-borderless th, +.table-borderless td, +.table-borderless thead th, +.table-borderless tbody + tbody { + border: 0; } + +.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(0, 0, 0, 0.05); } + +.table-hover tbody tr:hover { + color: #212529; + background-color: rgba(0, 0, 0, 0.075); } + +.table-primary, +.table-primary > th, +.table-primary > td { + background-color: #b8daff; } + +.table-primary th, +.table-primary td, +.table-primary thead th, +.table-primary tbody + tbody { + border-color: #7abaff; } + +.table-hover .table-primary:hover { + background-color: #9fcdff; } + .table-hover .table-primary:hover > td, + .table-hover .table-primary:hover > th { + background-color: #9fcdff; } + +.table-secondary, +.table-secondary > th, +.table-secondary > td { + background-color: #d6d8db; } + +.table-secondary th, +.table-secondary td, +.table-secondary thead th, +.table-secondary tbody + tbody { + border-color: #b3b7bb; } + +.table-hover .table-secondary:hover { + background-color: #c8cbcf; } + .table-hover .table-secondary:hover > td, + .table-hover .table-secondary:hover > th { + background-color: #c8cbcf; } + +.table-success, +.table-success > th, +.table-success > td { + background-color: #c3e6cb; } + +.table-success th, +.table-success td, +.table-success thead th, +.table-success tbody + tbody { + border-color: #8fd19e; } + +.table-hover .table-success:hover { + background-color: #b1dfbb; } + .table-hover .table-success:hover > td, + .table-hover .table-success:hover > th { + background-color: #b1dfbb; } + +.table-info, +.table-info > th, +.table-info > td { + background-color: #bee5eb; } + +.table-info th, +.table-info td, +.table-info thead th, +.table-info tbody + tbody { + border-color: #86cfda; } + +.table-hover .table-info:hover { + background-color: #abdde5; } + .table-hover .table-info:hover > td, + .table-hover .table-info:hover > th { + background-color: #abdde5; } + +.table-warning, +.table-warning > th, +.table-warning > td { + background-color: #ffeeba; } + +.table-warning th, +.table-warning td, +.table-warning thead th, +.table-warning tbody + tbody { + border-color: #ffdf7e; } + +.table-hover .table-warning:hover { + background-color: #ffe8a1; } + .table-hover .table-warning:hover > td, + .table-hover .table-warning:hover > th { + background-color: #ffe8a1; } + +.table-danger, +.table-danger > th, +.table-danger > td { + background-color: #f5c6cb; } + +.table-danger th, +.table-danger td, +.table-danger thead th, +.table-danger tbody + tbody { + border-color: #ed969e; } + +.table-hover .table-danger:hover { + background-color: #f1b0b7; } + .table-hover .table-danger:hover > td, + .table-hover .table-danger:hover > th { + background-color: #f1b0b7; } + +.table-light, +.table-light > th, +.table-light > td { + background-color: #fdfdfe; } + +.table-light th, +.table-light td, +.table-light thead th, +.table-light tbody + tbody { + border-color: #fbfcfc; } + +.table-hover .table-light:hover { + background-color: #ececf6; } + .table-hover .table-light:hover > td, + .table-hover .table-light:hover > th { + background-color: #ececf6; } + +.table-dark, +.table-dark > th, +.table-dark > td { + background-color: #c6c8ca; } + +.table-dark th, +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { + border-color: #95999c; } + +.table-hover .table-dark:hover { + background-color: #b9bbbe; } + .table-hover .table-dark:hover > td, + .table-hover .table-dark:hover > th { + background-color: #b9bbbe; } + +.table-active, +.table-active > th, +.table-active > td { + background-color: rgba(0, 0, 0, 0.075); } + +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); } + .table-hover .table-active:hover > td, + .table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); } + +.table .thead-dark th { + color: #fff; + background-color: #343a40; + border-color: #454d55; } + +.table .thead-light th { + color: #495057; + background-color: #e9ecef; + border-color: #dee2e6; } + +.table-dark { + color: #fff; + background-color: #343a40; } + .table-dark th, + .table-dark td, + .table-dark thead th { + border-color: #454d55; } + .table-dark.table-bordered { + border: 0; } + .table-dark.table-striped tbody tr:nth-of-type(odd) { + background-color: rgba(255, 255, 255, 0.05); } + .table-dark.table-hover tbody tr:hover { + color: #fff; + background-color: rgba(255, 255, 255, 0.075); } + +@media (max-width: 575.98px) { + .table-responsive-sm { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-sm > .table-bordered { + border: 0; } } + +@media (max-width: 767.98px) { + .table-responsive-md { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-md > .table-bordered { + border: 0; } } + +@media (max-width: 991.98px) { + .table-responsive-lg { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-lg > .table-bordered { + border: 0; } } + +@media (max-width: 1199.98px) { + .table-responsive-xl { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive-xl > .table-bordered { + border: 0; } } + +.table-responsive { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; } + .table-responsive > .table-bordered { + border: 0; } + +.form-control { + display: block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-control { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .form-control::-ms-expand { + background-color: transparent; + border: 0; } + .form-control:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .form-control::-webkit-input-placeholder { + color: #6c757d; + opacity: 1; } + .form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; } + .form-control::-ms-input-placeholder { + color: #6c757d; + opacity: 1; } + .form-control::placeholder { + color: #6c757d; + opacity: 1; } + .form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; } + +select.form-control:focus::-ms-value { + color: #495057; + background-color: #fff; } + +.form-control-file, +.form-control-range { + display: block; + width: 100%; } + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; } + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; + line-height: 1.5; } + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; + line-height: 1.5; } + +.form-control-plaintext { + display: block; + width: 100%; + padding-top: 0.375rem; + padding-bottom: 0.375rem; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; } + .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; } + +.form-control-sm { + height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + +.form-control-lg { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +select.form-control[size], select.form-control[multiple] { + height: auto; } + +textarea.form-control { + height: auto; } + +.form-group { + margin-bottom: 1rem; } + +.form-text { + display: block; + margin-top: 0.25rem; } + +.form-row { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -5px; + margin-left: -5px; } + .form-row > .col, + .form-row > [class*="col-"] { + padding-right: 5px; + padding-left: 5px; } + +.form-check { + position: relative; + display: block; + padding-left: 1.25rem; } + +.form-check-input { + position: absolute; + margin-top: 0.3rem; + margin-left: -1.25rem; } + .form-check-input:disabled ~ .form-check-label { + color: #6c757d; } + +.form-check-label { + margin-bottom: 0; } + +.form-check-inline { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding-left: 0; + margin-right: 0.75rem; } + .form-check-inline .form-check-input { + position: static; + margin-top: 0; + margin-right: 0.3125rem; + margin-left: 0; } + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #28a745; } + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(40, 167, 69, 0.9); + border-radius: 0.25rem; } + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #28a745; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #28a745; + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } + .was-validated .form-control:valid ~ .valid-feedback, + .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, + .form-control.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + +.was-validated .custom-select:valid, .custom-select.is-valid { + border-color: #28a745; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { + border-color: #28a745; + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } + .was-validated .custom-select:valid ~ .valid-feedback, + .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, + .custom-select.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .form-control-file:valid ~ .valid-feedback, +.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, +.form-control-file.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #28a745; } + +.was-validated .form-check-input:valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, +.form-check-input.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { + color: #28a745; } + .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { + border-color: #28a745; } + +.was-validated .custom-control-input:valid ~ .valid-feedback, +.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, +.custom-control-input.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { + border-color: #34ce57; + background-color: #34ce57; } + +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } + +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #28a745; } + +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { + border-color: #28a745; } + +.was-validated .custom-file-input:valid ~ .valid-feedback, +.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, +.custom-file-input.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { + border-color: #28a745; + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 80%; + color: #dc3545; } + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: .1rem; + font-size: 0.875rem; + line-height: 1.5; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; } + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); + background-repeat: no-repeat; + background-position: center right calc(0.375em + 0.1875rem); + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } + .was-validated .form-control:invalid ~ .invalid-feedback, + .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, + .form-control.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } + +.was-validated .custom-select:invalid, .custom-select.is-invalid { + border-color: #dc3545; + padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } + .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { + border-color: #dc3545; + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } + .was-validated .custom-select:invalid ~ .invalid-feedback, + .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, + .custom-select.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .form-control-file:invalid ~ .invalid-feedback, +.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, +.form-control-file.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; } + +.was-validated .form-check-input:invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, +.form-check-input.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { + color: #dc3545; } + .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { + border-color: #dc3545; } + +.was-validated .custom-control-input:invalid ~ .invalid-feedback, +.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, +.custom-control-input.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { + border-color: #e4606d; + background-color: #e4606d; } + +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } + +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { + border-color: #dc3545; } + +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { + border-color: #dc3545; } + +.was-validated .custom-file-input:invalid ~ .invalid-feedback, +.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, +.custom-file-input.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { + border-color: #dc3545; + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } + +.form-inline { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } + .form-inline .form-check { + width: 100%; } + @media (min-width: 576px) { + .form-inline label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + margin-bottom: 0; } + .form-inline .form-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin-bottom: 0; } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; } + .form-inline .form-control-plaintext { + display: inline-block; } + .form-inline .input-group, + .form-inline .custom-select { + width: auto; } + .form-inline .form-check { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: auto; + padding-left: 0; } + .form-inline .form-check-input { + position: relative; + -ms-flex-negative: 0; + flex-shrink: 0; + margin-top: 0; + margin-right: 0.25rem; + margin-left: 0; } + .form-inline .custom-control { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; } + .form-inline .custom-control-label { + margin-bottom: 0; } } + +.btn { + display: inline-block; + font-weight: 400; + color: #212529; + text-align: center; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + line-height: 1.5; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .btn { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .btn:hover { + color: #212529; + text-decoration: none; } + .btn:focus, .btn.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .btn.disabled, .btn:disabled { + opacity: 0.65; } + +a.btn.disabled, +fieldset:disabled a.btn { + pointer-events: none; } + +.btn-primary { + color: #fff; + background-color: #007bff; + border-color: #007bff; } + .btn-primary:hover { + color: #fff; + background-color: #0069d9; + border-color: #0062cc; } + .btn-primary:focus, .btn-primary.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); } + .btn-primary.disabled, .btn-primary:disabled { + color: #fff; + background-color: #007bff; + border-color: #007bff; } + .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, + .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0062cc; + border-color: #005cbf; } + .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, + .show > .btn-primary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); } + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; } + .btn-secondary:hover { + color: #fff; + background-color: #5a6268; + border-color: #545b62; } + .btn-secondary:focus, .btn-secondary.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } + .btn-secondary.disabled, .btn-secondary:disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; } + .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, + .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #545b62; + border-color: #4e555b; } + .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, + .show > .btn-secondary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); + box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } + +.btn-success { + color: #fff; + background-color: #28a745; + border-color: #28a745; } + .btn-success:hover { + color: #fff; + background-color: #218838; + border-color: #1e7e34; } + .btn-success:focus, .btn-success.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); } + .btn-success.disabled, .btn-success:disabled { + color: #fff; + background-color: #28a745; + border-color: #28a745; } + .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, + .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #1e7e34; + border-color: #1c7430; } + .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, + .show > .btn-success.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); + box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); } + +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; } + .btn-info:hover { + color: #fff; + background-color: #138496; + border-color: #117a8b; } + .btn-info:focus, .btn-info.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); } + .btn-info.disabled, .btn-info:disabled { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; } + .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, + .show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #117a8b; + border-color: #10707f; } + .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, + .show > .btn-info.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); + box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); } + +.btn-warning { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; } + .btn-warning:hover { + color: #212529; + background-color: #e0a800; + border-color: #d39e00; } + .btn-warning:focus, .btn-warning.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); } + .btn-warning.disabled, .btn-warning:disabled { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; } + .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, + .show > .btn-warning.dropdown-toggle { + color: #212529; + background-color: #d39e00; + border-color: #c69500; } + .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, + .show > .btn-warning.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); + box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); } + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; } + .btn-danger:hover { + color: #fff; + background-color: #c82333; + border-color: #bd2130; } + .btn-danger:focus, .btn-danger.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); } + .btn-danger.disabled, .btn-danger:disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; } + .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, + .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #bd2130; + border-color: #b21f2d; } + .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, + .show > .btn-danger.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); + box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); } + +.btn-light { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + .btn-light:hover { + color: #212529; + background-color: #e2e6ea; + border-color: #dae0e5; } + .btn-light:focus, .btn-light.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } + .btn-light.disabled, .btn-light:disabled { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, + .show > .btn-light.dropdown-toggle { + color: #212529; + background-color: #dae0e5; + border-color: #d3d9df; } + .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, + .show > .btn-light.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); + box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-dark:hover { + color: #fff; + background-color: #23272b; + border-color: #1d2124; } + .btn-dark:focus, .btn-dark.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } + .btn-dark.disabled, .btn-dark:disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, + .show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1d2124; + border-color: #171a1d; } + .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, + .show > .btn-dark.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); + box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } + +.btn-outline-primary { + color: #007bff; + border-color: #007bff; } + .btn-outline-primary:hover { + color: #fff; + background-color: #007bff; + border-color: #007bff; } + .btn-outline-primary:focus, .btn-outline-primary.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } + .btn-outline-primary.disabled, .btn-outline-primary:disabled { + color: #007bff; + background-color: transparent; } + .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, + .show > .btn-outline-primary.dropdown-toggle { + color: #fff; + background-color: #007bff; + border-color: #007bff; } + .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-primary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; } + .btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; } + .btn-outline-secondary:focus, .btn-outline-secondary.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } + .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { + color: #6c757d; + background-color: transparent; } + .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, + .show > .btn-outline-secondary.dropdown-toggle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; } + .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-secondary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } + +.btn-outline-success { + color: #28a745; + border-color: #28a745; } + .btn-outline-success:hover { + color: #fff; + background-color: #28a745; + border-color: #28a745; } + .btn-outline-success:focus, .btn-outline-success.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + .btn-outline-success.disabled, .btn-outline-success:disabled { + color: #28a745; + background-color: transparent; } + .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, + .show > .btn-outline-success.dropdown-toggle { + color: #fff; + background-color: #28a745; + border-color: #28a745; } + .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-success.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + +.btn-outline-info { + color: #17a2b8; + border-color: #17a2b8; } + .btn-outline-info:hover { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; } + .btn-outline-info:focus, .btn-outline-info.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + .btn-outline-info.disabled, .btn-outline-info:disabled { + color: #17a2b8; + background-color: transparent; } + .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, + .show > .btn-outline-info.dropdown-toggle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; } + .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-info.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; } + .btn-outline-warning:hover { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; } + .btn-outline-warning:focus, .btn-outline-warning.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + .btn-outline-warning.disabled, .btn-outline-warning:disabled { + color: #ffc107; + background-color: transparent; } + .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, + .show > .btn-outline-warning.dropdown-toggle { + color: #212529; + background-color: #ffc107; + border-color: #ffc107; } + .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-warning.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; } + .btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; } + .btn-outline-danger:focus, .btn-outline-danger.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + .btn-outline-danger.disabled, .btn-outline-danger:disabled { + color: #dc3545; + background-color: transparent; } + .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, + .show > .btn-outline-danger.dropdown-toggle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; } + .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-danger.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; } + .btn-outline-light:hover { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + .btn-outline-light:focus, .btn-outline-light.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } + .btn-outline-light.disabled, .btn-outline-light:disabled { + color: #f8f9fa; + background-color: transparent; } + .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, + .show > .btn-outline-light.dropdown-toggle { + color: #212529; + background-color: #f8f9fa; + border-color: #f8f9fa; } + .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-light.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; } + .btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-outline-dark:focus, .btn-outline-dark.focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } + .btn-outline-dark.disabled, .btn-outline-dark:disabled { + color: #343a40; + background-color: transparent; } + .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, + .show > .btn-outline-dark.dropdown-toggle { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, + .show > .btn-outline-dark.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } + +.btn-link { + font-weight: 400; + color: #007bff; + text-decoration: none; } + .btn-link:hover { + color: #0056b3; + text-decoration: underline; } + .btn-link:focus, .btn-link.focus { + text-decoration: underline; + -webkit-box-shadow: none; + box-shadow: none; } + .btn-link:disabled, .btn-link.disabled { + color: #6c757d; + pointer-events: none; } + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + +.btn-block { + display: block; + width: 100%; } + .btn-block + .btn-block { + margin-top: 0.5rem; } + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; } + +.fade { + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } + @media (prefers-reduced-motion: reduce) { + .fade { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .fade:not(.show) { + opacity: 0; } + +.collapse:not(.show) { + display: none; } + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; } + @media (prefers-reduced-motion: reduce) { + .collapsing { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + +.dropup, +.dropright, +.dropdown, +.dropleft { + position: relative; } + +.dropdown-toggle { + white-space: nowrap; } + .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; } + .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0.125rem 0 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; } + +.dropdown-menu-left { + right: auto; + left: 0; } + +.dropdown-menu-right { + right: 0; + left: auto; } + +@media (min-width: 576px) { + .dropdown-menu-sm-left { + right: auto; + left: 0; } + .dropdown-menu-sm-right { + right: 0; + left: auto; } } + +@media (min-width: 768px) { + .dropdown-menu-md-left { + right: auto; + left: 0; } + .dropdown-menu-md-right { + right: 0; + left: auto; } } + +@media (min-width: 992px) { + .dropdown-menu-lg-left { + right: auto; + left: 0; } + .dropdown-menu-lg-right { + right: 0; + left: auto; } } + +@media (min-width: 1200px) { + .dropdown-menu-xl-left { + right: auto; + left: 0; } + .dropdown-menu-xl-right { + right: 0; + left: auto; } } + +.dropup .dropdown-menu { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; } + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; } + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropright .dropdown-menu { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; } + +.dropright .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; } + +.dropright .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropright .dropdown-toggle::after { + vertical-align: 0; } + +.dropleft .dropdown-menu { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; } + +.dropleft .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; } + +.dropleft .dropdown-toggle::after { + display: none; } + +.dropleft .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; } + +.dropleft .dropdown-toggle:empty::after { + margin-left: 0; } + +.dropleft .dropdown-toggle::before { + vertical-align: 0; } + +.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { + right: auto; + bottom: auto; } + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e9ecef; } + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1.5rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; } + .dropdown-item:hover, .dropdown-item:focus { + color: #16181b; + text-decoration: none; + background-color: #f8f9fa; } + .dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #007bff; } + .dropdown-item.disabled, .dropdown-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: transparent; } + +.dropdown-menu.show { + display: block; } + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; } + +.dropdown-item-text { + display: block; + padding: 0.25rem 1.5rem; + color: #212529; } + +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + .btn-group > .btn:hover, + .btn-group-vertical > .btn:hover { + z-index: 1; } + .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 1; } + +.btn-toolbar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .btn-toolbar .input-group { + width: auto; } + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; } + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; } + .dropdown-toggle-split::after, + .dropup .dropdown-toggle-split::after, + .dropright .dropdown-toggle-split::after { + margin-left: 0; } + .dropleft .dropdown-toggle-split::before { + margin-right: 0; } + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } + +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; } + .btn-group-vertical > .btn, + .btn-group-vertical > .btn-group { + width: 100%; } + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; } + .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), + .btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.btn-group-toggle > .btn, +.btn-group-toggle > .btn-group > .btn { + margin-bottom: 0; } + .btn-group-toggle > .btn input[type="radio"], + .btn-group-toggle > .btn input[type="checkbox"], + .btn-group-toggle > .btn-group > .btn input[type="radio"], + .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; } + +.input-group { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; } + .input-group > .form-control, + .input-group > .form-control-plaintext, + .input-group > .custom-select, + .input-group > .custom-file { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + margin-bottom: 0; } + .input-group > .form-control + .form-control, + .input-group > .form-control + .custom-select, + .input-group > .form-control + .custom-file, + .input-group > .form-control-plaintext + .form-control, + .input-group > .form-control-plaintext + .custom-select, + .input-group > .form-control-plaintext + .custom-file, + .input-group > .custom-select + .form-control, + .input-group > .custom-select + .custom-select, + .input-group > .custom-select + .custom-file, + .input-group > .custom-file + .form-control, + .input-group > .custom-file + .custom-select, + .input-group > .custom-file + .custom-file { + margin-left: -1px; } + .input-group > .form-control:focus, + .input-group > .custom-select:focus, + .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { + z-index: 3; } + .input-group > .custom-file .custom-file-input:focus { + z-index: 4; } + .input-group > .form-control:not(:last-child), + .input-group > .custom-select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .input-group > .form-control:not(:first-child), + .input-group > .custom-select:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .input-group > .custom-file { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } + .input-group > .custom-file:not(:last-child) .custom-file-label, + .input-group > .custom-file:not(:last-child) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.input-group-prepend, +.input-group-append { + display: -webkit-box; + display: -ms-flexbox; + display: flex; } + .input-group-prepend .btn, + .input-group-append .btn { + position: relative; + z-index: 2; } + .input-group-prepend .btn:focus, + .input-group-append .btn:focus { + z-index: 3; } + .input-group-prepend .btn + .btn, + .input-group-prepend .btn + .input-group-text, + .input-group-prepend .input-group-text + .input-group-text, + .input-group-prepend .input-group-text + .btn, + .input-group-append .btn + .btn, + .input-group-append .btn + .input-group-text, + .input-group-append .input-group-text + .input-group-text, + .input-group-append .input-group-text + .btn { + margin-left: -1px; } + +.input-group-prepend { + margin-right: -1px; } + +.input-group-append { + margin-left: -1px; } + +.input-group-text { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0.375rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; } + .input-group-text input[type="radio"], + .input-group-text input[type="checkbox"] { + margin-top: 0; } + +.input-group-lg > .form-control:not(textarea), +.input-group-lg > .custom-select { + height: calc(1.5em + 1rem + 2px); } + +.input-group-lg > .form-control, +.input-group-lg > .custom-select, +.input-group-lg > .input-group-prepend > .input-group-text, +.input-group-lg > .input-group-append > .input-group-text, +.input-group-lg > .input-group-prepend > .btn, +.input-group-lg > .input-group-append > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; } + +.input-group-sm > .form-control:not(textarea), +.input-group-sm > .custom-select { + height: calc(1.5em + 0.5rem + 2px); } + +.input-group-sm > .form-control, +.input-group-sm > .custom-select, +.input-group-sm > .input-group-prepend > .input-group-text, +.input-group-sm > .input-group-append > .input-group-text, +.input-group-sm > .input-group-prepend > .btn, +.input-group-sm > .input-group-append > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; } + +.input-group-lg > .custom-select, +.input-group-sm > .custom-select { + padding-right: 1.75rem; } + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.custom-control { + position: relative; + display: block; + min-height: 1.5rem; + padding-left: 1.5rem; } + +.custom-control-inline { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + margin-right: 1rem; } + +.custom-control-input { + position: absolute; + z-index: -1; + opacity: 0; } + .custom-control-input:checked ~ .custom-control-label::before { + color: #fff; + border-color: #007bff; + background-color: #007bff; } + .custom-control-input:focus ~ .custom-control-label::before { + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { + border-color: #80bdff; } + .custom-control-input:not(:disabled):active ~ .custom-control-label::before { + color: #fff; + background-color: #b3d7ff; + border-color: #b3d7ff; } + .custom-control-input:disabled ~ .custom-control-label { + color: #6c757d; } + .custom-control-input:disabled ~ .custom-control-label::before { + background-color: #e9ecef; } + +.custom-control-label { + position: relative; + margin-bottom: 0; + vertical-align: top; } + .custom-control-label::before { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + pointer-events: none; + content: ""; + background-color: #fff; + border: #adb5bd solid 1px; } + .custom-control-label::after { + position: absolute; + top: 0.25rem; + left: -1.5rem; + display: block; + width: 1rem; + height: 1rem; + content: ""; + background: no-repeat 50% / 50% 50%; } + +.custom-checkbox .custom-control-label::before { + border-radius: 0.25rem; } + +.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); } + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { + border-color: #007bff; + background-color: #007bff; } + +.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } + +.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); } + +.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); } + +.custom-radio .custom-control-label::before { + border-radius: 50%; } + +.custom-radio .custom-control-input:checked ~ .custom-control-label::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } + +.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); } + +.custom-switch { + padding-left: 2.25rem; } + .custom-switch .custom-control-label::before { + left: -2.25rem; + width: 1.75rem; + pointer-events: all; + border-radius: 0.5rem; } + .custom-switch .custom-control-label::after { + top: calc(0.25rem + 2px); + left: calc(-2.25rem + 2px); + width: calc(1rem - 4px); + height: calc(1rem - 4px); + background-color: #adb5bd; + border-radius: 0.5rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .custom-switch .custom-control-label::after { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .custom-switch .custom-control-input:checked ~ .custom-control-label::after { + background-color: #fff; + -webkit-transform: translateX(0.75rem); + -ms-transform: translateX(0.75rem); + transform: translateX(0.75rem); } + .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); } + +.custom-select { + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 1.75rem 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + vertical-align: middle; + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + .custom-select:focus { + border-color: #80bdff; + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .custom-select:focus::-ms-value { + color: #495057; + background-color: #fff; } + .custom-select[multiple], .custom-select[size]:not([size="1"]) { + height: auto; + padding-right: 0.75rem; + background-image: none; } + .custom-select:disabled { + color: #6c757d; + background-color: #e9ecef; } + .custom-select::-ms-expand { + display: none; } + +.custom-select-sm { + height: calc(1.5em + 0.5rem + 2px); + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; } + +.custom-select-lg { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; } + +.custom-file { + position: relative; + display: inline-block; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin-bottom: 0; } + +.custom-file-input { + position: relative; + z-index: 2; + width: 100%; + height: calc(1.5em + 0.75rem + 2px); + margin: 0; + opacity: 0; } + .custom-file-input:focus ~ .custom-file-label { + border-color: #80bdff; + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .custom-file-input:disabled ~ .custom-file-label { + background-color: #e9ecef; } + .custom-file-input:lang(en) ~ .custom-file-label::after { + content: "Browse"; } + .custom-file-input ~ .custom-file-label[data-browse]::after { + content: attr(data-browse); } + +.custom-file-label { + position: absolute; + top: 0; + right: 0; + left: 0; + z-index: 1; + height: calc(1.5em + 0.75rem + 2px); + padding: 0.375rem 0.75rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + border: 1px solid #ced4da; + border-radius: 0.25rem; } + .custom-file-label::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + z-index: 3; + display: block; + height: calc(1.5em + 0.75rem); + padding: 0.375rem 0.75rem; + line-height: 1.5; + color: #495057; + content: "Browse"; + background-color: #e9ecef; + border-left: inherit; + border-radius: 0 0.25rem 0.25rem 0; } + +.custom-range { + width: 100%; + height: calc(1rem + 0.4rem); + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + .custom-range:focus { + outline: none; } + .custom-range:focus::-webkit-slider-thumb { + -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .custom-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .custom-range:focus::-ms-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + .custom-range::-moz-focus-outer { + border: 0; } + .custom-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .custom-range::-webkit-slider-thumb { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .custom-range::-webkit-slider-thumb:active { + background-color: #b3d7ff; } + .custom-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; } + .custom-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .custom-range::-moz-range-thumb { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .custom-range::-moz-range-thumb:active { + background-color: #b3d7ff; } + .custom-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; } + .custom-range::-ms-thumb { + width: 1rem; + height: 1rem; + margin-top: 0; + margin-right: 0.2rem; + margin-left: 0.2rem; + background-color: #007bff; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .custom-range::-ms-thumb { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .custom-range::-ms-thumb:active { + background-color: #b3d7ff; } + .custom-range::-ms-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: transparent; + border-color: transparent; + border-width: 0.5rem; } + .custom-range::-ms-fill-lower { + background-color: #dee2e6; + border-radius: 1rem; } + .custom-range::-ms-fill-upper { + margin-right: 15px; + background-color: #dee2e6; + border-radius: 1rem; } + .custom-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; } + .custom-range:disabled::-webkit-slider-runnable-track { + cursor: default; } + .custom-range:disabled::-moz-range-thumb { + background-color: #adb5bd; } + .custom-range:disabled::-moz-range-track { + cursor: default; } + .custom-range:disabled::-ms-thumb { + background-color: #adb5bd; } + +.custom-control-label::before, +.custom-file-label, +.custom-select { + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .custom-control-label::before, + .custom-file-label, + .custom-select { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + +.nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + +.nav-link { + display: block; + padding: 0.5rem 1rem; } + .nav-link:hover, .nav-link:focus { + text-decoration: none; } + .nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; } + +.nav-tabs { + border-bottom: 1px solid #dee2e6; } + .nav-tabs .nav-item { + margin-bottom: -1px; } + .nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; } + .nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; } + .nav-tabs .nav-link.active, + .nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; } + .nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.nav-pills .nav-link { + border-radius: 0.25rem; } + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #007bff; } + +.nav-fill .nav-item { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; } + +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + text-align: center; } + +.tab-content > .tab-pane { + display: none; } + +.tab-content > .active { + display: block; } + +.navbar { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 0.5rem 1rem; } + .navbar > .container, + .navbar > .container-fluid { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; } + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; } + .navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; } + +.navbar-nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + .navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; } + .navbar-nav .dropdown-menu { + position: static; + float: none; } + +.navbar-text { + display: inline-block; + padding-top: 0.5rem; + padding-bottom: 0.5rem; } + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; } + .navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; } + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; } + +@media (max-width: 575.98px) { + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 576px) { + .navbar-expand-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-sm > .container, + .navbar-expand-sm > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-sm .navbar-toggler { + display: none; } } + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 768px) { + .navbar-expand-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-md .navbar-toggler { + display: none; } } + +@media (max-width: 991.98px) { + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 992px) { + .navbar-expand-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-lg > .container, + .navbar-expand-lg > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-lg .navbar-toggler { + display: none; } } + +@media (max-width: 1199.98px) { + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + padding-right: 0; + padding-left: 0; } } + +@media (min-width: 1200px) { + .navbar-expand-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-xl > .container, + .navbar-expand-xl > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-xl .navbar-toggler { + display: none; } } + +.navbar-expand { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand > .container, + .navbar-expand > .container-fluid { + padding-right: 0; + padding-left: 0; } + .navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand > .container, + .navbar-expand > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; } + .navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand .navbar-toggler { + display: none; } + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); } + .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); } + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.5); } + .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); } + .navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); } + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .active > .nav-link, +.navbar-light .navbar-nav .nav-link.show, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); } + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.5); + border-color: rgba(0, 0, 0, 0.1); } + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.5); } + .navbar-light .navbar-text a { + color: rgba(0, 0, 0, 0.9); } + .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); } + +.navbar-dark .navbar-brand { + color: #fff; } + .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; } + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); } + .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); } + .navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); } + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; } + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); } + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); } + .navbar-dark .navbar-text a { + color: #fff; } + .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: #fff; } + +.card { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; } + .card > hr { + margin-right: 0; + margin-left: 0; } + .card > .list-group:first-child .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .card > .list-group:last-child .list-group-item:last-child { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +.card-body { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem; } + +.card-title { + margin-bottom: 0.75rem; } + +.card-subtitle { + margin-top: -0.375rem; + margin-bottom: 0; } + +.card-text:last-child { + margin-bottom: 0; } + +.card-link:hover { + text-decoration: none; } + +.card-link + .card-link { + margin-left: 1.25rem; } + +.card-header { + padding: 0.75rem 1.25rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); } + .card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } + .card-header + .list-group .list-group-item:first-child { + border-top: 0; } + +.card-footer { + padding: 0.75rem 1.25rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); } + .card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -0.75rem; + margin-left: -0.625rem; + border-bottom: 0; } + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; } + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1.25rem; } + +.card-img { + width: 100%; + border-radius: calc(0.25rem - 1px); } + +.card-img-top { + width: 100%; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + +.card-img-bottom { + width: 100%; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + +.card-deck { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; } + .card-deck .card { + margin-bottom: 15px; } + @media (min-width: 576px) { + .card-deck { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin-right: -15px; + margin-left: -15px; } + .card-deck .card { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin-right: 15px; + margin-bottom: 0; + margin-left: 15px; } } + +.card-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; } + .card-group > .card { + margin-bottom: 15px; } + @media (min-width: 576px) { + .card-group { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .card-group > .card { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; } } + +.card-columns .card { + margin-bottom: 0.75rem; } + +@media (min-width: 576px) { + .card-columns { + -webkit-column-count: 3; + column-count: 3; + -webkit-column-gap: 1.25rem; + column-gap: 1.25rem; + orphans: 1; + widows: 1; } + .card-columns .card { + display: inline-block; + width: 100%; } } + +.accordion > .card { + overflow: hidden; } + .accordion > .card:not(:first-of-type) .card-header:first-child { + border-radius: 0; } + .accordion > .card:not(:first-of-type):not(:last-of-type) { + border-bottom: 0; + border-radius: 0; } + .accordion > .card:first-of-type { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .accordion > .card:last-of-type { + border-top-left-radius: 0; + border-top-right-radius: 0; } + .accordion > .card .card-header { + margin-bottom: -1px; } + +.breadcrumb { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; } + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; } + .breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; } + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; } + +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; } + +.breadcrumb-item.active { + color: #6c757d; } + +.pagination { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; + border-radius: 0.25rem; } + +.page-link { + position: relative; + display: block; + padding: 0.5rem 0.75rem; + margin-left: -1px; + line-height: 1.25; + color: #007bff; + background-color: #fff; + border: 1px solid #dee2e6; } + .page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #e9ecef; + border-color: #dee2e6; } + .page-link:focus { + z-index: 2; + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } + +.page-item:first-child .page-link { + margin-left: 0; + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } + +.page-item.active .page-link { + z-index: 1; + color: #fff; + background-color: #007bff; + border-color: #007bff; } + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + cursor: auto; + background-color: #fff; + border-color: #dee2e6; } + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; + line-height: 1.5; } + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; } + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; } + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; } + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; } + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; } + +.badge { + display: inline-block; + padding: 0.25em 0.4em; + font-size: 75%; + font-weight: 700; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .badge { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + a.badge:hover, a.badge:focus { + text-decoration: none; } + .badge:empty { + display: none; } + +.btn .badge { + position: relative; + top: -1px; } + +.badge-pill { + padding-right: 0.6em; + padding-left: 0.6em; + border-radius: 10rem; } + +.badge-primary { + color: #fff; + background-color: #007bff; } + a.badge-primary:hover, a.badge-primary:focus { + color: #fff; + background-color: #0062cc; } + a.badge-primary:focus, a.badge-primary.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } + +.badge-secondary { + color: #fff; + background-color: #6c757d; } + a.badge-secondary:hover, a.badge-secondary:focus { + color: #fff; + background-color: #545b62; } + a.badge-secondary:focus, a.badge-secondary.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } + +.badge-success { + color: #fff; + background-color: #28a745; } + a.badge-success:hover, a.badge-success:focus { + color: #fff; + background-color: #1e7e34; } + a.badge-success:focus, a.badge-success.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } + +.badge-info { + color: #fff; + background-color: #17a2b8; } + a.badge-info:hover, a.badge-info:focus { + color: #fff; + background-color: #117a8b; } + a.badge-info:focus, a.badge-info.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } + +.badge-warning { + color: #212529; + background-color: #ffc107; } + a.badge-warning:hover, a.badge-warning:focus { + color: #212529; + background-color: #d39e00; } + a.badge-warning:focus, a.badge-warning.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } + +.badge-danger { + color: #fff; + background-color: #dc3545; } + a.badge-danger:hover, a.badge-danger:focus { + color: #fff; + background-color: #bd2130; } + a.badge-danger:focus, a.badge-danger.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } + +.badge-light { + color: #212529; + background-color: #f8f9fa; } + a.badge-light:hover, a.badge-light:focus { + color: #212529; + background-color: #dae0e5; } + a.badge-light:focus, a.badge-light.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } + +.badge-dark { + color: #fff; + background-color: #343a40; } + a.badge-dark:hover, a.badge-dark:focus { + color: #fff; + background-color: #1d2124; } + a.badge-dark:focus, a.badge-dark.focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } + +.jumbotron { + padding: 2rem 1rem; + margin-bottom: 2rem; + background-color: #e9ecef; + border-radius: 0.3rem; } + @media (min-width: 576px) { + .jumbotron { + padding: 4rem 2rem; } } + +.jumbotron-fluid { + padding-right: 0; + padding-left: 0; + border-radius: 0; } + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; } + +.alert-heading { + color: inherit; } + +.alert-link { + font-weight: 700; } + +.alert-dismissible { + padding-right: 4rem; } + .alert-dismissible .close { + position: absolute; + top: 0; + right: 0; + padding: 0.75rem 1.25rem; + color: inherit; } + +.alert-primary { + color: #004085; + background-color: #cce5ff; + border-color: #b8daff; } + .alert-primary hr { + border-top-color: #9fcdff; } + .alert-primary .alert-link { + color: #002752; } + +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; } + .alert-secondary hr { + border-top-color: #c8cbcf; } + .alert-secondary .alert-link { + color: #202326; } + +.alert-success { + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; } + .alert-success hr { + border-top-color: #b1dfbb; } + .alert-success .alert-link { + color: #0b2e13; } + +.alert-info { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; } + .alert-info hr { + border-top-color: #abdde5; } + .alert-info .alert-link { + color: #062c33; } + +.alert-warning { + color: #856404; + background-color: #fff3cd; + border-color: #ffeeba; } + .alert-warning hr { + border-top-color: #ffe8a1; } + .alert-warning .alert-link { + color: #533f03; } + +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; } + .alert-danger hr { + border-top-color: #f1b0b7; } + .alert-danger .alert-link { + color: #491217; } + +.alert-light { + color: #818182; + background-color: #fefefe; + border-color: #fdfdfe; } + .alert-light hr { + border-top-color: #ececf6; } + .alert-light .alert-link { + color: #686868; } + +.alert-dark { + color: #1b1e21; + background-color: #d6d8d9; + border-color: #c6c8ca; } + .alert-dark hr { + border-top-color: #b9bbbe; } + .alert-dark .alert-link { + color: #040505; } + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 1rem 0; } + to { + background-position: 0 0; } } + +@keyframes progress-bar-stripes { + from { + background-position: 1rem 0; } + to { + background-position: 0 0; } } + +.progress { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; } + +.progress-bar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #007bff; + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .progress-bar { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; } + +.progress-bar-animated { + -webkit-animation: progress-bar-stripes 1s linear infinite; + animation: progress-bar-stripes 1s linear infinite; } + @media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; } } + +.media { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; } + +.media-body { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; } + +.list-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; } + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; } + .list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; } + .list-group-item-action:active { + color: #212529; + background-color: #e9ecef; } + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); } + .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + .list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; } + .list-group-item.active { + z-index: 2; + color: #fff; + background-color: #007bff; + border-color: #007bff; } + +.list-group-horizontal { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; } + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-sm .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-sm .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-sm .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; } } + +@media (min-width: 768px) { + .list-group-horizontal-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-md .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-md .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-md .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; } } + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-lg .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-lg .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-lg .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; } } + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-xl .list-group-item { + margin-right: -1px; + margin-bottom: 0; } + .list-group-horizontal-xl .list-group-item:first-child { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-xl .list-group-item:last-child { + margin-right: 0; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0; } } + +.list-group-flush .list-group-item { + border-right: 0; + border-left: 0; + border-radius: 0; } + .list-group-flush .list-group-item:last-child { + margin-bottom: -1px; } + +.list-group-flush:first-child .list-group-item:first-child { + border-top: 0; } + +.list-group-flush:last-child .list-group-item:last-child { + margin-bottom: 0; + border-bottom: 0; } + +.list-group-item-primary { + color: #004085; + background-color: #b8daff; } + .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #004085; + background-color: #9fcdff; } + .list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #004085; + border-color: #004085; } + +.list-group-item-secondary { + color: #383d41; + background-color: #d6d8db; } + .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #383d41; + background-color: #c8cbcf; } + .list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #383d41; + border-color: #383d41; } + +.list-group-item-success { + color: #155724; + background-color: #c3e6cb; } + .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #155724; + background-color: #b1dfbb; } + .list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #155724; + border-color: #155724; } + +.list-group-item-info { + color: #0c5460; + background-color: #bee5eb; } + .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #0c5460; + background-color: #abdde5; } + .list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #0c5460; + border-color: #0c5460; } + +.list-group-item-warning { + color: #856404; + background-color: #ffeeba; } + .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #856404; + background-color: #ffe8a1; } + .list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #856404; + border-color: #856404; } + +.list-group-item-danger { + color: #721c24; + background-color: #f5c6cb; } + .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #721c24; + background-color: #f1b0b7; } + .list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #721c24; + border-color: #721c24; } + +.list-group-item-light { + color: #818182; + background-color: #fdfdfe; } + .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #818182; + background-color: #ececf6; } + .list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #818182; + border-color: #818182; } + +.list-group-item-dark { + color: #1b1e21; + background-color: #c6c8ca; } + .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1b1e21; + background-color: #b9bbbe; } + .list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1b1e21; + border-color: #1b1e21; } + +.close { + float: right; + font-size: 1.5rem; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + opacity: .5; } + .close:hover { + color: #000; + text-decoration: none; } + .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { + opacity: .75; } + +button.close { + padding: 0; + background-color: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + +a.close.disabled { + pointer-events: none; } + +.toast { + max-width: 350px; + overflow: hidden; + font-size: 0.875rem; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); + -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(10px); + opacity: 0; + border-radius: 0.25rem; } + .toast:not(:last-child) { + margin-bottom: 0.75rem; } + .toast.showing { + opacity: 1; } + .toast.show { + display: block; + opacity: 1; } + .toast.hide { + display: none; } + +.toast-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0.25rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); } + +.toast-body { + padding: 0.75rem; } + +.modal-open { + overflow: hidden; } + .modal-open .modal { + overflow-x: hidden; + overflow-y: auto; } + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + display: none; + width: 100%; + height: 100%; + overflow: hidden; + outline: 0; } + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; } + .modal.fade .modal-dialog { + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + -o-transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + -ms-transform: translate(0, -50px); + transform: translate(0, -50px); } + @media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .modal.show .modal-dialog { + -webkit-transform: none; + -ms-transform: none; + transform: none; } + +.modal-dialog-scrollable { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + max-height: calc(100% - 1rem); } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 1rem); + overflow: hidden; } + .modal-dialog-scrollable .modal-header, + .modal-dialog-scrollable .modal-footer { + -ms-flex-negative: 0; + flex-shrink: 0; } + .modal-dialog-scrollable .modal-body { + overflow-y: auto; } + +.modal-dialog-centered { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); } + .modal-dialog-centered::before { + display: block; + height: calc(100vh - 1rem); + content: ""; } + .modal-dialog-centered.modal-dialog-scrollable { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + height: 100%; } + .modal-dialog-centered.modal-dialog-scrollable .modal-content { + max-height: none; } + .modal-dialog-centered.modal-dialog-scrollable::before { + content: none; } + +.modal-content { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; } + .modal-backdrop.show { + opacity: 0.5; } + +.modal-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: 0.3rem; + border-top-right-radius: 0.3rem; } + .modal-header .close { + padding: 1rem 1rem; + margin: -1rem -1rem -1rem auto; } + +.modal-title { + margin-bottom: 0; + line-height: 1.5; } + +.modal-body { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; } + +.modal-footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 1rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; } + .modal-footer > :not(:first-child) { + margin-left: .25rem; } + .modal-footer > :not(:last-child) { + margin-right: .25rem; } + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; } + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; } + .modal-dialog-scrollable { + max-height: calc(100% - 3.5rem); } + .modal-dialog-scrollable .modal-content { + max-height: calc(100vh - 3.5rem); } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); } + .modal-dialog-centered::before { + height: calc(100vh - 3.5rem); } + .modal-sm { + max-width: 300px; } } + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; } } + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; } } + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; } + .tooltip.show { + opacity: 0.9; } + .tooltip .arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; } + .tooltip .arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; } + +.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { + padding: 0.4rem 0; } + .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { + bottom: 0; } + .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { + top: 0; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; } + +.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { + padding: 0 0.4rem; } + .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; } + .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { + right: 0; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; } + +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { + padding: 0.4rem 0; } + .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { + top: 0; } + .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { + bottom: 0; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; } + +.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { + padding: 0 0.4rem; } + .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; } + .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { + left: 0; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; } + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; } + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: block; + max-width: 276px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; } + .popover .arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; + margin: 0 0.3rem; } + .popover .arrow::before, .popover .arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; } + +.bs-popover-top, .bs-popover-auto[x-placement^="top"] { + margin-bottom: 0.5rem; } + .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { + bottom: calc((0.5rem + 1px) * -1); } + .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); } + .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; } + +.bs-popover-right, .bs-popover-auto[x-placement^="right"] { + margin-left: 0.5rem; } + .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { + left: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } + .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); } + .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; } + +.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { + margin-top: 0.5rem; } + .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { + top: calc((0.5rem + 1px) * -1); } + .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); } + .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; } + .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f7f7f7; } + +.bs-popover-left, .bs-popover-auto[x-placement^="left"] { + margin-right: 0.5rem; } + .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { + right: calc((0.5rem + 1px) * -1); + width: 0.5rem; + height: 1rem; + margin: 0.3rem 0; } + .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); } + .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; } + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); } + .popover-header:empty { + display: none; } + +.popover-body { + padding: 0.5rem 0.75rem; + color: #212529; } + +.carousel { + position: relative; } + +.carousel.pointer-event { + -ms-touch-action: pan-y; + touch-action: pan-y; } + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; } + .carousel-inner::after { + display: block; + clear: both; + content: ""; } + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: -webkit-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + -o-transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .carousel-item { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; } + +.carousel-item-next:not(.carousel-item-left), +.active.carousel-item-right { + -webkit-transform: translateX(100%); + -ms-transform: translateX(100%); + transform: translateX(100%); } + +.carousel-item-prev:not(.carousel-item-right), +.active.carousel-item-left { + -webkit-transform: translateX(-100%); + -ms-transform: translateX(-100%); + transform: translateX(-100%); } + +.carousel-fade .carousel-item { + opacity: 0; + -webkit-transition-property: opacity; + -o-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + -ms-transform: none; + transform: none; } + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-left, +.carousel-fade .carousel-item-prev.carousel-item-right { + z-index: 1; + opacity: 1; } + +.carousel-fade .active.carousel-item-left, +.carousel-fade .active.carousel-item-right { + z-index: 0; + opacity: 0; + -webkit-transition: 0s 0.6s opacity; + -o-transition: 0s 0.6s opacity; + transition: 0s 0.6s opacity; } + @media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-left, + .carousel-fade .active.carousel-item-right { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + color: #fff; + text-align: center; + opacity: 0.5; + -webkit-transition: opacity 0.15s ease; + -o-transition: opacity 0.15s ease; + transition: opacity 0.15s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .carousel-control-prev:hover, .carousel-control-prev:focus, + .carousel-control-next:hover, + .carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; } + +.carousel-control-prev { + left: 0; } + +.carousel-control-next { + right: 0; } + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 20px; + height: 20px; + background: no-repeat 50% / 100% 100%; } + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); } + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); } + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 15; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding-left: 0; + margin-right: 15%; + margin-left: 15%; + list-style: none; } + .carousel-indicators li { + -webkit-box-sizing: content-box; + box-sizing: content-box; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + flex: 0 1 auto; + width: 30px; + height: 3px; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: .5; + -webkit-transition: opacity 0.6s ease; + -o-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-indicators li { + -webkit-transition: none; + -o-transition: none; + transition: none; } } + .carousel-indicators .active { + opacity: 1; } + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; } + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: spinner-border .75s linear infinite; + animation: spinner-border .75s linear infinite; } + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; } + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + 50% { + opacity: 1; } } + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + 50% { + opacity: 1; } } + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: text-bottom; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: spinner-grow .75s linear infinite; + animation: spinner-grow .75s linear infinite; } + +.spinner-grow-sm { + width: 1rem; + height: 1rem; } + +.align-baseline { + vertical-align: baseline !important; } + +.align-top { + vertical-align: top !important; } + +.align-middle { + vertical-align: middle !important; } + +.align-bottom { + vertical-align: bottom !important; } + +.align-text-bottom { + vertical-align: text-bottom !important; } + +.align-text-top { + vertical-align: text-top !important; } + +.bg-primary { + background-color: #007bff !important; } + +a.bg-primary:hover, a.bg-primary:focus, +button.bg-primary:hover, +button.bg-primary:focus { + background-color: #0062cc !important; } + +.bg-secondary { + background-color: #6c757d !important; } + +a.bg-secondary:hover, a.bg-secondary:focus, +button.bg-secondary:hover, +button.bg-secondary:focus { + background-color: #545b62 !important; } + +.bg-success { + background-color: #28a745 !important; } + +a.bg-success:hover, a.bg-success:focus, +button.bg-success:hover, +button.bg-success:focus { + background-color: #1e7e34 !important; } + +.bg-info { + background-color: #17a2b8 !important; } + +a.bg-info:hover, a.bg-info:focus, +button.bg-info:hover, +button.bg-info:focus { + background-color: #117a8b !important; } + +.bg-warning { + background-color: #ffc107 !important; } + +a.bg-warning:hover, a.bg-warning:focus, +button.bg-warning:hover, +button.bg-warning:focus { + background-color: #d39e00 !important; } + +.bg-danger { + background-color: #dc3545 !important; } + +a.bg-danger:hover, a.bg-danger:focus, +button.bg-danger:hover, +button.bg-danger:focus { + background-color: #bd2130 !important; } + +.bg-light { + background-color: #f8f9fa !important; } + +a.bg-light:hover, a.bg-light:focus, +button.bg-light:hover, +button.bg-light:focus { + background-color: #dae0e5 !important; } + +.bg-dark { + background-color: #343a40 !important; } + +a.bg-dark:hover, a.bg-dark:focus, +button.bg-dark:hover, +button.bg-dark:focus { + background-color: #1d2124 !important; } + +.bg-white { + background-color: #fff !important; } + +.bg-transparent { + background-color: transparent !important; } + +.border { + border: 1px solid #dee2e6 !important; } + +.border-top { + border-top: 1px solid #dee2e6 !important; } + +.border-right { + border-right: 1px solid #dee2e6 !important; } + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; } + +.border-left { + border-left: 1px solid #dee2e6 !important; } + +.border-0 { + border: 0 !important; } + +.border-top-0 { + border-top: 0 !important; } + +.border-right-0 { + border-right: 0 !important; } + +.border-bottom-0 { + border-bottom: 0 !important; } + +.border-left-0 { + border-left: 0 !important; } + +.border-primary { + border-color: #007bff !important; } + +.border-secondary { + border-color: #6c757d !important; } + +.border-success { + border-color: #28a745 !important; } + +.border-info { + border-color: #17a2b8 !important; } + +.border-warning { + border-color: #ffc107 !important; } + +.border-danger { + border-color: #dc3545 !important; } + +.border-light { + border-color: #f8f9fa !important; } + +.border-dark { + border-color: #343a40 !important; } + +.border-white { + border-color: #fff !important; } + +.rounded-sm { + border-radius: 0.2rem !important; } + +.rounded { + border-radius: 0.25rem !important; } + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; } + +.rounded-right { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; } + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + +.rounded-left { + border-top-left-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + +.rounded-lg { + border-radius: 0.3rem !important; } + +.rounded-circle { + border-radius: 50% !important; } + +.rounded-pill { + border-radius: 50rem !important; } + +.rounded-0 { + border-radius: 0 !important; } + +.clearfix::after { + display: block; + clear: both; + content: ""; } + +.d-none { + display: none !important; } + +.d-inline { + display: inline !important; } + +.d-inline-block { + display: inline-block !important; } + +.d-block { + display: block !important; } + +.d-table { + display: table !important; } + +.d-table-row { + display: table-row !important; } + +.d-table-cell { + display: table-cell !important; } + +.d-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + +.d-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + +@media (min-width: 576px) { + .d-sm-none { + display: none !important; } + .d-sm-inline { + display: inline !important; } + .d-sm-inline-block { + display: inline-block !important; } + .d-sm-block { + display: block !important; } + .d-sm-table { + display: table !important; } + .d-sm-table-row { + display: table-row !important; } + .d-sm-table-cell { + display: table-cell !important; } + .d-sm-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } } + +@media (min-width: 768px) { + .d-md-none { + display: none !important; } + .d-md-inline { + display: inline !important; } + .d-md-inline-block { + display: inline-block !important; } + .d-md-block { + display: block !important; } + .d-md-table { + display: table !important; } + .d-md-table-row { + display: table-row !important; } + .d-md-table-cell { + display: table-cell !important; } + .d-md-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } } + +@media (min-width: 992px) { + .d-lg-none { + display: none !important; } + .d-lg-inline { + display: inline !important; } + .d-lg-inline-block { + display: inline-block !important; } + .d-lg-block { + display: block !important; } + .d-lg-table { + display: table !important; } + .d-lg-table-row { + display: table-row !important; } + .d-lg-table-cell { + display: table-cell !important; } + .d-lg-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } } + +@media (min-width: 1200px) { + .d-xl-none { + display: none !important; } + .d-xl-inline { + display: inline !important; } + .d-xl-inline-block { + display: inline-block !important; } + .d-xl-block { + display: block !important; } + .d-xl-table { + display: table !important; } + .d-xl-table-row { + display: table-row !important; } + .d-xl-table-cell { + display: table-cell !important; } + .d-xl-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } } + +@media print { + .d-print-none { + display: none !important; } + .d-print-inline { + display: inline !important; } + .d-print-inline-block { + display: inline-block !important; } + .d-print-block { + display: block !important; } + .d-print-table { + display: table !important; } + .d-print-table-row { + display: table-row !important; } + .d-print-table-cell { + display: table-cell !important; } + .d-print-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } } + +.embed-responsive { + position: relative; + display: block; + width: 100%; + padding: 0; + overflow: hidden; } + .embed-responsive::before { + display: block; + content: ""; } + .embed-responsive .embed-responsive-item, + .embed-responsive iframe, + .embed-responsive embed, + .embed-responsive object, + .embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; } + +.embed-responsive-21by9::before { + padding-top: 42.85714%; } + +.embed-responsive-16by9::before { + padding-top: 56.25%; } + +.embed-responsive-4by3::before { + padding-top: 75%; } + +.embed-responsive-1by1::before { + padding-top: 100%; } + +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; } + +.flex-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + +.flex-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + +.flex-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + +.justify-content-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + +.justify-content-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + +.justify-content-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + +.justify-content-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + +.align-items-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + +.align-items-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + +.align-items-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + +.align-items-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + +.align-items-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + +.align-self-auto { + -ms-flex-item-align: auto !important; + -ms-grid-row-align: auto !important; + align-self: auto !important; } + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + +.align-self-center { + -ms-flex-item-align: center !important; + -ms-grid-row-align: center !important; + align-self: center !important; } + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + -ms-grid-row-align: stretch !important; + align-self: stretch !important; } + +@media (min-width: 576px) { + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; } + .flex-sm-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-sm-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-sm-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .justify-content-sm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-sm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-sm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-sm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .align-items-sm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-sm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-sm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + -ms-grid-row-align: auto !important; + align-self: auto !important; } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-sm-center { + -ms-flex-item-align: center !important; + -ms-grid-row-align: center !important; + align-self: center !important; } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + -ms-grid-row-align: stretch !important; + align-self: stretch !important; } } + +@media (min-width: 768px) { + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; } + .flex-md-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-md-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-md-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .justify-content-md-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-md-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-md-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-md-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .align-items-md-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-md-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-md-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-md-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-md-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + -ms-grid-row-align: auto !important; + align-self: auto !important; } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-md-center { + -ms-flex-item-align: center !important; + -ms-grid-row-align: center !important; + align-self: center !important; } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + -ms-grid-row-align: stretch !important; + align-self: stretch !important; } } + +@media (min-width: 992px) { + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; } + .flex-lg-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-lg-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-lg-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .justify-content-lg-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-lg-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-lg-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-lg-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .align-items-lg-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-lg-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-lg-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + -ms-grid-row-align: auto !important; + align-self: auto !important; } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-lg-center { + -ms-flex-item-align: center !important; + -ms-grid-row-align: center !important; + align-self: center !important; } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + -ms-grid-row-align: stretch !important; + align-self: stretch !important; } } + +@media (min-width: 1200px) { + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !important; } + .flex-xl-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-xl-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-xl-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .justify-content-xl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-xl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-xl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-xl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .align-items-xl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-xl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-xl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + -ms-grid-row-align: auto !important; + align-self: auto !important; } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-xl-center { + -ms-flex-item-align: center !important; + -ms-grid-row-align: center !important; + align-self: center !important; } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + -ms-grid-row-align: stretch !important; + align-self: stretch !important; } } + +.float-left { + float: left !important; } + +.float-right { + float: right !important; } + +.float-none { + float: none !important; } + +@media (min-width: 576px) { + .float-sm-left { + float: left !important; } + .float-sm-right { + float: right !important; } + .float-sm-none { + float: none !important; } } + +@media (min-width: 768px) { + .float-md-left { + float: left !important; } + .float-md-right { + float: right !important; } + .float-md-none { + float: none !important; } } + +@media (min-width: 992px) { + .float-lg-left { + float: left !important; } + .float-lg-right { + float: right !important; } + .float-lg-none { + float: none !important; } } + +@media (min-width: 1200px) { + .float-xl-left { + float: left !important; } + .float-xl-right { + float: right !important; } + .float-xl-none { + float: none !important; } } + +.overflow-auto { + overflow: auto !important; } + +.overflow-hidden { + overflow: hidden !important; } + +.position-static { + position: static !important; } + +.position-relative { + position: relative !important; } + +.position-absolute { + position: absolute !important; } + +.position-fixed { + position: fixed !important; } + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; } + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; } + +@supports ((position: -webkit-sticky) or (position: sticky)) { + .sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; } } + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + overflow: visible; + clip: auto; + white-space: normal; } + +.shadow-sm { + -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } + +.shadow { + -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } + +.shadow-lg { + -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } + +.shadow-none { + -webkit-box-shadow: none !important; + box-shadow: none !important; } + +.w-25 { + width: 25% !important; } + +.w-50 { + width: 50% !important; } + +.w-75 { + width: 75% !important; } + +.w-100 { + width: 100% !important; } + +.w-auto { + width: auto !important; } + +.h-25 { + height: 25% !important; } + +.h-50 { + height: 50% !important; } + +.h-75 { + height: 75% !important; } + +.h-100 { + height: 100% !important; } + +.h-auto { + height: auto !important; } + +.mw-100 { + max-width: 100% !important; } + +.mh-100 { + max-height: 100% !important; } + +.min-vw-100 { + min-width: 100vw !important; } + +.min-vh-100 { + min-height: 100vh !important; } + +.vw-100 { + width: 100vw !important; } + +.vh-100 { + height: 100vh !important; } + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + pointer-events: auto; + content: ""; + background-color: rgba(0, 0, 0, 0); } + +.m-0 { + margin: 0 !important; } + +.mt-0, +.my-0 { + margin-top: 0 !important; } + +.mr-0, +.mx-0 { + margin-right: 0 !important; } + +.mb-0, +.my-0 { + margin-bottom: 0 !important; } + +.ml-0, +.mx-0 { + margin-left: 0 !important; } + +.m-1 { + margin: 0.25rem !important; } + +.mt-1, +.my-1 { + margin-top: 0.25rem !important; } + +.mr-1, +.mx-1 { + margin-right: 0.25rem !important; } + +.mb-1, +.my-1 { + margin-bottom: 0.25rem !important; } + +.ml-1, +.mx-1 { + margin-left: 0.25rem !important; } + +.m-2 { + margin: 0.5rem !important; } + +.mt-2, +.my-2 { + margin-top: 0.5rem !important; } + +.mr-2, +.mx-2 { + margin-right: 0.5rem !important; } + +.mb-2, +.my-2 { + margin-bottom: 0.5rem !important; } + +.ml-2, +.mx-2 { + margin-left: 0.5rem !important; } + +.m-3 { + margin: 1rem !important; } + +.mt-3, +.my-3 { + margin-top: 1rem !important; } + +.mr-3, +.mx-3 { + margin-right: 1rem !important; } + +.mb-3, +.my-3 { + margin-bottom: 1rem !important; } + +.ml-3, +.mx-3 { + margin-left: 1rem !important; } + +.m-4 { + margin: 1.5rem !important; } + +.mt-4, +.my-4 { + margin-top: 1.5rem !important; } + +.mr-4, +.mx-4 { + margin-right: 1.5rem !important; } + +.mb-4, +.my-4 { + margin-bottom: 1.5rem !important; } + +.ml-4, +.mx-4 { + margin-left: 1.5rem !important; } + +.m-5 { + margin: 3rem !important; } + +.mt-5, +.my-5 { + margin-top: 3rem !important; } + +.mr-5, +.mx-5 { + margin-right: 3rem !important; } + +.mb-5, +.my-5 { + margin-bottom: 3rem !important; } + +.ml-5, +.mx-5 { + margin-left: 3rem !important; } + +.p-0 { + padding: 0 !important; } + +.pt-0, +.py-0 { + padding-top: 0 !important; } + +.pr-0, +.px-0 { + padding-right: 0 !important; } + +.pb-0, +.py-0 { + padding-bottom: 0 !important; } + +.pl-0, +.px-0 { + padding-left: 0 !important; } + +.p-1 { + padding: 0.25rem !important; } + +.pt-1, +.py-1 { + padding-top: 0.25rem !important; } + +.pr-1, +.px-1 { + padding-right: 0.25rem !important; } + +.pb-1, +.py-1 { + padding-bottom: 0.25rem !important; } + +.pl-1, +.px-1 { + padding-left: 0.25rem !important; } + +.p-2 { + padding: 0.5rem !important; } + +.pt-2, +.py-2 { + padding-top: 0.5rem !important; } + +.pr-2, +.px-2 { + padding-right: 0.5rem !important; } + +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; } + +.pl-2, +.px-2 { + padding-left: 0.5rem !important; } + +.p-3 { + padding: 1rem !important; } + +.pt-3, +.py-3 { + padding-top: 1rem !important; } + +.pr-3, +.px-3 { + padding-right: 1rem !important; } + +.pb-3, +.py-3 { + padding-bottom: 1rem !important; } + +.pl-3, +.px-3 { + padding-left: 1rem !important; } + +.p-4 { + padding: 1.5rem !important; } + +.pt-4, +.py-4 { + padding-top: 1.5rem !important; } + +.pr-4, +.px-4 { + padding-right: 1.5rem !important; } + +.pb-4, +.py-4 { + padding-bottom: 1.5rem !important; } + +.pl-4, +.px-4 { + padding-left: 1.5rem !important; } + +.p-5 { + padding: 3rem !important; } + +.pt-5, +.py-5 { + padding-top: 3rem !important; } + +.pr-5, +.px-5 { + padding-right: 3rem !important; } + +.pb-5, +.py-5 { + padding-bottom: 3rem !important; } + +.pl-5, +.px-5 { + padding-left: 3rem !important; } + +.m-n1 { + margin: -0.25rem !important; } + +.mt-n1, +.my-n1 { + margin-top: -0.25rem !important; } + +.mr-n1, +.mx-n1 { + margin-right: -0.25rem !important; } + +.mb-n1, +.my-n1 { + margin-bottom: -0.25rem !important; } + +.ml-n1, +.mx-n1 { + margin-left: -0.25rem !important; } + +.m-n2 { + margin: -0.5rem !important; } + +.mt-n2, +.my-n2 { + margin-top: -0.5rem !important; } + +.mr-n2, +.mx-n2 { + margin-right: -0.5rem !important; } + +.mb-n2, +.my-n2 { + margin-bottom: -0.5rem !important; } + +.ml-n2, +.mx-n2 { + margin-left: -0.5rem !important; } + +.m-n3 { + margin: -1rem !important; } + +.mt-n3, +.my-n3 { + margin-top: -1rem !important; } + +.mr-n3, +.mx-n3 { + margin-right: -1rem !important; } + +.mb-n3, +.my-n3 { + margin-bottom: -1rem !important; } + +.ml-n3, +.mx-n3 { + margin-left: -1rem !important; } + +.m-n4 { + margin: -1.5rem !important; } + +.mt-n4, +.my-n4 { + margin-top: -1.5rem !important; } + +.mr-n4, +.mx-n4 { + margin-right: -1.5rem !important; } + +.mb-n4, +.my-n4 { + margin-bottom: -1.5rem !important; } + +.ml-n4, +.mx-n4 { + margin-left: -1.5rem !important; } + +.m-n5 { + margin: -3rem !important; } + +.mt-n5, +.my-n5 { + margin-top: -3rem !important; } + +.mr-n5, +.mx-n5 { + margin-right: -3rem !important; } + +.mb-n5, +.my-n5 { + margin-bottom: -3rem !important; } + +.ml-n5, +.mx-n5 { + margin-left: -3rem !important; } + +.m-auto { + margin: auto !important; } + +.mt-auto, +.my-auto { + margin-top: auto !important; } + +.mr-auto, +.mx-auto { + margin-right: auto !important; } + +.mb-auto, +.my-auto { + margin-bottom: auto !important; } + +.ml-auto, +.mx-auto { + margin-left: auto !important; } + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; } + .mt-sm-0, + .my-sm-0 { + margin-top: 0 !important; } + .mr-sm-0, + .mx-sm-0 { + margin-right: 0 !important; } + .mb-sm-0, + .my-sm-0 { + margin-bottom: 0 !important; } + .ml-sm-0, + .mx-sm-0 { + margin-left: 0 !important; } + .m-sm-1 { + margin: 0.25rem !important; } + .mt-sm-1, + .my-sm-1 { + margin-top: 0.25rem !important; } + .mr-sm-1, + .mx-sm-1 { + margin-right: 0.25rem !important; } + .mb-sm-1, + .my-sm-1 { + margin-bottom: 0.25rem !important; } + .ml-sm-1, + .mx-sm-1 { + margin-left: 0.25rem !important; } + .m-sm-2 { + margin: 0.5rem !important; } + .mt-sm-2, + .my-sm-2 { + margin-top: 0.5rem !important; } + .mr-sm-2, + .mx-sm-2 { + margin-right: 0.5rem !important; } + .mb-sm-2, + .my-sm-2 { + margin-bottom: 0.5rem !important; } + .ml-sm-2, + .mx-sm-2 { + margin-left: 0.5rem !important; } + .m-sm-3 { + margin: 1rem !important; } + .mt-sm-3, + .my-sm-3 { + margin-top: 1rem !important; } + .mr-sm-3, + .mx-sm-3 { + margin-right: 1rem !important; } + .mb-sm-3, + .my-sm-3 { + margin-bottom: 1rem !important; } + .ml-sm-3, + .mx-sm-3 { + margin-left: 1rem !important; } + .m-sm-4 { + margin: 1.5rem !important; } + .mt-sm-4, + .my-sm-4 { + margin-top: 1.5rem !important; } + .mr-sm-4, + .mx-sm-4 { + margin-right: 1.5rem !important; } + .mb-sm-4, + .my-sm-4 { + margin-bottom: 1.5rem !important; } + .ml-sm-4, + .mx-sm-4 { + margin-left: 1.5rem !important; } + .m-sm-5 { + margin: 3rem !important; } + .mt-sm-5, + .my-sm-5 { + margin-top: 3rem !important; } + .mr-sm-5, + .mx-sm-5 { + margin-right: 3rem !important; } + .mb-sm-5, + .my-sm-5 { + margin-bottom: 3rem !important; } + .ml-sm-5, + .mx-sm-5 { + margin-left: 3rem !important; } + .p-sm-0 { + padding: 0 !important; } + .pt-sm-0, + .py-sm-0 { + padding-top: 0 !important; } + .pr-sm-0, + .px-sm-0 { + padding-right: 0 !important; } + .pb-sm-0, + .py-sm-0 { + padding-bottom: 0 !important; } + .pl-sm-0, + .px-sm-0 { + padding-left: 0 !important; } + .p-sm-1 { + padding: 0.25rem !important; } + .pt-sm-1, + .py-sm-1 { + padding-top: 0.25rem !important; } + .pr-sm-1, + .px-sm-1 { + padding-right: 0.25rem !important; } + .pb-sm-1, + .py-sm-1 { + padding-bottom: 0.25rem !important; } + .pl-sm-1, + .px-sm-1 { + padding-left: 0.25rem !important; } + .p-sm-2 { + padding: 0.5rem !important; } + .pt-sm-2, + .py-sm-2 { + padding-top: 0.5rem !important; } + .pr-sm-2, + .px-sm-2 { + padding-right: 0.5rem !important; } + .pb-sm-2, + .py-sm-2 { + padding-bottom: 0.5rem !important; } + .pl-sm-2, + .px-sm-2 { + padding-left: 0.5rem !important; } + .p-sm-3 { + padding: 1rem !important; } + .pt-sm-3, + .py-sm-3 { + padding-top: 1rem !important; } + .pr-sm-3, + .px-sm-3 { + padding-right: 1rem !important; } + .pb-sm-3, + .py-sm-3 { + padding-bottom: 1rem !important; } + .pl-sm-3, + .px-sm-3 { + padding-left: 1rem !important; } + .p-sm-4 { + padding: 1.5rem !important; } + .pt-sm-4, + .py-sm-4 { + padding-top: 1.5rem !important; } + .pr-sm-4, + .px-sm-4 { + padding-right: 1.5rem !important; } + .pb-sm-4, + .py-sm-4 { + padding-bottom: 1.5rem !important; } + .pl-sm-4, + .px-sm-4 { + padding-left: 1.5rem !important; } + .p-sm-5 { + padding: 3rem !important; } + .pt-sm-5, + .py-sm-5 { + padding-top: 3rem !important; } + .pr-sm-5, + .px-sm-5 { + padding-right: 3rem !important; } + .pb-sm-5, + .py-sm-5 { + padding-bottom: 3rem !important; } + .pl-sm-5, + .px-sm-5 { + padding-left: 3rem !important; } + .m-sm-n1 { + margin: -0.25rem !important; } + .mt-sm-n1, + .my-sm-n1 { + margin-top: -0.25rem !important; } + .mr-sm-n1, + .mx-sm-n1 { + margin-right: -0.25rem !important; } + .mb-sm-n1, + .my-sm-n1 { + margin-bottom: -0.25rem !important; } + .ml-sm-n1, + .mx-sm-n1 { + margin-left: -0.25rem !important; } + .m-sm-n2 { + margin: -0.5rem !important; } + .mt-sm-n2, + .my-sm-n2 { + margin-top: -0.5rem !important; } + .mr-sm-n2, + .mx-sm-n2 { + margin-right: -0.5rem !important; } + .mb-sm-n2, + .my-sm-n2 { + margin-bottom: -0.5rem !important; } + .ml-sm-n2, + .mx-sm-n2 { + margin-left: -0.5rem !important; } + .m-sm-n3 { + margin: -1rem !important; } + .mt-sm-n3, + .my-sm-n3 { + margin-top: -1rem !important; } + .mr-sm-n3, + .mx-sm-n3 { + margin-right: -1rem !important; } + .mb-sm-n3, + .my-sm-n3 { + margin-bottom: -1rem !important; } + .ml-sm-n3, + .mx-sm-n3 { + margin-left: -1rem !important; } + .m-sm-n4 { + margin: -1.5rem !important; } + .mt-sm-n4, + .my-sm-n4 { + margin-top: -1.5rem !important; } + .mr-sm-n4, + .mx-sm-n4 { + margin-right: -1.5rem !important; } + .mb-sm-n4, + .my-sm-n4 { + margin-bottom: -1.5rem !important; } + .ml-sm-n4, + .mx-sm-n4 { + margin-left: -1.5rem !important; } + .m-sm-n5 { + margin: -3rem !important; } + .mt-sm-n5, + .my-sm-n5 { + margin-top: -3rem !important; } + .mr-sm-n5, + .mx-sm-n5 { + margin-right: -3rem !important; } + .mb-sm-n5, + .my-sm-n5 { + margin-bottom: -3rem !important; } + .ml-sm-n5, + .mx-sm-n5 { + margin-left: -3rem !important; } + .m-sm-auto { + margin: auto !important; } + .mt-sm-auto, + .my-sm-auto { + margin-top: auto !important; } + .mr-sm-auto, + .mx-sm-auto { + margin-right: auto !important; } + .mb-sm-auto, + .my-sm-auto { + margin-bottom: auto !important; } + .ml-sm-auto, + .mx-sm-auto { + margin-left: auto !important; } } + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; } + .mt-md-0, + .my-md-0 { + margin-top: 0 !important; } + .mr-md-0, + .mx-md-0 { + margin-right: 0 !important; } + .mb-md-0, + .my-md-0 { + margin-bottom: 0 !important; } + .ml-md-0, + .mx-md-0 { + margin-left: 0 !important; } + .m-md-1 { + margin: 0.25rem !important; } + .mt-md-1, + .my-md-1 { + margin-top: 0.25rem !important; } + .mr-md-1, + .mx-md-1 { + margin-right: 0.25rem !important; } + .mb-md-1, + .my-md-1 { + margin-bottom: 0.25rem !important; } + .ml-md-1, + .mx-md-1 { + margin-left: 0.25rem !important; } + .m-md-2 { + margin: 0.5rem !important; } + .mt-md-2, + .my-md-2 { + margin-top: 0.5rem !important; } + .mr-md-2, + .mx-md-2 { + margin-right: 0.5rem !important; } + .mb-md-2, + .my-md-2 { + margin-bottom: 0.5rem !important; } + .ml-md-2, + .mx-md-2 { + margin-left: 0.5rem !important; } + .m-md-3 { + margin: 1rem !important; } + .mt-md-3, + .my-md-3 { + margin-top: 1rem !important; } + .mr-md-3, + .mx-md-3 { + margin-right: 1rem !important; } + .mb-md-3, + .my-md-3 { + margin-bottom: 1rem !important; } + .ml-md-3, + .mx-md-3 { + margin-left: 1rem !important; } + .m-md-4 { + margin: 1.5rem !important; } + .mt-md-4, + .my-md-4 { + margin-top: 1.5rem !important; } + .mr-md-4, + .mx-md-4 { + margin-right: 1.5rem !important; } + .mb-md-4, + .my-md-4 { + margin-bottom: 1.5rem !important; } + .ml-md-4, + .mx-md-4 { + margin-left: 1.5rem !important; } + .m-md-5 { + margin: 3rem !important; } + .mt-md-5, + .my-md-5 { + margin-top: 3rem !important; } + .mr-md-5, + .mx-md-5 { + margin-right: 3rem !important; } + .mb-md-5, + .my-md-5 { + margin-bottom: 3rem !important; } + .ml-md-5, + .mx-md-5 { + margin-left: 3rem !important; } + .p-md-0 { + padding: 0 !important; } + .pt-md-0, + .py-md-0 { + padding-top: 0 !important; } + .pr-md-0, + .px-md-0 { + padding-right: 0 !important; } + .pb-md-0, + .py-md-0 { + padding-bottom: 0 !important; } + .pl-md-0, + .px-md-0 { + padding-left: 0 !important; } + .p-md-1 { + padding: 0.25rem !important; } + .pt-md-1, + .py-md-1 { + padding-top: 0.25rem !important; } + .pr-md-1, + .px-md-1 { + padding-right: 0.25rem !important; } + .pb-md-1, + .py-md-1 { + padding-bottom: 0.25rem !important; } + .pl-md-1, + .px-md-1 { + padding-left: 0.25rem !important; } + .p-md-2 { + padding: 0.5rem !important; } + .pt-md-2, + .py-md-2 { + padding-top: 0.5rem !important; } + .pr-md-2, + .px-md-2 { + padding-right: 0.5rem !important; } + .pb-md-2, + .py-md-2 { + padding-bottom: 0.5rem !important; } + .pl-md-2, + .px-md-2 { + padding-left: 0.5rem !important; } + .p-md-3 { + padding: 1rem !important; } + .pt-md-3, + .py-md-3 { + padding-top: 1rem !important; } + .pr-md-3, + .px-md-3 { + padding-right: 1rem !important; } + .pb-md-3, + .py-md-3 { + padding-bottom: 1rem !important; } + .pl-md-3, + .px-md-3 { + padding-left: 1rem !important; } + .p-md-4 { + padding: 1.5rem !important; } + .pt-md-4, + .py-md-4 { + padding-top: 1.5rem !important; } + .pr-md-4, + .px-md-4 { + padding-right: 1.5rem !important; } + .pb-md-4, + .py-md-4 { + padding-bottom: 1.5rem !important; } + .pl-md-4, + .px-md-4 { + padding-left: 1.5rem !important; } + .p-md-5 { + padding: 3rem !important; } + .pt-md-5, + .py-md-5 { + padding-top: 3rem !important; } + .pr-md-5, + .px-md-5 { + padding-right: 3rem !important; } + .pb-md-5, + .py-md-5 { + padding-bottom: 3rem !important; } + .pl-md-5, + .px-md-5 { + padding-left: 3rem !important; } + .m-md-n1 { + margin: -0.25rem !important; } + .mt-md-n1, + .my-md-n1 { + margin-top: -0.25rem !important; } + .mr-md-n1, + .mx-md-n1 { + margin-right: -0.25rem !important; } + .mb-md-n1, + .my-md-n1 { + margin-bottom: -0.25rem !important; } + .ml-md-n1, + .mx-md-n1 { + margin-left: -0.25rem !important; } + .m-md-n2 { + margin: -0.5rem !important; } + .mt-md-n2, + .my-md-n2 { + margin-top: -0.5rem !important; } + .mr-md-n2, + .mx-md-n2 { + margin-right: -0.5rem !important; } + .mb-md-n2, + .my-md-n2 { + margin-bottom: -0.5rem !important; } + .ml-md-n2, + .mx-md-n2 { + margin-left: -0.5rem !important; } + .m-md-n3 { + margin: -1rem !important; } + .mt-md-n3, + .my-md-n3 { + margin-top: -1rem !important; } + .mr-md-n3, + .mx-md-n3 { + margin-right: -1rem !important; } + .mb-md-n3, + .my-md-n3 { + margin-bottom: -1rem !important; } + .ml-md-n3, + .mx-md-n3 { + margin-left: -1rem !important; } + .m-md-n4 { + margin: -1.5rem !important; } + .mt-md-n4, + .my-md-n4 { + margin-top: -1.5rem !important; } + .mr-md-n4, + .mx-md-n4 { + margin-right: -1.5rem !important; } + .mb-md-n4, + .my-md-n4 { + margin-bottom: -1.5rem !important; } + .ml-md-n4, + .mx-md-n4 { + margin-left: -1.5rem !important; } + .m-md-n5 { + margin: -3rem !important; } + .mt-md-n5, + .my-md-n5 { + margin-top: -3rem !important; } + .mr-md-n5, + .mx-md-n5 { + margin-right: -3rem !important; } + .mb-md-n5, + .my-md-n5 { + margin-bottom: -3rem !important; } + .ml-md-n5, + .mx-md-n5 { + margin-left: -3rem !important; } + .m-md-auto { + margin: auto !important; } + .mt-md-auto, + .my-md-auto { + margin-top: auto !important; } + .mr-md-auto, + .mx-md-auto { + margin-right: auto !important; } + .mb-md-auto, + .my-md-auto { + margin-bottom: auto !important; } + .ml-md-auto, + .mx-md-auto { + margin-left: auto !important; } } + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; } + .mt-lg-0, + .my-lg-0 { + margin-top: 0 !important; } + .mr-lg-0, + .mx-lg-0 { + margin-right: 0 !important; } + .mb-lg-0, + .my-lg-0 { + margin-bottom: 0 !important; } + .ml-lg-0, + .mx-lg-0 { + margin-left: 0 !important; } + .m-lg-1 { + margin: 0.25rem !important; } + .mt-lg-1, + .my-lg-1 { + margin-top: 0.25rem !important; } + .mr-lg-1, + .mx-lg-1 { + margin-right: 0.25rem !important; } + .mb-lg-1, + .my-lg-1 { + margin-bottom: 0.25rem !important; } + .ml-lg-1, + .mx-lg-1 { + margin-left: 0.25rem !important; } + .m-lg-2 { + margin: 0.5rem !important; } + .mt-lg-2, + .my-lg-2 { + margin-top: 0.5rem !important; } + .mr-lg-2, + .mx-lg-2 { + margin-right: 0.5rem !important; } + .mb-lg-2, + .my-lg-2 { + margin-bottom: 0.5rem !important; } + .ml-lg-2, + .mx-lg-2 { + margin-left: 0.5rem !important; } + .m-lg-3 { + margin: 1rem !important; } + .mt-lg-3, + .my-lg-3 { + margin-top: 1rem !important; } + .mr-lg-3, + .mx-lg-3 { + margin-right: 1rem !important; } + .mb-lg-3, + .my-lg-3 { + margin-bottom: 1rem !important; } + .ml-lg-3, + .mx-lg-3 { + margin-left: 1rem !important; } + .m-lg-4 { + margin: 1.5rem !important; } + .mt-lg-4, + .my-lg-4 { + margin-top: 1.5rem !important; } + .mr-lg-4, + .mx-lg-4 { + margin-right: 1.5rem !important; } + .mb-lg-4, + .my-lg-4 { + margin-bottom: 1.5rem !important; } + .ml-lg-4, + .mx-lg-4 { + margin-left: 1.5rem !important; } + .m-lg-5 { + margin: 3rem !important; } + .mt-lg-5, + .my-lg-5 { + margin-top: 3rem !important; } + .mr-lg-5, + .mx-lg-5 { + margin-right: 3rem !important; } + .mb-lg-5, + .my-lg-5 { + margin-bottom: 3rem !important; } + .ml-lg-5, + .mx-lg-5 { + margin-left: 3rem !important; } + .p-lg-0 { + padding: 0 !important; } + .pt-lg-0, + .py-lg-0 { + padding-top: 0 !important; } + .pr-lg-0, + .px-lg-0 { + padding-right: 0 !important; } + .pb-lg-0, + .py-lg-0 { + padding-bottom: 0 !important; } + .pl-lg-0, + .px-lg-0 { + padding-left: 0 !important; } + .p-lg-1 { + padding: 0.25rem !important; } + .pt-lg-1, + .py-lg-1 { + padding-top: 0.25rem !important; } + .pr-lg-1, + .px-lg-1 { + padding-right: 0.25rem !important; } + .pb-lg-1, + .py-lg-1 { + padding-bottom: 0.25rem !important; } + .pl-lg-1, + .px-lg-1 { + padding-left: 0.25rem !important; } + .p-lg-2 { + padding: 0.5rem !important; } + .pt-lg-2, + .py-lg-2 { + padding-top: 0.5rem !important; } + .pr-lg-2, + .px-lg-2 { + padding-right: 0.5rem !important; } + .pb-lg-2, + .py-lg-2 { + padding-bottom: 0.5rem !important; } + .pl-lg-2, + .px-lg-2 { + padding-left: 0.5rem !important; } + .p-lg-3 { + padding: 1rem !important; } + .pt-lg-3, + .py-lg-3 { + padding-top: 1rem !important; } + .pr-lg-3, + .px-lg-3 { + padding-right: 1rem !important; } + .pb-lg-3, + .py-lg-3 { + padding-bottom: 1rem !important; } + .pl-lg-3, + .px-lg-3 { + padding-left: 1rem !important; } + .p-lg-4 { + padding: 1.5rem !important; } + .pt-lg-4, + .py-lg-4 { + padding-top: 1.5rem !important; } + .pr-lg-4, + .px-lg-4 { + padding-right: 1.5rem !important; } + .pb-lg-4, + .py-lg-4 { + padding-bottom: 1.5rem !important; } + .pl-lg-4, + .px-lg-4 { + padding-left: 1.5rem !important; } + .p-lg-5 { + padding: 3rem !important; } + .pt-lg-5, + .py-lg-5 { + padding-top: 3rem !important; } + .pr-lg-5, + .px-lg-5 { + padding-right: 3rem !important; } + .pb-lg-5, + .py-lg-5 { + padding-bottom: 3rem !important; } + .pl-lg-5, + .px-lg-5 { + padding-left: 3rem !important; } + .m-lg-n1 { + margin: -0.25rem !important; } + .mt-lg-n1, + .my-lg-n1 { + margin-top: -0.25rem !important; } + .mr-lg-n1, + .mx-lg-n1 { + margin-right: -0.25rem !important; } + .mb-lg-n1, + .my-lg-n1 { + margin-bottom: -0.25rem !important; } + .ml-lg-n1, + .mx-lg-n1 { + margin-left: -0.25rem !important; } + .m-lg-n2 { + margin: -0.5rem !important; } + .mt-lg-n2, + .my-lg-n2 { + margin-top: -0.5rem !important; } + .mr-lg-n2, + .mx-lg-n2 { + margin-right: -0.5rem !important; } + .mb-lg-n2, + .my-lg-n2 { + margin-bottom: -0.5rem !important; } + .ml-lg-n2, + .mx-lg-n2 { + margin-left: -0.5rem !important; } + .m-lg-n3 { + margin: -1rem !important; } + .mt-lg-n3, + .my-lg-n3 { + margin-top: -1rem !important; } + .mr-lg-n3, + .mx-lg-n3 { + margin-right: -1rem !important; } + .mb-lg-n3, + .my-lg-n3 { + margin-bottom: -1rem !important; } + .ml-lg-n3, + .mx-lg-n3 { + margin-left: -1rem !important; } + .m-lg-n4 { + margin: -1.5rem !important; } + .mt-lg-n4, + .my-lg-n4 { + margin-top: -1.5rem !important; } + .mr-lg-n4, + .mx-lg-n4 { + margin-right: -1.5rem !important; } + .mb-lg-n4, + .my-lg-n4 { + margin-bottom: -1.5rem !important; } + .ml-lg-n4, + .mx-lg-n4 { + margin-left: -1.5rem !important; } + .m-lg-n5 { + margin: -3rem !important; } + .mt-lg-n5, + .my-lg-n5 { + margin-top: -3rem !important; } + .mr-lg-n5, + .mx-lg-n5 { + margin-right: -3rem !important; } + .mb-lg-n5, + .my-lg-n5 { + margin-bottom: -3rem !important; } + .ml-lg-n5, + .mx-lg-n5 { + margin-left: -3rem !important; } + .m-lg-auto { + margin: auto !important; } + .mt-lg-auto, + .my-lg-auto { + margin-top: auto !important; } + .mr-lg-auto, + .mx-lg-auto { + margin-right: auto !important; } + .mb-lg-auto, + .my-lg-auto { + margin-bottom: auto !important; } + .ml-lg-auto, + .mx-lg-auto { + margin-left: auto !important; } } + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; } + .mt-xl-0, + .my-xl-0 { + margin-top: 0 !important; } + .mr-xl-0, + .mx-xl-0 { + margin-right: 0 !important; } + .mb-xl-0, + .my-xl-0 { + margin-bottom: 0 !important; } + .ml-xl-0, + .mx-xl-0 { + margin-left: 0 !important; } + .m-xl-1 { + margin: 0.25rem !important; } + .mt-xl-1, + .my-xl-1 { + margin-top: 0.25rem !important; } + .mr-xl-1, + .mx-xl-1 { + margin-right: 0.25rem !important; } + .mb-xl-1, + .my-xl-1 { + margin-bottom: 0.25rem !important; } + .ml-xl-1, + .mx-xl-1 { + margin-left: 0.25rem !important; } + .m-xl-2 { + margin: 0.5rem !important; } + .mt-xl-2, + .my-xl-2 { + margin-top: 0.5rem !important; } + .mr-xl-2, + .mx-xl-2 { + margin-right: 0.5rem !important; } + .mb-xl-2, + .my-xl-2 { + margin-bottom: 0.5rem !important; } + .ml-xl-2, + .mx-xl-2 { + margin-left: 0.5rem !important; } + .m-xl-3 { + margin: 1rem !important; } + .mt-xl-3, + .my-xl-3 { + margin-top: 1rem !important; } + .mr-xl-3, + .mx-xl-3 { + margin-right: 1rem !important; } + .mb-xl-3, + .my-xl-3 { + margin-bottom: 1rem !important; } + .ml-xl-3, + .mx-xl-3 { + margin-left: 1rem !important; } + .m-xl-4 { + margin: 1.5rem !important; } + .mt-xl-4, + .my-xl-4 { + margin-top: 1.5rem !important; } + .mr-xl-4, + .mx-xl-4 { + margin-right: 1.5rem !important; } + .mb-xl-4, + .my-xl-4 { + margin-bottom: 1.5rem !important; } + .ml-xl-4, + .mx-xl-4 { + margin-left: 1.5rem !important; } + .m-xl-5 { + margin: 3rem !important; } + .mt-xl-5, + .my-xl-5 { + margin-top: 3rem !important; } + .mr-xl-5, + .mx-xl-5 { + margin-right: 3rem !important; } + .mb-xl-5, + .my-xl-5 { + margin-bottom: 3rem !important; } + .ml-xl-5, + .mx-xl-5 { + margin-left: 3rem !important; } + .p-xl-0 { + padding: 0 !important; } + .pt-xl-0, + .py-xl-0 { + padding-top: 0 !important; } + .pr-xl-0, + .px-xl-0 { + padding-right: 0 !important; } + .pb-xl-0, + .py-xl-0 { + padding-bottom: 0 !important; } + .pl-xl-0, + .px-xl-0 { + padding-left: 0 !important; } + .p-xl-1 { + padding: 0.25rem !important; } + .pt-xl-1, + .py-xl-1 { + padding-top: 0.25rem !important; } + .pr-xl-1, + .px-xl-1 { + padding-right: 0.25rem !important; } + .pb-xl-1, + .py-xl-1 { + padding-bottom: 0.25rem !important; } + .pl-xl-1, + .px-xl-1 { + padding-left: 0.25rem !important; } + .p-xl-2 { + padding: 0.5rem !important; } + .pt-xl-2, + .py-xl-2 { + padding-top: 0.5rem !important; } + .pr-xl-2, + .px-xl-2 { + padding-right: 0.5rem !important; } + .pb-xl-2, + .py-xl-2 { + padding-bottom: 0.5rem !important; } + .pl-xl-2, + .px-xl-2 { + padding-left: 0.5rem !important; } + .p-xl-3 { + padding: 1rem !important; } + .pt-xl-3, + .py-xl-3 { + padding-top: 1rem !important; } + .pr-xl-3, + .px-xl-3 { + padding-right: 1rem !important; } + .pb-xl-3, + .py-xl-3 { + padding-bottom: 1rem !important; } + .pl-xl-3, + .px-xl-3 { + padding-left: 1rem !important; } + .p-xl-4 { + padding: 1.5rem !important; } + .pt-xl-4, + .py-xl-4 { + padding-top: 1.5rem !important; } + .pr-xl-4, + .px-xl-4 { + padding-right: 1.5rem !important; } + .pb-xl-4, + .py-xl-4 { + padding-bottom: 1.5rem !important; } + .pl-xl-4, + .px-xl-4 { + padding-left: 1.5rem !important; } + .p-xl-5 { + padding: 3rem !important; } + .pt-xl-5, + .py-xl-5 { + padding-top: 3rem !important; } + .pr-xl-5, + .px-xl-5 { + padding-right: 3rem !important; } + .pb-xl-5, + .py-xl-5 { + padding-bottom: 3rem !important; } + .pl-xl-5, + .px-xl-5 { + padding-left: 3rem !important; } + .m-xl-n1 { + margin: -0.25rem !important; } + .mt-xl-n1, + .my-xl-n1 { + margin-top: -0.25rem !important; } + .mr-xl-n1, + .mx-xl-n1 { + margin-right: -0.25rem !important; } + .mb-xl-n1, + .my-xl-n1 { + margin-bottom: -0.25rem !important; } + .ml-xl-n1, + .mx-xl-n1 { + margin-left: -0.25rem !important; } + .m-xl-n2 { + margin: -0.5rem !important; } + .mt-xl-n2, + .my-xl-n2 { + margin-top: -0.5rem !important; } + .mr-xl-n2, + .mx-xl-n2 { + margin-right: -0.5rem !important; } + .mb-xl-n2, + .my-xl-n2 { + margin-bottom: -0.5rem !important; } + .ml-xl-n2, + .mx-xl-n2 { + margin-left: -0.5rem !important; } + .m-xl-n3 { + margin: -1rem !important; } + .mt-xl-n3, + .my-xl-n3 { + margin-top: -1rem !important; } + .mr-xl-n3, + .mx-xl-n3 { + margin-right: -1rem !important; } + .mb-xl-n3, + .my-xl-n3 { + margin-bottom: -1rem !important; } + .ml-xl-n3, + .mx-xl-n3 { + margin-left: -1rem !important; } + .m-xl-n4 { + margin: -1.5rem !important; } + .mt-xl-n4, + .my-xl-n4 { + margin-top: -1.5rem !important; } + .mr-xl-n4, + .mx-xl-n4 { + margin-right: -1.5rem !important; } + .mb-xl-n4, + .my-xl-n4 { + margin-bottom: -1.5rem !important; } + .ml-xl-n4, + .mx-xl-n4 { + margin-left: -1.5rem !important; } + .m-xl-n5 { + margin: -3rem !important; } + .mt-xl-n5, + .my-xl-n5 { + margin-top: -3rem !important; } + .mr-xl-n5, + .mx-xl-n5 { + margin-right: -3rem !important; } + .mb-xl-n5, + .my-xl-n5 { + margin-bottom: -3rem !important; } + .ml-xl-n5, + .mx-xl-n5 { + margin-left: -3rem !important; } + .m-xl-auto { + margin: auto !important; } + .mt-xl-auto, + .my-xl-auto { + margin-top: auto !important; } + .mr-xl-auto, + .mx-xl-auto { + margin-right: auto !important; } + .mb-xl-auto, + .my-xl-auto { + margin-bottom: auto !important; } + .ml-xl-auto, + .mx-xl-auto { + margin-left: auto !important; } } + +.text-monospace { + font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } + +.text-justify { + text-align: justify !important; } + +.text-wrap { + white-space: normal !important; } + +.text-nowrap { + white-space: nowrap !important; } + +.text-truncate { + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; } + +.text-left { + text-align: left !important; } + +.text-right { + text-align: right !important; } + +.text-center { + text-align: center !important; } + +@media (min-width: 576px) { + .text-sm-left { + text-align: left !important; } + .text-sm-right { + text-align: right !important; } + .text-sm-center { + text-align: center !important; } } + +@media (min-width: 768px) { + .text-md-left { + text-align: left !important; } + .text-md-right { + text-align: right !important; } + .text-md-center { + text-align: center !important; } } + +@media (min-width: 992px) { + .text-lg-left { + text-align: left !important; } + .text-lg-right { + text-align: right !important; } + .text-lg-center { + text-align: center !important; } } + +@media (min-width: 1200px) { + .text-xl-left { + text-align: left !important; } + .text-xl-right { + text-align: right !important; } + .text-xl-center { + text-align: center !important; } } + +.text-lowercase { + text-transform: lowercase !important; } + +.text-uppercase { + text-transform: uppercase !important; } + +.text-capitalize { + text-transform: capitalize !important; } + +.font-weight-light { + font-weight: 300 !important; } + +.font-weight-lighter { + font-weight: lighter !important; } + +.font-weight-normal { + font-weight: 400 !important; } + +.font-weight-bold { + font-weight: 700 !important; } + +.font-weight-bolder { + font-weight: bolder !important; } + +.font-italic { + font-style: italic !important; } + +.text-white { + color: #fff !important; } + +.text-primary { + color: #007bff !important; } + +a.text-primary:hover, a.text-primary:focus { + color: #0056b3 !important; } + +.text-secondary { + color: #6c757d !important; } + +a.text-secondary:hover, a.text-secondary:focus { + color: #494f54 !important; } + +.text-success { + color: #28a745 !important; } + +a.text-success:hover, a.text-success:focus { + color: #19692c !important; } + +.text-info { + color: #17a2b8 !important; } + +a.text-info:hover, a.text-info:focus { + color: #0f6674 !important; } + +.text-warning { + color: #ffc107 !important; } + +a.text-warning:hover, a.text-warning:focus { + color: #ba8b00 !important; } + +.text-danger { + color: #dc3545 !important; } + +a.text-danger:hover, a.text-danger:focus { + color: #a71d2a !important; } + +.text-light { + color: #f8f9fa !important; } + +a.text-light:hover, a.text-light:focus { + color: #cbd3da !important; } + +.text-dark { + color: #343a40 !important; } + +a.text-dark:hover, a.text-dark:focus { + color: #121416 !important; } + +.text-body { + color: #212529 !important; } + +.text-muted { + color: #6c757d !important; } + +.text-black-50 { + color: rgba(0, 0, 0, 0.5) !important; } + +.text-white-50 { + color: rgba(255, 255, 255, 0.5) !important; } + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; } + +.text-decoration-none { + text-decoration: none !important; } + +.text-break { + word-break: break-word !important; + overflow-wrap: break-word !important; } + +.text-reset { + color: inherit !important; } + +.visible { + visibility: visible !important; } + +.invisible { + visibility: hidden !important; } + +@media print { + *, + *::before, + *::after { + text-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; } + a:not(.btn) { + text-decoration: underline; } + abbr[title]::after { + content: " (" attr(title) ")"; } + pre { + white-space: pre-wrap !important; } + pre, + blockquote { + border: 1px solid #adb5bd; + page-break-inside: avoid; } + thead { + display: table-header-group; } + tr, + img { + page-break-inside: avoid; } + p, + h2, + h3 { + orphans: 3; + widows: 3; } + h2, + h3 { + page-break-after: avoid; } + @page { + size: a3; } + body { + min-width: 992px !important; } + .container { + min-width: 992px !important; } + .navbar { + display: none; } + .badge { + border: 1px solid #000; } + .table { + border-collapse: collapse !important; } + .table td, + .table th { + background-color: #fff !important; } + .table-bordered th, + .table-bordered td { + border: 1px solid #dee2e6 !important; } + .table-dark { + color: inherit; } + .table-dark th, + .table-dark td, + .table-dark thead th, + .table-dark tbody + tbody { + border-color: #dee2e6; } + .table .thead-dark th { + color: inherit; + border-color: #dee2e6; } } + +body { + font-family: "Poppins", Arial, sans-serif; + font-size: 16px; + line-height: 1.8; + font-weight: normal; + background: #f8f9fd; + color: gray; } + +a { + -webkit-transition: .3s all ease; + -o-transition: .3s all ease; + transition: .3s all ease; + color: #1089ff; } + a:hover, a:focus { + text-decoration: none !important; + outline: none !important; + -webkit-box-shadow: none; + box-shadow: none; } + +h1, h2, h3, h4, h5, +.h1, .h2, .h3, .h4, .h5 { + line-height: 1.5; + font-weight: 400; + font-family: "Poppins", Arial, sans-serif; + color: #000; } + +.bg-primary { + background: #1089ff !important; } + +.ftco-section { + padding: 7em 0; } + +.ftco-no-pt { + padding-top: 0; } + +.ftco-no-pb { + padding-bottom: 0; } + +.heading-section { + font-size: 28px; + color: #000; } + +.img { + background-size: cover; + background-repeat: no-repeat; + background-position: center center; } + +.table-wrap { + overflow-x: scroll; } + +.table { + min-width: 1000px !important; + width: 100%; + background: #fff; } + .table thead.thead-primary { + background: #1089ff; } + .table thead th { + border: none; + padding: 20px 30px; + font-size: 14px; + color: #fff; } + .table tbody tr { + margin-bottom: 10px; } + .table tbody th, .table tbody td { + border: none; + padding: 20px 30px; + border-bottom: 3px solid #f8f9fd; + font-size: 14px; } -- GitLab From 4f1a712ae16a00fb7bdc3ab0c36f2aa6dce1d7d2 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Tue, 22 Jun 2021 09:46:08 +0200 Subject: [PATCH 06/15] Merge des travaux --- FlOpEDT/base/static/base/img/valider.png | Bin 0 -> 11043 bytes .../static/solve_board/easySelect.js | 2 +- .../static/solve_board/easySelectStyle.css | 266 ++++++++- .../static/solve_board/kiffDegree.js | 102 ++++ .../static/solve_board/solve_perso.css | 8 + .../static/solve_board/solve_perso.js | 553 ++++++++++-------- .../solve_board/main-board_perso.html | 29 +- .../solve_board/main-board_perso_pierre.html | 166 ++++++ 8 files changed, 873 insertions(+), 253 deletions(-) create mode 100644 FlOpEDT/base/static/base/img/valider.png create mode 100644 FlOpEDT/solve_board/static/solve_board/kiffDegree.js create mode 100644 FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html diff --git a/FlOpEDT/base/static/base/img/valider.png b/FlOpEDT/base/static/base/img/valider.png new file mode 100644 index 0000000000000000000000000000000000000000..7b05b73c8dbfb45845c02bd55f6f0ec7cf290326 GIT binary patch literal 11043 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 literal 0 HcmV?d00001 diff --git a/FlOpEDT/solve_board/static/solve_board/easySelect.js b/FlOpEDT/solve_board/static/solve_board/easySelect.js index 8af19691c..4fc083f29 100644 --- a/FlOpEDT/solve_board/static/solve_board/easySelect.js +++ b/FlOpEDT/solve_board/static/solve_board/easySelect.js @@ -143,7 +143,7 @@ function eachItemoutput() { if (settings.showEachItem == true) { - $styledSelect.text(arrText.join(", ")).removeClass('active').css('color', settings.selectColor); + $styledSelect.text(arrText.join(", ")).removeClass('active').css('color', settings.selectColor); } else { var $checked_items = checkItem.filter(":checked").length; diff --git a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css index 676b40b20..b0c5e4cfd 100644 --- a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css +++ b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css @@ -14,7 +14,7 @@ color: #414c52; border: 1px solid #cbcbcb !important; border-radius: 3px; - height: 33px; + height: 25px; } .styledSelect { @@ -281,7 +281,7 @@ li.no_results { .range-slider__range { -webkit-appearance: none; /* Override default CSS styles */ appearance: none; - width: 100%; /* Full-width */ + height: 25px; /* Specified height */ background: #a9a9a9; /* Grey background */ outline: none; /* Remove outline */ @@ -312,7 +312,7 @@ li.no_results { cursor: pointer; /* Cursor on hover */ } - #conteneurGeneral + #conteneurGeneral { display: flex; width: 81%; @@ -360,13 +360,19 @@ li.no_results { .elementGeneral:nth-child(4) { - width: 18.3%; - + width: 9%; padding-left: 5%; + border-right: 1px black solid; } + .elementGeneral:nth-child(5) + { + width: 5%; + padding-left: 2%; + text-align: center; + } -#conteneurCategorie + #conteneurCategorie { display: flex; flex-wrap: wrap; @@ -407,72 +413,298 @@ li.no_results { + + table { - width: 70%; + margin-left: 270px; + margin-right: 90px; + width: 1460px; } tr:hover { - background-color: grey; + background-color: yellow; } - -.ligne_contrainte { +.tr{ display: flex; flex-wrap: wrap; - width: 100%; border-bottom: 1px grey solid; } .selec_contrainte { - width: 6%; + height: 5px; + width: 2%; padding-top: 1.5%; padding-right: 1%; text-align: right; + background-color: DodgerBlue; } + + .nom_contrainte { - width: 16%; + width: 285px; overflow: auto; padding-top: 0.6%; padding-left: 1%; padding-right: 1%; + background-color: DeepSkyBlue; } .para_contrainte { - width: 46%; + overflow: auto; padding-left: 1%; padding-right: 1%; padding-bottom: 0.5%; display: flex; flex-wrap: wrap; + background-color: cornflowerblue; + } +.case_param_required + { + margin-top: 3px; + margin-left: 3px; + padding-left: 1%; + padding-right: 1%; + text-align: center; + background-color: indianred; + border: 1px solid black; + } + +.commentaire + { + margin-bottom: 10px; + margin-top: 3px; + margin-left: 3px; + padding-left: 1%; + padding-right: 1%; + text-align: center; + background-color: indianred; + border: 1px solid black; + } + +.case_param_second + { + margin-top: 3px; + margin-left: 3px; + overflow: auto; + flex-wrap: wrap; + padding-left: 1%; + padding-right: 1%; + text-align: center; + background-color: seagreen; + border: 1px solid black; + } .ajout_param{ + background-color: green; padding-left: 1%; padding-right: 1%; margin-top: 5%; margin-bottom: 6%; } +#btn_possibl{ + background-color: white; + margin-bottom: 5px; + +} + +#btn_possibl:disabled{ + color:black; + border-color: #a0a0a0; + background-color: white; + +} + +.zone_Possib{ + display: none; + margin-bottom: 10px; + text-align: center; + overflow: auto; + flex-wrap: wrap; + padding-left: 1%; + padding-right: 1%; + background-color: white; + max-width: 140px; +} + +.Menu{ + display: none; +} + +#image_Add{ + padding-left: 10px; + padding-right: 10px; + +} + + + +#image_Delete{ + padding-left: 10px; + padding-right: 10px; + +} + .activ_contrainte{ width: 5.2%; text-align: center; - padding-top: 1.5%; + background-color: SkyBlue; } .poid_contrainte{ width: 14%; - padding-top: 1.5%; padding-left: 1%; + background-color: LightSkyBlue; } .duplic_contrainte{ width: 8%; text-align: center; + background-color: LightSteelBlue; + +} + +#image_Validate{ + padding-left: 40px; + +} + + #conteneurOptions + { + position: fixed; + width: 13.5%; + } + + + + #tableauOptions + { + background-color: grey; + flex-wrap: wrap; + border: 2px black solid; + } + + .elementTableauOptions:nth-child(1) + { + text-align: center; + border-bottom: 1px black solid; + } + + .elementTableauOptions:nth-child(2) + { + text-align: center; + border-bottom: 1px black solid; + padding-top: 5%; + padding-bottom: 5%; + } + + .elementTableauOptions:nth-child(3) + { + text-align: center; + border-bottom: 1px black solid; + padding-top: 5%; + padding-bottom: 5%; + } + + .elementTableauOptions:nth-child(4) + { + text-align: center; + border-bottom: 1px black solid; + padding-top: 3%; + padding-bottom: 5%; + } + + + #boutonSupprimer + { + background-color: red; + } + + #boutonValiderPoidsOption + { + background-color: lime; + } + + + #conteneurAjoutLigne + { + display: flex; + width: 80.5%; + flex-wrap: wrap; + margin-left: 15%; + + position: -webkit-sticky; + position: sticky; + top: 51px; + + border: 5px lime solid; + background-color: #c3c3c3; + } + + .elementAjoutLigne:nth-child(1) + { + width: 18.5%; + text-align: right; + + padding-top: 2%; + padding-right: 5%; + } + + .elementAjoutLigne:nth-child(2) + { + width: 46%; + overflow: auto; + + padding-left: 1%; + padding-right: 1%; + display: flex; + flex-wrap: wrap; + } + + .elementAjoutLigne:nth-child(3) + { + width: 5.2%; + text-align: center; + + padding-top: 2%; + } + + .elementAjoutLigne:nth-child(4) + { + width: 14%; padding-top: 1.5%; + padding-left: 1%; + } -} \ No newline at end of file + .elementAjoutLigne:nth-child(5) + { + width: 8%; + text-align: center; + + padding-top: 2%; + } + + #boutonAjoutEnregistrement + { + background-color: lime; + } + + #caseBoutonEnregistrerGeneral + { + text-align: center; + padding-top: 15%; + padding-bottom: 10%; + } + + #boutonEnregistrerGeneral + { + background-color: lime; + font-size: 20px; + } \ No newline at end of file diff --git a/FlOpEDT/solve_board/static/solve_board/kiffDegree.js b/FlOpEDT/solve_board/static/solve_board/kiffDegree.js new file mode 100644 index 000000000..58f21c370 --- /dev/null +++ b/FlOpEDT/solve_board/static/solve_board/kiffDegree.js @@ -0,0 +1,102 @@ + +for(let item of allPreferencesItems[name]){ + // Faites les trucs qui créent votre ligne + // et mettez ces deux lignes à l'endroit qui vous intéresse + let newBarKiff=document.getElementById(`kiffDegree${name}${item.id}`) + newBarKiff.innerHTML=addCircles(`${name}Kiff_${item.name}`,`${name}KiffBar_${item.name}`); + } +for(let elmt of allcircles){ + //The element cirlcle clicked take the attribut check=true + elmt.addEventListener("click",otherCircleInCheckFalse); + elmt.addEventListener("click", circleInCheckTrue); + + //animation that put a black border on the circle + elmt.addEventListener("click",animNull); + elmt.addEventListener("click", animBorderBlack); + } + + + let circles=[{id:1, color:"#009000", coordx:10,value:8}, +{id:2, color:"#40A400" , coordx:30,value:7}, +{id:3, color:"#80B800" , coordx:50,value:6}, +{id:4, color:"#BFCC00" , coordx:70,value:5}, +{id:5, color:"#FFA500" , coordx:90,value:4}, +{id:6, color:"#FF7C00" , coordx:110,value:3}, +{id:7, color:"#FF5300" , coordx:130,value:2}, +{id:8, color:"#FF3000", coordx:150,value:1}, +{id:9, color:"#FF0000", coordx:170,value:0}] + + +function addCircles(idCircle,idBar){ + let newCircles=""; + for(let c of circles){ + let coordx=c.id*6+50; + let newCircle= ` `; + newCircles=newCircles+newCircle + // //sens interdit pour le cercle 9 + // if(c.id===9){ + + // d3.select("#"+idCircle+"circleContent9") + // .append("rect") + // .attr("x",163) + // .attr("y",9) + // .attr("width",14) + // .attr("height",2.5) + // .attr("fill","white"); + // } + } + newCircles=newCircles+""; + return newCircles +} + + + + + +//allCircles récupère tous les cercles de kiff +//let allcircles=document.getElementsByClassName("circleKiff") + +/*####################################Fonctionnel####################################*/ + +//Quand on click sur un cercle, il prend l'attribut check=True et les autres cercles de sa ligne prennent l'attribut check=False +for(let elmt of allcircles){ + elmt.addEventListener("click",otherCircleInCheckFalse); + elmt.addEventListener("click", circleInCheckTrue); +} +//Quand on click sur cercle, il prend l'attribut check=True +function circleInCheckTrue(event){ + let circleId=event.originalTarget.id; + d3.select("#"+circleId).attr("check","True"); +} +//Quand on click sur un cercle, les autres prennent l'attribut check=False +function otherCircleInCheckFalse(event){ + console.log(event); + let idLine=event.target.parentNode.parentNode.id; + d3.select("#"+idLine).selectAll("circle").attr("check","False"); +} + +/*####################################Animation####################################*/ +//Animation quand on clique sur l'un des cercles + +for(let elmt of allcircles){ + elmt.addEventListener("click",animNull); + elmt.addEventListener("click", animBorderBlack); +} + +//fonction qui ajoute un contour noir sur un cercle sélectionné et qui l'enlève si déjà sélectionné +function animBorderBlack(event){ + let circleId=event.originalTarget.id; + d3.select("#"+circleId).attr("stroke","black").attr("stroke-width",5).attr("r",8); + let value=event.explicitOriginalTarget.attributes.value.nodeValue; + if(value==="0"){ + alert("Attention, choisir cette préférence indique un refus total!"); + } +} + +//quand on click sur un cercle, les autres sont démunis de leurs animation +function animNull(event){ + let idLine=event.explicitOriginalTarget.parentNode.parentNode.id; + d3.select("#"+idLine).selectAll("circle").attr("stroke-width",0).attr("r",10); +} + +/*########################################################################*/ diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.css b/FlOpEDT/solve_board/static/solve_board/solve_perso.css index 338a27c57..18bc42682 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.css +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.css @@ -170,6 +170,14 @@ text-align: center; } + .caseParam + { + padding-left: 1%; + padding-right: 1%; + width: 16%; + text-align: center; + } + #caseBoutonAjoutParam { padding-left: 1%; diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 463b4851b..8f2377d87 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -1,21 +1,21 @@ // This file is part of the FlOpEDT/FlOpScheduler project. // Copyright (c) 2017 // Authors: Iulian Ober, Paul Renaud-Goud, Pablo Seban, et al. -// +// // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. -// +// // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Affero General Public License for more details. -// +// // You should have received a copy of the GNU Affero General Public // License along with this program. If not, see // . -// +// // You can be released from the requirements of the license by purchasing // a commercial license. Buying such a license is mandatory as soon as // you develop activities involving the FlOpEDT/FlOpScheduler software @@ -23,25 +23,90 @@ let parameters = { people:{ Tutor:[ - {id:1,username:'PSE'} - - ] + { + "id": 1, + "name": "PSE" + }, + { + "id": 2, + "name": "PRG" + }, + { + "id": 3, + "name": "AV" + }, + { + "id": 4, + "name": "BBCB" + }, + { + "id": 5, + "name": "BC" + }, + { + "id": 6, + "name": "BCPV" + }, + { + "id": 7, + "name": "BDB" + }, + { + "id": 8, + "name": "BEFT" + }, + { + "id": 9, + "name": "BFLT" + }, + { + "id": 10, + "name": "BK" + }, + { + "id": 11, + "name": "BM" + }, + { + "id": 12, + "name": "BMB" + }, + { + "id": 13, + "name": "BMBJ" + } +] }, base:{ Module:[ - {id:1,abbrev:'AMN'} - + {"id":1,"abbrev":"AMN"}, + {"id":2,"abbrev":'AMN2'}, + {"id":3,"abbrev":'AMN3'}, + {"id":4,"abbrev":'AMN4'} ] } } +let categories = [ + {id:1, + name: 'Tous', + parent:null, + constraints_list:[8,9,10], + hidden:false}, + {id:2, + name: 'Categorie cool', + parent:1, + constraints_list:[], + hidden:true} +] + + let constraints = [ { id: 8, // id de la TTC name: "Covoiturage", // nom du type de TTC weight: 1, // poids de la TTC is_active: true, // contrainte active ? - category : 2, // Id de la catégorie comment: "", // commentaire sur la TTC last_modification: null, // date de création weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} @@ -52,26 +117,26 @@ let constraints = [ required: true, // paramètre obligatoire ? all_except: true, // tous sauf ? multiple : true, - id_list: [1], // ids des objets pour le paramètre dans la TTC - acceptable: [1,2,3,4] // ids des objets acceptables comme valeur du paramètre + id_list: [5,6,7], // ids des objets pour le paramètre dans la TTC + acceptable: [1,2,3,4,5,6,7,8,9,10,11] // ids des objets acceptables comme valeur du paramètre }, { - name: "Module", // nom du paramètre dans la TTC - type: 'base.Module', // nom du type des objets dans ce paramètre + name: "bonjour", // nom du paramètre dans la TTC + type: 'people.Tutor', // nom du type des objets dans ce paramètre required: false, // paramètre obligatoire ? all_except: true, // tous sauf ? - multiple : false, + multiple : true, id_list: [], // ids des objets pour le paramètre dans la TTC - acceptable: [5,6,7,8] // ids des objets acceptables comme valeur du paramètre + acceptable: [1,2,3,4,5,6,7,8,9,10,11,12] // ids des objets acceptables comme valeur du paramètre }, { - name: "Eleve", // nom du paramètre dans la TTC - type: 'base.Student', // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? + name: "Module", // nom du paramètre dans la TTC + type: 'base.Module', // nom du type des objets dans ce paramètre + required: true, // paramètre obligatoire ? all_except: true, // tous sauf ? - multiple : false, - id_list: [5], // ids des objets pour le paramètre dans la TTC - acceptable: [5,6,7,8] // ids des objets acceptables comme valeur du paramètre + multiple : true, + id_list: [1,2,3], // ids des objets pour le paramètre dans la TTC + acceptable: [1,2,3,4] // ids des objets acceptables comme valeur du paramètre } ] }, @@ -86,7 +151,7 @@ let constraints = [ parameters : [ { name: "Lettre", // nom du paramètre dans la TTC - type: "str", // nom du type des objets dans ce paramètre + type: "people.Tutor", // nom du type des objets dans ce paramètre required: true, // paramètre obligatoire ? all_except: true, // tous sauf ? multiple : false, @@ -95,26 +160,17 @@ let constraints = [ }, { name: "Nombres", // nom du paramètre dans la TTC - type: 'int', // nom du type des objets dans ce paramètre + type: 'people.Tutor', // nom du type des objets dans ce paramètre required: false, // paramètre obligatoire ? all_except: true, // tous sauf ? multiple : true, id_list: [], // ids des objets pour le paramètre dans la TTC - acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre - }, - { - name: "Eleve", // nom du paramètre dans la TTC - type: 'base.Student', // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : false, - id_list: [5], // ids des objets pour le paramètre dans la TTC - acceptable: [5,6,7,8] // ids des objets acceptables comme valeur du paramètre + acceptable: [1,5,6,8,9] // ids des objets acceptables comme valeur du paramètre } ] }, { - id: 9, // id de la TTC + id: 10, // id de la TTC name: "Bonsoir", // nom du type de TTC weight: 8, // poids de la TTC is_active: true, // contrainte active ? @@ -124,8 +180,8 @@ let constraints = [ parameters : [ { name: "Lettre", // nom du paramètre dans la TTC - type: "str", // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? + type: "people.Tutor", // nom du type des objets dans ce paramètre + required: true, // paramètre obligatoire ? all_except: true, // tous sauf ? multiple : false, id_list: ["A"], // ids des objets pour le paramètre dans la TTC @@ -133,137 +189,236 @@ let constraints = [ }, { name: "Nombres", // nom du paramètre dans la TTC - type: 'int', // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : true, - id_list: [1,7], // ids des objets pour le paramètre dans la TTC - acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre - }, - { - name: "horaire", // nom du paramètre dans la TTC - type: 'int', // nom du type des objets dans ce paramètre + type: 'people.Tutor', // nom du type des objets dans ce paramètre required: false, // paramètre obligatoire ? all_except: true, // tous sauf ? multiple : true, - id_list: [], // ids des objets pour le paramètre dans la TTC + id_list: [1], // ids des objets pour le paramètre dans la TTC acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre } - ] }]; -//Variables + +//Variables let consZone = document.getElementById("Zone de contrainte"); let tbl = document.createElement("table"); let tblBody = document.createElement("tbody"); let parametres; - +let str; +let val; //Boucle parcourant chaque contrainte 1 par 1 -for (let l = 0; l < lines.length; l++) { - +let nom; +let case_param_required = document.getElementsByTagName("body")[0]; +for (let l = 0; l < constraints.length; l++) { // creation d'une colonne let row = document.createElement("tr"); - row.setAttribute('class','ligne_contrainte') + row.setAttribute('class', 'ligne_contrainte') // Bouton sélection let select = document.createElement("td"); - select.setAttribute('class','selec_contrainte') + select.setAttribute('class', 'selec_contrainte') let selec = document.createElement('input'); selec.setAttribute('type', 'checkbox'); selec.setAttribute('id', 'selection'); selec.setAttribute('name', 'selection'); select.appendChild(selec); row.appendChild(select); - if (lines[l].is_active === true) { - selec.checked = true; - } + //Nom de la contrainte let div_nom = document.createElement("td"); - div_nom.setAttribute('class','nom_contrainte'); - nom = document.createTextNode(lines[l].name); + div_nom.setAttribute('class', 'nom_contrainte'); + nom = document.createTextNode(constraints[l].name); div_nom.appendChild(nom); row.appendChild(div_nom); // Parametres de la contraintes -let para = document.createElement("td"); - para.setAttribute('class','para_contrainte') -let ol = document.createElement("ol"); -let p = document.createElement("p"); + let para = document.createElement("td"); + para.setAttribute('class', 'para_contrainte'); + + //Les différents parametres existants de la ligne de contrainte - for (let k = 0; k < lines[l].parameters.length; k++) { - let btn_Possib = document.createElement('input'); - btn_Possib.setAttribute('type', 'image'); - btn_Possib.setAttribute('id', 'image_Add'); - btn_Possib.setAttribute('src', '/static/base/img/ajout.png'); - btn_Possib.setAttribute('width', '15px'); - btn_Possib.setAttribute('height', '15px'); - - let btn_Suppr = document.createElement('input'); - btn_Suppr.setAttribute('type', 'image'); - btn_Suppr.setAttribute('id', 'image_Add'); - btn_Suppr.setAttribute('src', '/static/base/img/suppression.png'); - btn_Suppr.setAttribute('width', '15px'); - btn_Suppr.setAttribute('height', '15px'); - let li = document.createElement("li"); - if(lines[l].parameters[k].id_list.length!=0){ - parametres = document.createTextNode(" "+lines[l].parameters[k].name+" "); - if(lines[l].parameters[k].required===true){ - li.appendChild(parametres); - li.appendChild(btn_Suppr); - ol.appendChild(p); - ol.appendChild(li); - }else{ - li.appendChild(btn_Possib); - li.appendChild(parametres); - li.appendChild(btn_Suppr); - ol.appendChild(p); - ol.appendChild(li); + for (let k = 0; k < constraints[l].parameters.length; k++) { + let p_param = document.createElement("p"); + p_param.setAttribute('id','param'+constraints[l].parameters[k].name); + let strong = document.createElement("strong"); + let em = document.createElement("em"); + + + let btn_Possib = document.createElement('input'); + btn_Possib.setAttribute('type', 'image'); + btn_Possib.setAttribute('id', 'image_Add'); + btn_Possib.setAttribute('src', '/static/base/img/ajout.png'); + btn_Possib.setAttribute('width', '15px'); + btn_Possib.setAttribute('height', '15px'); + + //Zone d'affichage des attributs d'un paramètre + let btn_possibl = document.createElement('input'); + btn_possibl.setAttribute('id', 'btn_possibl'); + btn_possibl.setAttribute('type', 'button'); + btn_possibl.setAttribute('width', '15px'); + btn_possibl.setAttribute('height', '15px'); + btn_possibl.setAttribute('onclick', 'hide(\'zone_Possib'+k+'\')'); + btn_possibl.setAttribute('class', 'btn_possibl'); + + let zone_Possib = document.createElement("div"); + zone_Possib.setAttribute('class', 'zone_Possib' ); + zone_Possib.setAttribute('id', 'zone_Possib'+k ); + + let type = constraints[l].parameters[k].type; + let type_concat = stringGetter(type); + + + for(let m = 0; m < constraints[l].parameters[k].id_list.length; m++ ) { + let tab_username = []; + + type_concat.find(function(n){ + + if(n.id === constraints[l].parameters[k].id_list[m]){ + let id = n.id-1; + let list_key = Object.keys(n); + let second_key = list_key[1]; + let zi_key = type+"."+id+"."+second_key; + let third_key = stringGetter(zi_key); + + tab_username.push(third_key); + } + }); + for(let h = 0;h suppr(constraints[l].parameters[k].id_list)); + btn_Suppr.setAttribute('width', '15px'); + btn_Suppr.setAttribute('height', '15px'); + + let btn_None = document.createElement('input'); + btn_None.setAttribute('id', 'None'); + btn_None.setAttribute('type', 'button'); + btn_None.setAttribute('value', 'None'); + btn_None.setAttribute('width', '15px'); + btn_None.setAttribute('height', '15px'); + + + + if (constraints[l].parameters[k].id_list.length != 0) { + + parametres = document.createTextNode(" " + constraints[l].parameters[k].name + " "); + if (constraints[l].parameters[k].required === true) { + let case_param_required = document.createElement("div"); + case_param_required.setAttribute('class', 'case_param_required'); + strong.appendChild(parametres); + p_param.appendChild(strong); + case_param_required.appendChild(p_param); + case_param_required.appendChild(btn_Possib); + if(btn_possibl.value === ""){ + case_param_required.appendChild(btn_None); + btn_None.disabled = true; + }else { + case_param_required.appendChild(btn_possibl); + } + case_param_required.appendChild(btn_Suppr); + case_param_required.appendChild(zone_Possib); + para.appendChild(case_param_required); + + } else { + let case_param_second = document.createElement("div"); + case_param_second.setAttribute('class', 'case_param_second'); + em.appendChild(parametres); + p_param.appendChild(em); + case_param_second.appendChild(p_param); + case_param_second.appendChild(btn_Possib); + if(btn_possibl.value === ""){ + case_param_second.appendChild(btn_None); + btn_None.disabled = true; + }else { + case_param_second.appendChild(btn_possibl); + } + case_param_second.appendChild(btn_Suppr); + case_param_second.appendChild(zone_Possib); + para.appendChild(case_param_second); + + } + } - para.appendChild(ol); + } row.appendChild(para); //Bouton permettant l'affichage du menu déroulant let ajout_Param = document.createElement("td"); - ajout_Param.setAttribute('class','ajout_param'); + ajout_Param.setAttribute('class', 'ajout_param'); let btn = document.createElement('input'); btn.setAttribute('type', 'image'); btn.setAttribute('id', 'image_Add'); btn.setAttribute('src', '/static/base/img/ajout.png'); - btn.setAttribute('width', '25px'); - btn.setAttribute('height', '25px'); - btn.setAttribute('onclick', 'hide'+l+'()'); + btn.setAttribute('width', '20px'); + btn.setAttribute('height', '20px'); + btn.setAttribute('onclick', 'hide(\'Menu'+l+'\')'); ajout_Param.appendChild(btn); + let btn_valid_param = document.createElement('input'); + btn_valid_param.setAttribute('type', 'button'); + btn_valid_param.setAttribute('id', 'valider'+l); + btn_valid_param.setAttribute('value', 'Valider'); + btn_valid_param.setAttribute('width', '20px'); + btn_valid_param.setAttribute('height', '20px'); row.appendChild(ajout_Param); + //Ajout de la zone permettant l'affichage du menu déroulant let Menu = document.createElement("div"); - Menu.setAttribute('id', 'Menu'+l); + Menu.setAttribute('id', 'Menu' + l); + Menu.setAttribute('class', 'Menu'); let Select = document.createElement("select"); - Select.setAttribute('id', 'ChoixP'+l); + Select.setAttribute('id', 'ChoixP' + l); Select.setAttribute('data-max', ''); Select.setAttribute('multiple', 'multiple'); Select.setAttribute('style', ''); Menu.appendChild(Select); + Menu.appendChild(btn_valid_param); ajout_Param.appendChild(Menu); row.appendChild(ajout_Param); //Activation d'une ligne let activ = document.createElement("td"); - activ.setAttribute('class','activ_contrainte'); + activ.setAttribute('class', 'activ_contrainte'); let activate = document.createElement('input'); activate.setAttribute('type', 'checkbox'); activate.setAttribute('id', 'activation'); @@ -271,41 +426,43 @@ let p = document.createElement("p"); activ.appendChild(activate); row.appendChild(activ); -// Selection du poids -let range_td = document.createElement("td"); - range_td.setAttribute('class','poid_contrainte'); + if (constraints[l].is_active === true) { + activate.checked = true; + } + + // Selection du poids + let range_td = document.createElement("td"); + range_td.setAttribute('class', 'poid_contrainte'); -let slide_div = document.createElement('div'); - slide_div.setAttribute('class','range-slider') -let slide_btn = document.createElement('input'); + let slide_btn = document.createElement('input'); slide_btn.setAttribute('type', 'range'); slide_btn.setAttribute('min', '1'); slide_btn.setAttribute('max', '8'); - slide_btn.setAttribute('value', lines[l].weight); + slide_btn.setAttribute('value', constraints[l].weight); slide_btn.setAttribute('class', 'range-slider__range'); slide_btn.setAttribute('id', 'Weight'); slide_btn.setAttribute('name', 'Weight'); -let spans = document.createElement("span"); - spans.setAttribute('class','range-slider__value'); - spans.textContent = lines[l].weight; - slide_div.appendChild(slide_btn); - range_td.appendChild(slide_div); - slide_div.appendChild(spans); + range_td.appendChild(slide_btn); row.appendChild(range_td); - - -// Duplication -let duplic = document.createElement("td"); - duplic.setAttribute('class','duplic_contrainte'); + // Duplication + let duplic = document.createElement("td"); + duplic.setAttribute('class', 'duplic_contrainte'); let btn_duplicate = document.createElement('input'); btn_duplicate.setAttribute('type', 'image'); btn_duplicate.setAttribute('id', 'image_duplic'); btn_duplicate.setAttribute('src', '/static/base/img/copier-coller-1.png'); btn_duplicate.setAttribute('width', '25px'); btn_duplicate.setAttribute('height', '25px'); + let btn_Validate = document.createElement('input'); + btn_Validate.setAttribute('type', 'image'); + btn_Validate.setAttribute('id', 'image_Validate'); + btn_Validate.setAttribute('src', '/static/base/img/valider.png'); + btn_Validate.setAttribute('width', '25px'); + btn_Validate.setAttribute('height', '25px'); duplic.appendChild(btn_duplicate); + duplic.appendChild(btn_Validate); row.appendChild(duplic); // add the row to the end of the table body @@ -313,95 +470,61 @@ let duplic = document.createElement("td"); } +//function index(obj,i) {return obj[i]} tbl.appendChild(tblBody); consZone.appendChild(tbl); +//Fonction transformant un string en un objet +function stringGetter (getter) { + return getter + .split('.') + .reduce((o,i)=>o[i], parameters); + } + + // Tentative de sauvegarde du fichier js modifié + /*function suppr(param){ + var old_data = param; + var new_data = []; + console.log(localStorage.setItem(param,'[]')); + localStorage.removeItem(param); + + }*/ + + //Fonction permettant la suppression d'un parametre ( pour l'instant seulement dans la console) +function suppr(param){ + console.log(param); + param.length=0; + console.log(param); +} - -//************************************************************************* -var ldd0 = document.getElementById("ChoixP0"); - - for(let j0 =0;j0 - {% endblock %} + +
    +

    Actions

    @@ -58,8 +60,30 @@

    Paramètres

    Activation

    Poids

    +

    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +

    1--2--3--4--5--6--7--8--O

    +
    +
    + +
    +
    + +
    @@ -70,9 +94,6 @@
    - - -
    diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html new file mode 100644 index 000000000..c1d434fc7 --- /dev/null +++ b/FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + +{% extends "base.html" %} +{% load i18n %} + +{% load static %} + +{% csrf_token %} + + +{% block title %} {% trans "Schedule Generation" %} {% endblock %} +{% block content %} + + + + + + + +
    +
    +

    Actions

    +
    +
    +
    +

    Gérer le poids

    +
    + +
    +

    1--2--3--4--5--6--7--8--O

    + +
    +
    +
    + + +
    +

    Type de contrainte

    +

    Paramètres

    +

    Activation

    +

    Poids

    +
    + +
    +
    +

    Toutes les contraintes

    + +
    +

    Image + Nom de la catégorie

    +
    + +
    +
    +

    • Covoiturage

    +
    +
    +

    Professeurs :

    + +
    +
    +

    Horaire :

    + +
    +
    +

    Jours :

    + +
    +
    + +
    +
    +
    +
    + +
    +

    1--2--3--4--5--6--7--8--O

    +
    +
    +
    + +
    +
    +
    +

    Texte de remplissage

    +
    +

    + + +Isdem diebus Apollinaris Domitiani gener, paulo ante agens palatii Caesaris curam, ad Mesopotamiam missus a socero per militares numeros immodice scrutabatur, an quaedam altiora meditantis iam Galli secreta susceperint scripta, qui conpertis Antiochiae gestis per minorem Armeniam lapsus Constantinopolim petit exindeque per protectores retractus artissime tenebatur. + +Metuentes igitur idem latrones Lycaoniam magna parte campestrem cum se inpares nostris fore congressione stataria documentis frequentibus scirent, tramitibus deviis petivere Pamphyliam diu quidem intactam sed timore populationum et caedium, milite per omnia diffuso propinqua, magnis undique praesidiis conmunitam. + +Et olim licet otiosae sint tribus pacataeque centuriae et nulla suffragiorum certamina set Pompiliani redierit securitas temporis, per omnes tamen quotquot sunt partes terrarum, ut domina suscipitur et regina et ubique patrum reverenda cum auctoritate canities populique Romani nomen circumspectum et verecundum. + +Has autem provincias, quas Orontes ambiens amnis imosque pedes Cassii montis illius celsi praetermeans funditur in Parthenium mare, Gnaeus Pompeius superato Tigrane regnis Armeniorum abstractas dicioni Romanae coniunxit. + +Dein Syria per speciosam interpatet diffusa planitiem. hanc nobilitat Antiochia, mundo cognita civitas, cui non certaverit alia advecticiis ita adfluere copiis et internis, et Laodicia et Apamia itidemque Seleucia iam inde a primis auspiciis florentissimae. + +Illud tamen te esse admonitum volo, primum ut qualis es talem te esse omnes existiment ut, quantum a rerum turpitudine abes, tantum te a verborum libertate seiungas; deinde ut ea in alterum ne dicas, quae cum tibi falso responsa sint, erubescas. Quis est enim, cui via ista non pateat, qui isti aetati atque etiam isti dignitati non possit quam velit petulanter, etiamsi sine ulla suspicione, at non sine argumento male dicere? Sed istarum partium culpa est eorum, qui te agere voluerunt; laus pudoris tui, quod ea te invitum dicere videbamus, ingenii, quod ornate politeque dixisti. + +Tempore quo primis auspiciis in mundanum fulgorem surgeret victura dum erunt homines Roma, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat summitatem. + +Alii summum decus in carruchis solito altioribus et ambitioso vestium cultu ponentes sudant sub ponderibus lacernarum, quas in collis insertas cingulis ipsis adnectunt nimia subtegminum tenuitate perflabiles, expandentes eas crebris agitationibus maximeque sinistra, ut longiores fimbriae tunicaeque perspicue luceant varietate liciorum effigiatae in species animalium multiformes. + +Fieri, inquam, Triari, nullo pacto potest, ut non dicas, quid non probes eius, a quo dissentias. quid enim me prohiberet Epicureum esse, si probarem, quae ille diceret? cum praesertim illa perdiscere ludus esset. Quam ob rem dissentientium inter se reprehensiones non sunt vituperandae, maledicta, contumeliae, tum iracundiae, contentiones concertationesque in disputando pertinaces indignae philosophia mihi videri solent. + +Utque aegrum corpus quassari etiam levibus solet offensis, ita animus eius angustus et tener, quicquid increpuisset, ad salutis suae dispendium existimans factum aut cogitatum, insontium caedibus fecit victoriam luctuosam. + +Erat autem diritatis eius hoc quoque indicium nec obscurum nec latens, quod ludicris cruentis delectabatur et in circo sex vel septem aliquotiens vetitis certaminibus pugilum vicissim se concidentium perfusorumque sanguine specie ut lucratus ingentia laetabatur. + +Non ergo erunt homines deliciis diffluentes audiendi, si quando de amicitia, quam nec usu nec ratione habent cognitam, disputabunt. Nam quis est, pro deorum fidem atque hominum! qui velit, ut neque diligat quemquam nec ipse ab ullo diligatur, circumfluere omnibus copiis atque in omnium rerum abundantia vivere? Haec enim est tyrannorum vita nimirum, in qua nulla fides, nulla caritas, nulla stabilis benevolentiae potest esse fiducia, omnia semper suspecta atque sollicita, nullus locus amicitiae. + +Quam ob rem ut ii qui superiores sunt submittere se debent in amicitia, sic quodam modo inferiores extollere. Sunt enim quidam qui molestas amicitias faciunt, cum ipsi se contemni putant; quod non fere contingit nisi iis qui etiam contemnendos se arbitrantur; qui hac opinione non modo verbis sed etiam opere levandi sunt. + +Duplexque isdem diebus acciderat malum, quod et Theophilum insontem atrox interceperat casus, et Serenianus dignus exsecratione cunctorum, innoxius, modo non reclamante publico vigore, discessit. + +Accedat huc suavitas quaedam oportet sermonum atque morum, haudquaquam mediocre condimentum amicitiae. Tristitia autem et in omni re severitas habet illa quidem gravitatem, sed amicitia remissior esse debet et liberior et dulcior et ad omnem comitatem facilitatemque proclivior. + +Tu autem, Fanni, quod mihi tantum tribui dicis quantum ego nec adgnosco nec postulo, facis amice; sed, ut mihi videris, non recte iudicas de Catone; aut enim nemo, quod quidem magis credo, aut si quisquam, ille sapiens fuit. Quo modo, ut alia omittam, mortem filii tulit! memineram Paulum, videram Galum, sed hi in pueris, Cato in perfecto et spectato viro. + +Dum apud Persas, ut supra narravimus, perfidia regis motus agitat insperatos, et in eois tractibus bella rediviva consurgunt, anno sexto decimo et eo diutius post Nepotiani exitium, saeviens per urbem aeternam urebat cuncta Bellona, ex primordiis minimis ad clades excita luctuosas, quas obliterasset utinam iuge silentium! ne forte paria quandoque temptentur, plus exemplis generalibus nocitura quam delictis. + +Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas et palatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus. + +Quid? qui se etiam nunc subsidiis patrimonii aut amicorum liberalitate sustentant, hos perire patiemur? An, si qui frui publico non potuit per hostem, hic tegitur ipsa lege censoria; quem is frui non sinit, qui est, etiamsi non appellatur, hostis, huic ferri auxilium non oportet? Retinete igitur in provincia diutius eum, qui de sociis cum hostibus, de civibus cum sociis faciat pactiones, qui hoc etiam se pluris esse quam collegam putet, quod ille vos tristia voltuque deceperit, ipse numquam se minus quam erat, nequam esse simularit. Piso autem alio quodam modo gloriatur se brevi tempore perfecisse, ne Gabinius unus omnium nequissimus existimaretur. + +Et olim licet otiosae sint tribus pacataeque centuriae et nulla suffragiorum certamina set Pompiliani redierit securitas temporis, per omnes tamen quotquot sunt partes terrarum, ut domina suscipitur et regina et ubique patrum reverenda cum auctoritate canities populique Romani nomen circumspectum et verecundum. +Emensis itaque difficultatibus multis et nive obrutis callibus plurimis ubi prope Rauracum ventum est ad supercilia fluminis Rheni, resistente multitudine Alamanna pontem suspendere navium conpage Romani vi nimia vetabantur ritu grandinis undique convolantibus telis, et cum id inpossibile videretur, imperator cogitationibus magnis attonitus, quid capesseret ambigebat. + +Quam ob rem cave Catoni anteponas ne istum quidem ipsum, quem Apollo, ut ais, sapientissimum iudicavit; huius enim facta, illius dicta laudantur. De me autem, ut iam cum utroque vestrum loquar, sic habetote. + +Incenderat autem audaces usque ad insaniam homines ad haec, quae nefariis egere conatibus, Luscus quidam curator urbis subito visus: eosque ut heiulans baiolorum praecentor ad expediendum quod orsi sunt incitans vocibus crebris. qui haut longe postea ideo vivus exustus est. + +Ob haec et huius modi multa, quae cernebantur in paucis, omnibus timeri sunt coepta. et ne tot malis dissimulatis paulatimque serpentibus acervi crescerent aerumnarum, nobilitatis decreto legati mittuntur: Praetextatus ex urbi praefecto et ex vicario Venustus et ex consulari Minervius oraturi, ne delictis supplicia sint grandiora, neve senator quisquam inusitato et inlicito more tormentis exponeretur. + +Hae duae provinciae bello quondam piratico catervis mixtae praedonum a Servilio pro consule missae sub iugum factae sunt vectigales. et hae quidem regiones velut in prominenti terrarum lingua positae ob orbe eoo monte Amano disparantur. +

    +
    + + + + + + +{% endblock %} -- GitLab From d2f438c9b57970114f8b554780affc6dc1fb2c15 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Tue, 22 Jun 2021 11:04:54 +0200 Subject: [PATCH 07/15] =?UTF-8?q?R=C3=A9solution=20de=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlOpEDT/base/core/period_weeks.py | 2 +- .../static/solve_board/kiffDegree.js | 21 +------------------ FlOpEDT/solve_board/views.py | 2 +- 3 files changed, 3 insertions(+), 22 deletions(-) diff --git a/FlOpEDT/base/core/period_weeks.py b/FlOpEDT/base/core/period_weeks.py index 2be6a5685..08e6fd182 100644 --- a/FlOpEDT/base/core/period_weeks.py +++ b/FlOpEDT/base/core/period_weeks.py @@ -91,7 +91,7 @@ class PeriodWeeks(): """ return Course.objects \ .filter( - year=year, + week__year=year, week__in=list(range(start, end + 1)), module__train_prog__department=department) \ .distinct() \ diff --git a/FlOpEDT/solve_board/static/solve_board/kiffDegree.js b/FlOpEDT/solve_board/static/solve_board/kiffDegree.js index 58f21c370..5d9b345d9 100644 --- a/FlOpEDT/solve_board/static/solve_board/kiffDegree.js +++ b/FlOpEDT/solve_board/static/solve_board/kiffDegree.js @@ -1,22 +1,4 @@ - -for(let item of allPreferencesItems[name]){ - // Faites les trucs qui créent votre ligne - // et mettez ces deux lignes à l'endroit qui vous intéresse - let newBarKiff=document.getElementById(`kiffDegree${name}${item.id}`) - newBarKiff.innerHTML=addCircles(`${name}Kiff_${item.name}`,`${name}KiffBar_${item.name}`); - } -for(let elmt of allcircles){ - //The element cirlcle clicked take the attribut check=true - elmt.addEventListener("click",otherCircleInCheckFalse); - elmt.addEventListener("click", circleInCheckTrue); - - //animation that put a black border on the circle - elmt.addEventListener("click",animNull); - elmt.addEventListener("click", animBorderBlack); - } - - - let circles=[{id:1, color:"#009000", coordx:10,value:8}, + let circles=[{id:1, color:"#009000", coordx:10,value:8}, {id:2, color:"#40A400" , coordx:30,value:7}, {id:3, color:"#80B800" , coordx:50,value:6}, {id:4, color:"#BFCC00" , coordx:70,value:5}, @@ -52,7 +34,6 @@ function addCircles(idCircle,idBar){ - //allCircles récupère tous les cercles de kiff //let allcircles=document.getElementsByClassName("circleKiff") diff --git a/FlOpEDT/solve_board/views.py b/FlOpEDT/solve_board/views.py index 8ff548055..69e645155 100644 --- a/FlOpEDT/solve_board/views.py +++ b/FlOpEDT/solve_board/views.py @@ -172,7 +172,7 @@ def main_board(req, **kwargs): # Get contextual datas (constraints, work_copies) if len(week_list) > 0: data_context = get_context(department, year=week_list[0][0], week=week_list[0][1]) - view_context.update({ k:json.dumps(v) for k, v in data_context.items()}) + view_context.update({k: json.dumps(v) for k, v in data_context.items()}) return TemplateResponse(req, 'solve_board/main-board_perso.html', view_context) -- GitLab From c8d3be4818689ba916240593b0ed112601c49a95 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Tue, 22 Jun 2021 11:35:09 +0200 Subject: [PATCH 08/15] Ajout de la fonction fetch --- .../static/solve_board/solve_perso.js | 86 +++++-------------- .../solve_board/main-board_perso.html | 5 ++ 2 files changed, 25 insertions(+), 66 deletions(-) diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 8f2377d87..bd6a81a0d 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -20,72 +20,26 @@ // a commercial license. Buying such a license is mandatory as soon as // you develop activities involving the FlOpEDT/FlOpScheduler software // without disclosing the source code of your own applications. -let parameters = { - people:{ - Tutor:[ - { - "id": 1, - "name": "PSE" - }, - { - "id": 2, - "name": "PRG" - }, - { - "id": 3, - "name": "AV" - }, - { - "id": 4, - "name": "BBCB" - }, - { - "id": 5, - "name": "BC" - }, - { - "id": 6, - "name": "BCPV" - }, - { - "id": 7, - "name": "BDB" - }, - { - "id": 8, - "name": "BEFT" - }, - { - "id": 9, - "name": "BFLT" - }, - { - "id": 10, - "name": "BK" - }, - { - "id": 11, - "name": "BM" - }, - { - "id": 12, - "name": "BMB" - }, - { - "id": 13, - "name": "BMBJ" - } -] - }, - base:{ - Module:[ - {"id":1,"abbrev":"AMN"}, - {"id":2,"abbrev":'AMN2'}, - {"id":3,"abbrev":'AMN3'}, - {"id":4,"abbrev":'AMN4'} - ] - } -} + +function fetch_constraint(){ + $.ajax({ + type:"GET", + dataType: 'text', + url: build_url(url_ttconstraints), + async: true, + contentType: "application/json", + success: function(msg){ + constraints = JSON.parse(msg); + }, + error: function (msg){ + console.log("error"); + show_loader(false); + } + }) +}; + + + let categories = [ {id:1, diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html index bdea83816..7d710c39f 100644 --- a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html +++ b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html @@ -34,6 +34,11 @@ + + + + {% endblock %} -- GitLab From 9942ef213d16161079ad32ffbc2e04815dd0485e Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Tue, 22 Jun 2021 15:14:43 +0200 Subject: [PATCH 09/15] =?UTF-8?q?Cr=C3=A9ation=20d'une=20fonction=20asynch?= =?UTF-8?q?rone=20permettant=20de=20r=C3=A9cuperer=20les=20listes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/solve_board/solve_perso.js | 185 ++++++++---------- .../solve_board/main-board_perso.html | 10 +- 2 files changed, 88 insertions(+), 107 deletions(-) diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index bd6a81a0d..1806d5177 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -21,7 +21,20 @@ // you develop activities involving the FlOpEDT/FlOpScheduler software // without disclosing the source code of your own applications. + +let constraints; + +function myCallback(result) { + // Code that depends on 'result' +} + + + + + + function fetch_constraint(){ + $.ajax({ type:"GET", dataType: 'text', @@ -36,10 +49,79 @@ function fetch_constraint(){ show_loader(false); } }) + return constraints; }; - +fetch_constraint(); + + +let parameters = { + "people":{ + Tutor:[ + { + "id": 1, + "name": "PSE" + }, + { + "id": 2, + "name": "PRG" + }, + { + "id": 3, + "name": "AV" + }, + { + "id": 4, + "name": "BBCB" + }, + { + "id": 5, + "name": "BC" + }, + { + "id": 6, + "name": "BCPV" + }, + { + "id": 7, + "name": "BDB" + }, + { + "id": 8, + "name": "BEFT" + }, + { + "id": 9, + "name": "BFLT" + }, + { + "id": 10, + "name": "BK" + }, + { + "id": 11, + "name": "BM" + }, + { + "id": 12, + "name": "BMB" + }, + { + "id": 13, + "name": "BMBJ" + } +] + }, + base:{ + Module:[ + {"id":1,"abbrev":"AMN"}, + {"id":2,"abbrev":'AMN2'}, + {"id":3,"abbrev":'AMN3'}, + {"id":4,"abbrev":'AMN4'} + ] + } +} let categories = [ {id:1, @@ -55,106 +137,6 @@ let categories = [ ] -let constraints = [ - { - id: 8, // id de la TTC - name: "Covoiturage", // nom du type de TTC - weight: 1, // poids de la TTC - is_active: true, // contrainte active ? - comment: "", // commentaire sur la TTC - last_modification: null, // date de création - weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} - parameters : [ - { - name: "Prof", // nom du paramètre dans la TTC - type: 'people.Tutor', // nom du type des objets dans ce paramètre - required: true, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : true, - id_list: [5,6,7], // ids des objets pour le paramètre dans la TTC - acceptable: [1,2,3,4,5,6,7,8,9,10,11] // ids des objets acceptables comme valeur du paramètre - }, - { - name: "bonjour", // nom du paramètre dans la TTC - type: 'people.Tutor', // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : true, - id_list: [], // ids des objets pour le paramètre dans la TTC - acceptable: [1,2,3,4,5,6,7,8,9,10,11,12] // ids des objets acceptables comme valeur du paramètre - }, - { - name: "Module", // nom du paramètre dans la TTC - type: 'base.Module', // nom du type des objets dans ce paramètre - required: true, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : true, - id_list: [1,2,3], // ids des objets pour le paramètre dans la TTC - acceptable: [1,2,3,4] // ids des objets acceptables comme valeur du paramètre - } - ] - }, - { - id: 9, // id de la TTC - name: "Random", // nom du type de TTC - weight: 2, // poids de la TTC - is_active: false, // contrainte active ? - comment: "", // commentaire sur la TTC - last_modification: null, // date de création - weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} - parameters : [ - { - name: "Lettre", // nom du paramètre dans la TTC - type: "people.Tutor", // nom du type des objets dans ce paramètre - required: true, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : false, - id_list: ["A"], // ids des objets pour le paramètre dans la TTC - acceptable: ["A","B"] // ids des objets acceptables comme valeur du paramètre - }, - { - name: "Nombres", // nom du paramètre dans la TTC - type: 'people.Tutor', // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : true, - id_list: [], // ids des objets pour le paramètre dans la TTC - acceptable: [1,5,6,8,9] // ids des objets acceptables comme valeur du paramètre - } - ] - }, - { - id: 10, // id de la TTC - name: "Bonsoir", // nom du type de TTC - weight: 8, // poids de la TTC - is_active: true, // contrainte active ? - comment: "", // commentaire sur la TTC - last_modification: null, // date de création - weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} - parameters : [ - { - name: "Lettre", // nom du paramètre dans la TTC - type: "people.Tutor", // nom du type des objets dans ce paramètre - required: true, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : false, - id_list: ["A"], // ids des objets pour le paramètre dans la TTC - acceptable: ["A","B"] // ids des objets acceptables comme valeur du paramètre - }, - { - name: "Nombres", // nom du paramètre dans la TTC - type: 'people.Tutor', // nom du type des objets dans ce paramètre - required: false, // paramètre obligatoire ? - all_except: true, // tous sauf ? - multiple : true, - id_list: [1], // ids des objets pour le paramètre dans la TTC - acceptable: [1,7,6,8,9] // ids des objets acceptables comme valeur du paramètre - } - ] - }]; - - - @@ -171,6 +153,7 @@ let val; let nom; let case_param_required = document.getElementsByTagName("body")[0]; + for (let l = 0; l < constraints.length; l++) { // creation d'une colonne diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html index 7d710c39f..f827eeb08 100644 --- a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html +++ b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html @@ -31,14 +31,12 @@ {% block jquery %} - - + - - - + + + {% endblock %} -- GitLab From db2ab9776ef774cb5f14d32dc39cc9424e3dd38e Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Thu, 24 Jun 2021 03:00:01 +0200 Subject: [PATCH 10/15] =?UTF-8?q?Param=C3=A8tres=20sans=20possibilit=C3=A9?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FlOpEDT/api/TTapp/serializers.py | 4 +- .../static/solve_board/easySelectStyle.css | 35 +- .../static/solve_board/solve_perso.css | 281 - .../static/solve_board/solve_perso.js | 138 +- .../solve_board/static/solve_board/style.css | 8202 ----------------- .../solve_board/main-board_perso.html | 2 +- .../solve_board/main-board_perso_pierre.html | 166 - 7 files changed, 71 insertions(+), 8757 deletions(-) delete mode 100644 FlOpEDT/solve_board/static/solve_board/solve_perso.css delete mode 100644 FlOpEDT/solve_board/static/solve_board/style.css delete mode 100644 FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html diff --git a/FlOpEDT/api/TTapp/serializers.py b/FlOpEDT/api/TTapp/serializers.py index ae90480da..da60dacb1 100644 --- a/FlOpEDT/api/TTapp/serializers.py +++ b/FlOpEDT/api/TTapp/serializers.py @@ -139,8 +139,8 @@ class TTConstraintSerializer(serializers.ModelSerializer): else : #Récupère le modele en relation avec un ManyToManyField ou un ForeignKey mod = field.related_model - - typename = str(mod)[8:-2] + typenamesplit = str(mod)[8:-2].split(".") + typename = typenamesplit[0] + "." + typenamesplit[2] acceptablelist = mod.objects.values("id") #Filtre les ID dans acceptable list en fonction du department diff --git a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css index b0c5e4cfd..e42d008e4 100644 --- a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css +++ b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css @@ -285,9 +285,7 @@ li.no_results { height: 25px; /* Specified height */ background: #a9a9a9; /* Grey background */ outline: none; /* Remove outline */ - opacity: 0.7; /* Set transparency (for mouse-over effects on hover) */ -webkit-transition: .2s; /* 0.2 seconds transition on hover */ - transition: opacity .2s; } /* Mouse-over effects */ @@ -315,16 +313,16 @@ li.no_results { #conteneurGeneral { display: flex; - width: 81%; + width: 1460px; flex-wrap: wrap; - margin-top: 3%; - margin-left: 15%; + + margin-left: 270px; + margin-right: 90px; position: -webkit-sticky; position: sticky; - top: 10px; - - background-color: grey; + top: 0px; + background: grey; } .elementGeneral @@ -335,7 +333,7 @@ li.no_results { .elementGeneral:nth-child(1) { - width: 18.5%; + width:242px; text-align: right; padding-right: 5%; @@ -344,7 +342,7 @@ li.no_results { .elementGeneral:nth-child(2) { - width: 48%; + width: 744px; text-align: center; border-right: 1px black solid; @@ -352,7 +350,7 @@ li.no_results { .elementGeneral:nth-child(3) { - width: 5%; + width: 76px; text-align: center; border-right: 1px black solid; @@ -360,14 +358,14 @@ li.no_results { .elementGeneral:nth-child(4) { - width: 9%; + width: 130px; padding-left: 5%; border-right: 1px black solid; } .elementGeneral:nth-child(5) { - width: 5%; + width: 50px; padding-left: 2%; text-align: center; } @@ -435,7 +433,7 @@ tr:hover } .selec_contrainte { height: 5px; - width: 2%; + width: 25px; padding-top: 1.5%; padding-right: 1%; text-align: right; @@ -446,7 +444,6 @@ tr:hover .nom_contrainte { width: 285px; - overflow: auto; padding-top: 0.6%; padding-left: 1%; padding-right: 1%; @@ -503,8 +500,8 @@ tr:hover .ajout_param{ background-color: green; - padding-left: 1%; - padding-right: 1%; + padding-left: 8px; + padding-right: 8px; margin-top: 5%; margin-bottom: 6%; } @@ -639,11 +636,7 @@ tr:hover width: 80.5%; flex-wrap: wrap; margin-left: 15%; - - position: -webkit-sticky; - position: sticky; top: 51px; - border: 5px lime solid; background-color: #c3c3c3; } diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.css b/FlOpEDT/solve_board/static/solve_board/solve_perso.css deleted file mode 100644 index 18bc42682..000000000 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.css +++ /dev/null @@ -1,281 +0,0 @@ -/* This file is part of the FlOpEDT/FlOpScheduler project. */ -/* Copyright (c) 2017 */ -/* Authors: Iulian Ober, Paul Renaud-Goud, Pablo Seban, et al. */ -/* */ -/* This program is free software: you can redistribute it and/or modify */ -/* it under the terms of the GNU Affero General Public License as */ -/* published by the Free Software Foundation, either version 3 of the */ -/* License, or (at your option) any later version. */ -/* */ -/* This program is distributed in the hope that it will be useful, but */ -/* WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ -/* Affero General Public License for more details. */ -/* */ -/* You should have received a copy of the GNU Affero General Public */ -/* License along with this program. If not, see */ -/* . */ -/* */ -/* You can be released from the requirements of the license by purchasing */ -/* a commercial license. Buying such a license is mandatory as soon as */ -/* you develop activities involving the FlOpEDT/FlOpScheduler software */ -/* without disclosing the source code of your own applications. */ - - #conteneurGeneral - { - display: flex; - width: 81%; - flex-wrap: wrap; - margin-top: 3%; - margin-left: 15%; - - position: -webkit-sticky; - position: sticky; - top: 10px; - - background-color: grey; - } - - .elementGeneral - { - padding-top: 10px; - padding-bottom: 10px; - } - - .elementGeneral:nth-child(1) - { - width: 18.5%; - text-align: right; - - padding-right: 5%; - border-right: 1px black solid; - } - - .elementGeneral:nth-child(2) - { - width: 48%; - text-align: center; - - border-right: 1px black solid; - } - - .elementGeneral:nth-child(3) - { - width: 5%; - text-align: center; - - border-right: 1px black solid; - } - - .elementGeneral:nth-child(4) - { - width: 18.3%; - - padding-left: 5%; - } - - #conteneurCategorie - { - display: flex; - flex-wrap: wrap; - width: 81%; - - margin-left: 15%; - } - - .elementCategorie:nth-child(1) - { - text-align: right; - padding-right: 1%; - padding-top: 1%; - width: 2%; - border-bottom: 2px grey solid; - } - - .elementCategorie:nth-child(2) - { - width: 97%; - border-bottom: 2px grey solid; - } - - .elementCategorie:nth-child(3) - { - text-align: right; - padding-right: 1%; - padding-top: 1%; - width: 4%; - border-bottom: 2px grey solid; - } - - .elementCategorie:nth-child(4) - { - width: 95%; - border-bottom: 2px grey solid; - } - - - - - #conteneurLigne - { - display: flex; - flex-wrap: wrap; - - margin-left: 15%; - width: 81%; - border-bottom: 1px grey solid; - } - - #conteneurLigne:hover - { - background-color: grey; - } - - .elementLigne:nth-child(1) - { - width: 6%; - - padding-top: 1.5%; - padding-right: 1%; - text-align: right; - } - - .elementLigne:nth-child(2) - { - width: 14.5%; - overflow: auto; - - padding-top: 0.6%; - padding-left: 1%; - padding-right: 1%; - } - - .elementLigne:nth-child(3) - { - width: 46%; - overflow: auto; - - padding-left: 1%; - padding-right: 1%; - padding-bottom: 0.5%; - display: flex; - flex-wrap: wrap; - } - - .caseParam - { - padding-left: 1%; - padding-right: 1%; - width: 16%; - text-align: center; - } - - .caseParam - { - padding-left: 1%; - padding-right: 1%; - width: 16%; - text-align: center; - } - - #caseBoutonAjoutParam - { - padding-left: 1%; - padding-right: 1%; - margin-top: 5%; - margin-bottom: 6%; - } - - #boutonAjoutParametre - { - background-color: lime; - } - - .elementLigne:nth-child(4) - { - width: 5.2%; - text-align: center; - - padding-top: 1.5%; - } - - .elementLigne:nth-child(5) - { - width: 14%; - padding-top: 1.5%; - padding-left: 1%; - } - - .elementLigne:nth-child(6) - { - width: 8%; - text-align: center; - padding-top: 1.5%; - } - - #labelPoids - { - padding-left: 3%; - } - - #conteneurOptions - { - position: fixed; - background-color: grey; - width: 13.5%; - } - - - - #tableauOptions - { - display: flex; - flex-wrap: wrap; - border: 2px black solid; - } - - .elementTableauOptions:nth-child(1) - { - text-align: center; - border-bottom: 1px black solid; - } - - .elementTableauOptions:nth-child(2) - { - text-align: center; - border-bottom: 1px black solid; - padding-top: 5%; - padding-bottom: 5%; - } - - .elementTableauOptions:nth-child(3) - { - text-align: center; - border-bottom: 1px black solid; - padding-top: 5%; - padding-bottom: 5%; - } - - .elementTableauOptions:nth-child(4) - { - text-align: center; - border-bottom: 1px black solid; - padding-top: 3%; - padding-bottom: 5%; - } - - #boutonSupprimer - { - background-color: red; - } - - #boutonValiderPoidsOption - { - background-color: lime; - } - - #remplissage - { - margin-left: 15%; - margin-right: 5%; - } diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 1806d5177..09855792a 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -22,106 +22,52 @@ // without disclosing the source code of your own applications. -let constraints; - -function myCallback(result) { - // Code that depends on 'result' -} +let constraint; +function fetch_constraint(){ + $.ajax({ + type:"GET", + dataType: 'text', + url: build_url(url_ttconstraints), + async: false, + contentType: "application/json", + success: function(msg){ + constraint = JSON.parse(msg); + }, + error: function (msg){ + console.log("error"); + show_loader(false); + } + }) + return constraint; +}; +let constraints=fetch_constraint() ; - -function fetch_constraint(){ +let parameter; +function fetch_parameters(){ $.ajax({ type:"GET", dataType: 'text', - url: build_url(url_ttconstraints), - async: true, + url: build_url(url_parameters), + async: false, contentType: "application/json", success: function(msg){ - constraints = JSON.parse(msg); + parameter = JSON.parse(msg); }, error: function (msg){ console.log("error"); show_loader(false); } }) - return constraints; + return parameter; }; +let parameters =fetch_parameters(); -fetch_constraint(); - - -let parameters = { - "people":{ - Tutor:[ - { - "id": 1, - "name": "PSE" - }, - { - "id": 2, - "name": "PRG" - }, - { - "id": 3, - "name": "AV" - }, - { - "id": 4, - "name": "BBCB" - }, - { - "id": 5, - "name": "BC" - }, - { - "id": 6, - "name": "BCPV" - }, - { - "id": 7, - "name": "BDB" - }, - { - "id": 8, - "name": "BEFT" - }, - { - "id": 9, - "name": "BFLT" - }, - { - "id": 10, - "name": "BK" - }, - { - "id": 11, - "name": "BM" - }, - { - "id": 12, - "name": "BMB" - }, - { - "id": 13, - "name": "BMBJ" - } -] - }, - base:{ - Module:[ - {"id":1,"abbrev":"AMN"}, - {"id":2,"abbrev":'AMN2'}, - {"id":3,"abbrev":'AMN3'}, - {"id":4,"abbrev":'AMN4'} - ] - } -} let categories = [ {id:1, @@ -136,8 +82,10 @@ let categories = [ hidden:true} ] - - +let id_list =[]; +for (let i = 0; i < constraints.length; i++) { + id_list.push(constraints[i].parameters) +} @@ -154,8 +102,9 @@ let nom; let case_param_required = document.getElementsByTagName("body")[0]; -for (let l = 0; l < constraints.length; l++) { + +for (let l = 0; l < constraints.length; l++) { // creation d'une colonne let row = document.createElement("tr"); row.setAttribute('class', 'ligne_contrainte') @@ -187,6 +136,7 @@ for (let l = 0; l < constraints.length; l++) { //Les différents parametres existants de la ligne de contrainte for (let k = 0; k < constraints[l].parameters.length; k++) { + let p_param = document.createElement("p"); p_param.setAttribute('id','param'+constraints[l].parameters[k].name); let strong = document.createElement("strong"); @@ -216,6 +166,7 @@ for (let l = 0; l < constraints.length; l++) { let type = constraints[l].parameters[k].type; let type_concat = stringGetter(type); + constraints[l].parameters[k].id_list= 1; for(let m = 0; m < constraints[l].parameters[k].id_list.length; m++ ) { let tab_username = []; @@ -262,7 +213,7 @@ for (let l = 0; l < constraints.length; l++) { btn_Suppr.setAttribute('type', 'image'); btn_Suppr.setAttribute('id', 'image_Delete'); btn_Suppr.setAttribute('src', '/static/base/img/suppression.png'); - btn_Suppr.addEventListener('click', () => suppr(constraints[l].parameters[k].id_list)); + btn_Suppr.addEventListener('click', () => suppr(constraints[l].parameters[k])); btn_Suppr.setAttribute('width', '15px'); btn_Suppr.setAttribute('height', '15px'); @@ -371,6 +322,24 @@ for (let l = 0; l < constraints.length; l++) { let range_td = document.createElement("td"); range_td.setAttribute('class', 'poid_contrainte'); +/* +for(let item of allPreferencesItems[name]){ + // Faites les trucs qui créent votre ligne + // et mettez ces deux lignes à l'endroit qui vous intéresse + let newBarKiff=document.getElementById(`kiffDegree${name}${item.id}`) + newBarKiff.innerHTML=addCircles(`${name}Kiff_${item.name}`,`${name}KiffBar_${item.name}`); + } +for(let elmt of allcircles){ + //The element cirlcle clicked take the attribut check=true + elmt.addEventListener("click",otherCircleInCheckFalse); + elmt.addEventListener("click", circleInCheckTrue); + + //animation that put a black border on the circle + elmt.addEventListener("click",animNull); + elmt.addEventListener("click", animBorderBlack); + } + */ + let slide_btn = document.createElement('input'); slide_btn.setAttribute('type', 'range'); @@ -419,6 +388,7 @@ function stringGetter (getter) { .reduce((o,i)=>o[i], parameters); } + // Tentative de sauvegarde du fichier js modifié /*function suppr(param){ var old_data = param; diff --git a/FlOpEDT/solve_board/static/solve_board/style.css b/FlOpEDT/solve_board/static/solve_board/style.css deleted file mode 100644 index 226a98aa1..000000000 --- a/FlOpEDT/solve_board/static/solve_board/style.css +++ /dev/null @@ -1,8202 +0,0 @@ -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #007bff; - --secondary: #6c757d; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dark: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } - -*, -*::before, -*::after { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; } - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; } - -[tabindex="-1"]:focus { - outline: 0 !important; } - -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; - overflow: visible; } - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; } - -p { - margin-top: 0; - margin-bottom: 1rem; } - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - text-decoration-skip-ink: none; } - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; } - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; } - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; } - -dt { - font-weight: 700; } - -dd { - margin-bottom: .5rem; - margin-left: 0; } - -blockquote { - margin: 0 0 1rem; } - -b, -strong { - font-weight: bolder; } - -small { - font-size: 80%; } - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sub { - bottom: -.25em; } - -sup { - top: -.5em; } - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; } - a:hover { - color: #0056b3; - text-decoration: underline; } - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; } - a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; } - a:not([href]):not([tabindex]):focus { - outline: 0; } - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; } - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; } - -figure { - margin: 0 0 1rem; } - -img { - vertical-align: middle; - border-style: none; } - -svg { - overflow: hidden; - vertical-align: middle; } - -table { - border-collapse: collapse; } - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; } - -th { - text-align: inherit; } - -label { - display: inline-block; - margin-bottom: 0.5rem; } - -button { - border-radius: 0; } - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; } - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -button, -input { - overflow: visible; } - -button, -select { - text-transform: none; } - -select { - word-wrap: normal; } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - -button:not(:disabled), -[type="button"]:not(:disabled), -[type="reset"]:not(:disabled), -[type="submit"]:not(:disabled) { - cursor: pointer; } - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; } - -input[type="radio"], -input[type="checkbox"] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; } - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; } - -textarea { - overflow: auto; - resize: vertical; } - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; } - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; } - -progress { - vertical-align: baseline; } - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; } - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; } - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; } - -output { - display: inline-block; } - -summary { - display: list-item; - cursor: pointer; } - -template { - display: none; } - -[hidden] { - display: none !important; } - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; } - -h1, .h1 { - font-size: 2.5rem; } - -h2, .h2 { - font-size: 2rem; } - -h3, .h3 { - font-size: 1.75rem; } - -h4, .h4 { - font-size: 1.5rem; } - -h5, .h5 { - font-size: 1.25rem; } - -h6, .h6 { - font-size: 1rem; } - -.lead { - font-size: 1.25rem; - font-weight: 300; } - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; } - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; } - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; } - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; } - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); } - -small, -.small { - font-size: 80%; - font-weight: 400; } - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; } - -.list-unstyled { - padding-left: 0; - list-style: none; } - -.list-inline { - padding-left: 0; - list-style: none; } - -.list-inline-item { - display: inline-block; } - .list-inline-item:not(:last-child) { - margin-right: 0.5rem; } - -.initialism { - font-size: 90%; - text-transform: uppercase; } - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; } - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d; } - .blockquote-footer::before { - content: "\2014\00A0"; } - -.img-fluid { - max-width: 100%; - height: auto; } - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; } - -.figure { - display: inline-block; } - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; } - -.figure-caption { - font-size: 90%; - color: #6c757d; } - -code { - font-size: 87.5%; - color: #e83e8c; - word-break: break-word; } - a > code { - color: inherit; } - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; } - kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; } - -pre { - display: block; - font-size: 87.5%; - color: #212529; } - pre code { - font-size: inherit; - color: inherit; - word-break: normal; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; } - @media (min-width: 576px) { - .container { - max-width: 540px; } } - @media (min-width: 768px) { - .container { - max-width: 720px; } } - @media (min-width: 992px) { - .container { - max-width: 960px; } } - @media (min-width: 1200px) { - .container { - max-width: 1140px; } } - -.container-fluid { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; } - -.row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; } - -.no-gutters { - margin-right: 0; - margin-left: 0; } - .no-gutters > .col, - .no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; } - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: 15px; - padding-left: 15px; } - -.col { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; } - -.col-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; } - -.col-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - max-width: 8.33333%; } - -.col-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - max-width: 16.66667%; } - -.col-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; } - -.col-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - max-width: 33.33333%; } - -.col-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - max-width: 41.66667%; } - -.col-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; } - -.col-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - max-width: 58.33333%; } - -.col-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - max-width: 66.66667%; } - -.col-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; } - -.col-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - max-width: 83.33333%; } - -.col-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - max-width: 91.66667%; } - -.col-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } - -.order-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; } - -.order-last { - -webkit-box-ordinal-group: 14; - -ms-flex-order: 13; - order: 13; } - -.order-0 { - -webkit-box-ordinal-group: 1; - -ms-flex-order: 0; - order: 0; } - -.order-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; } - -.order-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; } - -.order-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; } - -.order-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; } - -.order-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; } - -.order-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; } - -.order-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; } - -.order-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; } - -.order-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; } - -.order-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; } - -.order-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; } - -.order-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; } - -.offset-1 { - margin-left: 8.33333%; } - -.offset-2 { - margin-left: 16.66667%; } - -.offset-3 { - margin-left: 25%; } - -.offset-4 { - margin-left: 33.33333%; } - -.offset-5 { - margin-left: 41.66667%; } - -.offset-6 { - margin-left: 50%; } - -.offset-7 { - margin-left: 58.33333%; } - -.offset-8 { - margin-left: 66.66667%; } - -.offset-9 { - margin-left: 75%; } - -.offset-10 { - margin-left: 83.33333%; } - -.offset-11 { - margin-left: 91.66667%; } - -@media (min-width: 576px) { - .col-sm { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; } - .col-sm-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-sm-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-sm-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-sm-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; } - .col-sm-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-sm-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-sm-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; } - .col-sm-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-sm-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-sm-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; } - .col-sm-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-sm-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-sm-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } - .order-sm-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; } - .order-sm-last { - -webkit-box-ordinal-group: 14; - -ms-flex-order: 13; - order: 13; } - .order-sm-0 { - -webkit-box-ordinal-group: 1; - -ms-flex-order: 0; - order: 0; } - .order-sm-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; } - .order-sm-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; } - .order-sm-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; } - .order-sm-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; } - .order-sm-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; } - .order-sm-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; } - .order-sm-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; } - .order-sm-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; } - .order-sm-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; } - .order-sm-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; } - .order-sm-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; } - .order-sm-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; } - .offset-sm-0 { - margin-left: 0; } - .offset-sm-1 { - margin-left: 8.33333%; } - .offset-sm-2 { - margin-left: 16.66667%; } - .offset-sm-3 { - margin-left: 25%; } - .offset-sm-4 { - margin-left: 33.33333%; } - .offset-sm-5 { - margin-left: 41.66667%; } - .offset-sm-6 { - margin-left: 50%; } - .offset-sm-7 { - margin-left: 58.33333%; } - .offset-sm-8 { - margin-left: 66.66667%; } - .offset-sm-9 { - margin-left: 75%; } - .offset-sm-10 { - margin-left: 83.33333%; } - .offset-sm-11 { - margin-left: 91.66667%; } } - -@media (min-width: 768px) { - .col-md { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; } - .col-md-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-md-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-md-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-md-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; } - .col-md-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-md-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-md-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; } - .col-md-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-md-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-md-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; } - .col-md-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-md-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-md-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } - .order-md-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; } - .order-md-last { - -webkit-box-ordinal-group: 14; - -ms-flex-order: 13; - order: 13; } - .order-md-0 { - -webkit-box-ordinal-group: 1; - -ms-flex-order: 0; - order: 0; } - .order-md-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; } - .order-md-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; } - .order-md-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; } - .order-md-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; } - .order-md-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; } - .order-md-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; } - .order-md-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; } - .order-md-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; } - .order-md-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; } - .order-md-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; } - .order-md-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; } - .order-md-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; } - .offset-md-0 { - margin-left: 0; } - .offset-md-1 { - margin-left: 8.33333%; } - .offset-md-2 { - margin-left: 16.66667%; } - .offset-md-3 { - margin-left: 25%; } - .offset-md-4 { - margin-left: 33.33333%; } - .offset-md-5 { - margin-left: 41.66667%; } - .offset-md-6 { - margin-left: 50%; } - .offset-md-7 { - margin-left: 58.33333%; } - .offset-md-8 { - margin-left: 66.66667%; } - .offset-md-9 { - margin-left: 75%; } - .offset-md-10 { - margin-left: 83.33333%; } - .offset-md-11 { - margin-left: 91.66667%; } } - -@media (min-width: 992px) { - .col-lg { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; } - .col-lg-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-lg-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-lg-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-lg-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; } - .col-lg-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-lg-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-lg-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; } - .col-lg-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-lg-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-lg-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; } - .col-lg-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-lg-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-lg-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } - .order-lg-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; } - .order-lg-last { - -webkit-box-ordinal-group: 14; - -ms-flex-order: 13; - order: 13; } - .order-lg-0 { - -webkit-box-ordinal-group: 1; - -ms-flex-order: 0; - order: 0; } - .order-lg-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; } - .order-lg-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; } - .order-lg-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; } - .order-lg-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; } - .order-lg-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; } - .order-lg-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; } - .order-lg-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; } - .order-lg-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; } - .order-lg-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; } - .order-lg-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; } - .order-lg-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; } - .order-lg-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; } - .offset-lg-0 { - margin-left: 0; } - .offset-lg-1 { - margin-left: 8.33333%; } - .offset-lg-2 { - margin-left: 16.66667%; } - .offset-lg-3 { - margin-left: 25%; } - .offset-lg-4 { - margin-left: 33.33333%; } - .offset-lg-5 { - margin-left: 41.66667%; } - .offset-lg-6 { - margin-left: 50%; } - .offset-lg-7 { - margin-left: 58.33333%; } - .offset-lg-8 { - margin-left: 66.66667%; } - .offset-lg-9 { - margin-left: 75%; } - .offset-lg-10 { - margin-left: 83.33333%; } - .offset-lg-11 { - margin-left: 91.66667%; } } - -@media (min-width: 1200px) { - .col-xl { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - max-width: 100%; } - .col-xl-auto { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-xl-1 { - -webkit-box-flex: 0; - -ms-flex: 0 0 8.33333%; - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-xl-2 { - -webkit-box-flex: 0; - -ms-flex: 0 0 16.66667%; - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-xl-3 { - -webkit-box-flex: 0; - -ms-flex: 0 0 25%; - flex: 0 0 25%; - max-width: 25%; } - .col-xl-4 { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.33333%; - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-xl-5 { - -webkit-box-flex: 0; - -ms-flex: 0 0 41.66667%; - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-xl-6 { - -webkit-box-flex: 0; - -ms-flex: 0 0 50%; - flex: 0 0 50%; - max-width: 50%; } - .col-xl-7 { - -webkit-box-flex: 0; - -ms-flex: 0 0 58.33333%; - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-xl-8 { - -webkit-box-flex: 0; - -ms-flex: 0 0 66.66667%; - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-xl-9 { - -webkit-box-flex: 0; - -ms-flex: 0 0 75%; - flex: 0 0 75%; - max-width: 75%; } - .col-xl-10 { - -webkit-box-flex: 0; - -ms-flex: 0 0 83.33333%; - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-xl-11 { - -webkit-box-flex: 0; - -ms-flex: 0 0 91.66667%; - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-xl-12 { - -webkit-box-flex: 0; - -ms-flex: 0 0 100%; - flex: 0 0 100%; - max-width: 100%; } - .order-xl-first { - -webkit-box-ordinal-group: 0; - -ms-flex-order: -1; - order: -1; } - .order-xl-last { - -webkit-box-ordinal-group: 14; - -ms-flex-order: 13; - order: 13; } - .order-xl-0 { - -webkit-box-ordinal-group: 1; - -ms-flex-order: 0; - order: 0; } - .order-xl-1 { - -webkit-box-ordinal-group: 2; - -ms-flex-order: 1; - order: 1; } - .order-xl-2 { - -webkit-box-ordinal-group: 3; - -ms-flex-order: 2; - order: 2; } - .order-xl-3 { - -webkit-box-ordinal-group: 4; - -ms-flex-order: 3; - order: 3; } - .order-xl-4 { - -webkit-box-ordinal-group: 5; - -ms-flex-order: 4; - order: 4; } - .order-xl-5 { - -webkit-box-ordinal-group: 6; - -ms-flex-order: 5; - order: 5; } - .order-xl-6 { - -webkit-box-ordinal-group: 7; - -ms-flex-order: 6; - order: 6; } - .order-xl-7 { - -webkit-box-ordinal-group: 8; - -ms-flex-order: 7; - order: 7; } - .order-xl-8 { - -webkit-box-ordinal-group: 9; - -ms-flex-order: 8; - order: 8; } - .order-xl-9 { - -webkit-box-ordinal-group: 10; - -ms-flex-order: 9; - order: 9; } - .order-xl-10 { - -webkit-box-ordinal-group: 11; - -ms-flex-order: 10; - order: 10; } - .order-xl-11 { - -webkit-box-ordinal-group: 12; - -ms-flex-order: 11; - order: 11; } - .order-xl-12 { - -webkit-box-ordinal-group: 13; - -ms-flex-order: 12; - order: 12; } - .offset-xl-0 { - margin-left: 0; } - .offset-xl-1 { - margin-left: 8.33333%; } - .offset-xl-2 { - margin-left: 16.66667%; } - .offset-xl-3 { - margin-left: 25%; } - .offset-xl-4 { - margin-left: 33.33333%; } - .offset-xl-5 { - margin-left: 41.66667%; } - .offset-xl-6 { - margin-left: 50%; } - .offset-xl-7 { - margin-left: 58.33333%; } - .offset-xl-8 { - margin-left: 66.66667%; } - .offset-xl-9 { - margin-left: 75%; } - .offset-xl-10 { - margin-left: 83.33333%; } - .offset-xl-11 { - margin-left: 91.66667%; } } - -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529; } - .table th, - .table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; } - .table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; } - .table tbody + tbody { - border-top: 2px solid #dee2e6; } - -.table-sm th, -.table-sm td { - padding: 0.3rem; } - -.table-bordered { - border: 1px solid #dee2e6; } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6; } - .table-bordered thead th, - .table-bordered thead td { - border-bottom-width: 2px; } - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; } - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); } - -.table-hover tbody tr:hover { - color: #212529; - background-color: rgba(0, 0, 0, 0.075); } - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #b8daff; } - -.table-primary th, -.table-primary td, -.table-primary thead th, -.table-primary tbody + tbody { - border-color: #7abaff; } - -.table-hover .table-primary:hover { - background-color: #9fcdff; } - .table-hover .table-primary:hover > td, - .table-hover .table-primary:hover > th { - background-color: #9fcdff; } - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #d6d8db; } - -.table-secondary th, -.table-secondary td, -.table-secondary thead th, -.table-secondary tbody + tbody { - border-color: #b3b7bb; } - -.table-hover .table-secondary:hover { - background-color: #c8cbcf; } - .table-hover .table-secondary:hover > td, - .table-hover .table-secondary:hover > th { - background-color: #c8cbcf; } - -.table-success, -.table-success > th, -.table-success > td { - background-color: #c3e6cb; } - -.table-success th, -.table-success td, -.table-success thead th, -.table-success tbody + tbody { - border-color: #8fd19e; } - -.table-hover .table-success:hover { - background-color: #b1dfbb; } - .table-hover .table-success:hover > td, - .table-hover .table-success:hover > th { - background-color: #b1dfbb; } - -.table-info, -.table-info > th, -.table-info > td { - background-color: #bee5eb; } - -.table-info th, -.table-info td, -.table-info thead th, -.table-info tbody + tbody { - border-color: #86cfda; } - -.table-hover .table-info:hover { - background-color: #abdde5; } - .table-hover .table-info:hover > td, - .table-hover .table-info:hover > th { - background-color: #abdde5; } - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #ffeeba; } - -.table-warning th, -.table-warning td, -.table-warning thead th, -.table-warning tbody + tbody { - border-color: #ffdf7e; } - -.table-hover .table-warning:hover { - background-color: #ffe8a1; } - .table-hover .table-warning:hover > td, - .table-hover .table-warning:hover > th { - background-color: #ffe8a1; } - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5c6cb; } - -.table-danger th, -.table-danger td, -.table-danger thead th, -.table-danger tbody + tbody { - border-color: #ed969e; } - -.table-hover .table-danger:hover { - background-color: #f1b0b7; } - .table-hover .table-danger:hover > td, - .table-hover .table-danger:hover > th { - background-color: #f1b0b7; } - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; } - -.table-light th, -.table-light td, -.table-light thead th, -.table-light tbody + tbody { - border-color: #fbfcfc; } - -.table-hover .table-light:hover { - background-color: #ececf6; } - .table-hover .table-light:hover > td, - .table-hover .table-light:hover > th { - background-color: #ececf6; } - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; } - -.table-dark th, -.table-dark td, -.table-dark thead th, -.table-dark tbody + tbody { - border-color: #95999c; } - -.table-hover .table-dark:hover { - background-color: #b9bbbe; } - .table-hover .table-dark:hover > td, - .table-hover .table-dark:hover > th { - background-color: #b9bbbe; } - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); } - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); } - .table-hover .table-active:hover > td, - .table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); } - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55; } - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; } - -.table-dark { - color: #fff; - background-color: #343a40; } - .table-dark th, - .table-dark td, - .table-dark thead th { - border-color: #454d55; } - .table-dark.table-bordered { - border: 0; } - .table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); } - .table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, 0.075); } - -@media (max-width: 575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-sm > .table-bordered { - border: 0; } } - -@media (max-width: 767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-md > .table-bordered { - border: 0; } } - -@media (max-width: 991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-lg > .table-bordered { - border: 0; } } - -@media (max-width: 1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-xl > .table-bordered { - border: 0; } } - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive > .table-bordered { - border: 0; } - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .form-control::-ms-expand { - background-color: transparent; - border: 0; } - .form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .form-control::-webkit-input-placeholder { - color: #6c757d; - opacity: 1; } - .form-control:-ms-input-placeholder { - color: #6c757d; - opacity: 1; } - .form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1; } - .form-control::placeholder { - color: #6c757d; - opacity: 1; } - .form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; } - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; } - -.form-control-file, -.form-control-range { - display: block; - width: 100%; } - -.col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; } - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; } - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; } - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - margin-bottom: 0; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; } - .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; } - -.form-control-sm { - height: calc(1.5em + 0.5rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; } - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; } - -select.form-control[size], select.form-control[multiple] { - height: auto; } - -textarea.form-control { - height: auto; } - -.form-group { - margin-bottom: 1rem; } - -.form-text { - display: block; - margin-top: 0.25rem; } - -.form-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; } - .form-row > .col, - .form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; } - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; } - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; } - .form-check-input:disabled ~ .form-check-label { - color: #6c757d; } - -.form-check-label { - margin-bottom: 0; } - -.form-check-inline { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; } - .form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; } - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #28a745; } - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, 0.9); - border-radius: 0.25rem; } - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #28a745; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #28a745; - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } - .was-validated .form-control:valid ~ .valid-feedback, - .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, - .form-control.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .custom-select:valid, .custom-select.is-valid { - border-color: #28a745; - padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { - border-color: #28a745; - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } - .was-validated .custom-select:valid ~ .valid-feedback, - .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, - .custom-select.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-control-file:valid ~ .valid-feedback, -.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, -.form-control-file.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; } - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; } - .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - border-color: #28a745; } - -.was-validated .custom-control-input:valid ~ .valid-feedback, -.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, -.custom-control-input.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - border-color: #34ce57; - background-color: #34ce57; } - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } - -.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #28a745; } - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; } - -.was-validated .custom-file-input:valid ~ .valid-feedback, -.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, -.custom-file-input.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - border-color: #28a745; - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); } - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #dc3545; } - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; } - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #dc3545; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #dc3545; - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } - .was-validated .form-control:invalid ~ .invalid-feedback, - .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, - .form-control.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .custom-select:invalid, .custom-select.is-invalid { - border-color: #dc3545; - padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' 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' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { - border-color: #dc3545; - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } - .was-validated .custom-select:invalid ~ .invalid-feedback, - .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, - .custom-select.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-control-file:invalid ~ .invalid-feedback, -.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, -.form-control-file.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; } - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; } - .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - border-color: #dc3545; } - -.was-validated .custom-control-input:invalid ~ .invalid-feedback, -.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, -.custom-control-input.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - border-color: #e4606d; - background-color: #e4606d; } - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } - -.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #dc3545; } - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; } - -.was-validated .custom-file-input:invalid ~ .invalid-feedback, -.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, -.custom-file-input.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - border-color: #dc3545; - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); } - -.form-inline { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .form-inline .form-check { - width: 100%; } - @media (min-width: 576px) { - .form-inline label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-bottom: 0; } - .form-inline .form-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - margin-bottom: 0; } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; } - .form-inline .form-control-plaintext { - display: inline-block; } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; } - .form-inline .form-check { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - width: auto; - padding-left: 0; } - .form-inline .form-check-input { - position: relative; - -ms-flex-negative: 0; - flex-shrink: 0; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; } - .form-inline .custom-control { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .form-inline .custom-control-label { - margin-bottom: 0; } } - -.btn { - display: inline-block; - font-weight: 400; - color: #212529; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .btn { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .btn:hover { - color: #212529; - text-decoration: none; } - .btn:focus, .btn.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .btn.disabled, .btn:disabled { - opacity: 0.65; } - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; } - -.btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; } - .btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; } - .btn-primary:focus, .btn-primary.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); } - .btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #007bff; - border-color: #007bff; } - .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, - .show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; } - .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, - .show > .btn-primary.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); } - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; } - .btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; } - .btn-secondary:focus, .btn-secondary.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } - .btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; } - .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, - .show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; } - .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, - .show > .btn-secondary.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; } - .btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; } - .btn-success:focus, .btn-success.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); } - .btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; } - .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, - .show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; } - .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, - .show > .btn-success.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); } - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } - .btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; } - .btn-info:focus, .btn-info.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); } - .btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } - .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, - .show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; } - .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, - .show > .btn-info.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); } - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } - .btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; } - .btn-warning:focus, .btn-warning.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); } - .btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } - .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, - .show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; } - .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, - .show > .btn-warning.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); } - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } - .btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; } - .btn-danger:focus, .btn-danger.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); } - .btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } - .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, - .show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; } - .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, - .show > .btn-danger.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); } - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; } - .btn-light:focus, .btn-light.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } - .btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, - .show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; } - .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, - .show > .btn-light.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; } - .btn-dark:focus, .btn-dark.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } - .btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, - .show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; } - .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, - .show > .btn-dark.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } - -.btn-outline-primary { - color: #007bff; - border-color: #007bff; } - .btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; } - .btn-outline-primary:focus, .btn-outline-primary.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } - .btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; } - .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, - .show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; } - .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-primary.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } - -.btn-outline-secondary { - color: #6c757d; - border-color: #6c757d; } - .btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; } - .btn-outline-secondary:focus, .btn-outline-secondary.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } - .btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; } - .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, - .show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; } - .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-secondary.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } - -.btn-outline-success { - color: #28a745; - border-color: #28a745; } - .btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; } - .btn-outline-success:focus, .btn-outline-success.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } - .btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; } - .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, - .show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; } - .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-success.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } - -.btn-outline-info { - color: #17a2b8; - border-color: #17a2b8; } - .btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } - .btn-outline-info:focus, .btn-outline-info.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } - .btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; } - .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, - .show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; } - .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-info.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } - -.btn-outline-warning { - color: #ffc107; - border-color: #ffc107; } - .btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } - .btn-outline-warning:focus, .btn-outline-warning.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } - .btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; } - .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, - .show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; } - .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-warning.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } - -.btn-outline-danger { - color: #dc3545; - border-color: #dc3545; } - .btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } - .btn-outline-danger:focus, .btn-outline-danger.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } - .btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; } - .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, - .show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; } - .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-danger.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } - -.btn-outline-light { - color: #f8f9fa; - border-color: #f8f9fa; } - .btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-outline-light:focus, .btn-outline-light.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - .btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; } - .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, - .show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-light.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - -.btn-outline-dark { - color: #343a40; - border-color: #343a40; } - .btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-outline-dark:focus, .btn-outline-dark.focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - .btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; } - .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, - .show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-dark.dropdown-toggle:focus { - -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - -.btn-link { - font-weight: 400; - color: #007bff; - text-decoration: none; } - .btn-link:hover { - color: #0056b3; - text-decoration: underline; } - .btn-link:focus, .btn-link.focus { - text-decoration: underline; - -webkit-box-shadow: none; - box-shadow: none; } - .btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; } - -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; } - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; } - -.btn-block { - display: block; - width: 100%; } - .btn-block + .btn-block { - margin-top: 0.5rem; } - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; } - -.fade { - -webkit-transition: opacity 0.15s linear; - -o-transition: opacity 0.15s linear; - transition: opacity 0.15s linear; } - @media (prefers-reduced-motion: reduce) { - .fade { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .fade:not(.show) { - opacity: 0; } - -.collapse:not(.show) { - display: none; } - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition: height 0.35s ease; - -o-transition: height 0.35s ease; - transition: height 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; } - -.dropdown-toggle { - white-space: nowrap; } - .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; } - .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; } - -.dropdown-menu-left { - right: auto; - left: 0; } - -.dropdown-menu-right { - right: 0; - left: auto; } - -@media (min-width: 576px) { - .dropdown-menu-sm-left { - right: auto; - left: 0; } - .dropdown-menu-sm-right { - right: 0; - left: auto; } } - -@media (min-width: 768px) { - .dropdown-menu-md-left { - right: auto; - left: 0; } - .dropdown-menu-md-right { - right: 0; - left: auto; } } - -@media (min-width: 992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0; } - .dropdown-menu-lg-right { - right: 0; - left: auto; } } - -@media (min-width: 1200px) { - .dropdown-menu-xl-left { - right: auto; - left: 0; } - .dropdown-menu-xl-right { - right: 0; - left: auto; } } - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; } - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; } - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; } - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; } - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropright .dropdown-toggle::after { - vertical-align: 0; } - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; } - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; } - -.dropleft .dropdown-toggle::after { - display: none; } - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; } - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropleft .dropdown-toggle::before { - vertical-align: 0; } - -.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { - right: auto; - bottom: auto; } - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; } - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; } - .dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #f8f9fa; } - .dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; } - .dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: transparent; } - -.dropdown-menu.show { - display: block; } - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; } - -.dropdown-item-text { - display: block; - padding: 0.25rem 1.5rem; - color: #212529; } - -.btn-group, -.btn-group-vertical { - position: relative; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - vertical-align: middle; } - .btn-group > .btn, - .btn-group-vertical > .btn { - position: relative; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - .btn-group > .btn:hover, - .btn-group-vertical > .btn:hover { - z-index: 1; } - .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, - .btn-group-vertical > .btn:focus, - .btn-group-vertical > .btn:active, - .btn-group-vertical > .btn.active { - z-index: 1; } - -.btn-toolbar { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .btn-toolbar .input-group { - width: auto; } - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - margin-left: -1px; } - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; } - .dropdown-toggle-split::after, - .dropup .dropdown-toggle-split::after, - .dropright .dropdown-toggle-split::after { - margin-left: 0; } - .dropleft .dropdown-toggle-split::before { - margin-right: 0; } - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; } - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; } - -.btn-group-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .btn-group-vertical > .btn, - .btn-group-vertical > .btn-group { - width: 100%; } - .btn-group-vertical > .btn:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) { - margin-top: -1px; } - .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), - .btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .btn-group-vertical > .btn:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.btn-group-toggle > .btn, -.btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; } - .btn-group-toggle > .btn input[type="radio"], - .btn-group-toggle > .btn input[type="checkbox"], - .btn-group-toggle > .btn-group > .btn input[type="radio"], - .btn-group-toggle > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; } - -.input-group { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - width: 100%; } - .input-group > .form-control, - .input-group > .form-control-plaintext, - .input-group > .custom-select, - .input-group > .custom-file { - position: relative; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; } - .input-group > .form-control + .form-control, - .input-group > .form-control + .custom-select, - .input-group > .form-control + .custom-file, - .input-group > .form-control-plaintext + .form-control, - .input-group > .form-control-plaintext + .custom-select, - .input-group > .form-control-plaintext + .custom-file, - .input-group > .custom-select + .form-control, - .input-group > .custom-select + .custom-select, - .input-group > .custom-select + .custom-file, - .input-group > .custom-file + .form-control, - .input-group > .custom-file + .custom-select, - .input-group > .custom-file + .custom-file { - margin-left: -1px; } - .input-group > .form-control:focus, - .input-group > .custom-select:focus, - .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; } - .input-group > .custom-file .custom-file-input:focus { - z-index: 4; } - .input-group > .form-control:not(:last-child), - .input-group > .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .input-group > .form-control:not(:first-child), - .input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .input-group > .custom-file { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .input-group > .custom-file:not(:last-child) .custom-file-label, - .input-group > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.input-group-prepend, -.input-group-append { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .input-group-prepend .btn, - .input-group-append .btn { - position: relative; - z-index: 2; } - .input-group-prepend .btn:focus, - .input-group-append .btn:focus { - z-index: 3; } - .input-group-prepend .btn + .btn, - .input-group-prepend .btn + .input-group-text, - .input-group-prepend .input-group-text + .input-group-text, - .input-group-prepend .input-group-text + .btn, - .input-group-append .btn + .btn, - .input-group-append .btn + .input-group-text, - .input-group-append .input-group-text + .input-group-text, - .input-group-append .input-group-text + .btn { - margin-left: -1px; } - -.input-group-prepend { - margin-right: -1px; } - -.input-group-append { - margin-left: -1px; } - -.input-group-text { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; } - .input-group-text input[type="radio"], - .input-group-text input[type="checkbox"] { - margin-top: 0; } - -.input-group-lg > .form-control:not(textarea), -.input-group-lg > .custom-select { - height: calc(1.5em + 1rem + 2px); } - -.input-group-lg > .form-control, -.input-group-lg > .custom-select, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; } - -.input-group-sm > .form-control:not(textarea), -.input-group-sm > .custom-select { - height: calc(1.5em + 0.5rem + 2px); } - -.input-group-sm > .form-control, -.input-group-sm > .custom-select, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; } - -.input-group-lg > .custom-select, -.input-group-sm > .custom-select { - padding-right: 1.75rem; } - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; } - -.custom-control-inline { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - margin-right: 1rem; } - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; } - .custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - border-color: #007bff; - background-color: #007bff; } - .custom-control-input:focus ~ .custom-control-label::before { - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { - border-color: #80bdff; } - .custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff; } - .custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; } - .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; } - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top; } - .custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - background-color: #fff; - border: #adb5bd solid 1px; } - .custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background: no-repeat 50% / 50% 50%; } - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; } - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); } - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - border-color: #007bff; - background-color: #007bff; } - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); } - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); } - -.custom-radio .custom-control-label::before { - border-radius: 50%; } - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); } - -.custom-switch { - padding-left: 2.25rem; } - .custom-switch .custom-control-label::before { - left: -2.25rem; - width: 1.75rem; - pointer-events: all; - border-radius: 0.5rem; } - .custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1rem - 4px); - height: calc(1rem - 4px); - background-color: #adb5bd; - border-radius: 0.5rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: #fff; - -webkit-transform: translateX(0.75rem); - -ms-transform: translateX(0.75rem); - transform: translateX(0.75rem); } - .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); } - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } - .custom-select:focus { - border-color: #80bdff; - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; } - .custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; } - .custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; } - .custom-select::-ms-expand { - display: none; } - -.custom-select-sm { - height: calc(1.5em + 0.5rem + 2px); - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; } - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; } - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin-bottom: 0; } - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin: 0; - opacity: 0; } - .custom-file-input:focus ~ .custom-file-label { - border-color: #80bdff; - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .custom-file-input:disabled ~ .custom-file-label { - background-color: #e9ecef; } - .custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; } - .custom-file-input ~ .custom-file-label[data-browse]::after { - content: attr(data-browse); } - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; } - .custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + 0.75rem); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 0.25rem 0.25rem 0; } - -.custom-range { - width: 100%; - height: calc(1rem + 0.4rem); - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } - .custom-range:focus { - outline: none; } - .custom-range:focus::-webkit-slider-thumb { - -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - .custom-range::-moz-focus-outer { - border: 0; } - .custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; } - @media (prefers-reduced-motion: reduce) { - .custom-range::-webkit-slider-thumb { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff; } - .custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; } - .custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; } - @media (prefers-reduced-motion: reduce) { - .custom-range::-moz-range-thumb { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .custom-range::-moz-range-thumb:active { - background-color: #b3d7ff; } - .custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; } - .custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - appearance: none; } - @media (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .custom-range::-ms-thumb:active { - background-color: #b3d7ff; } - .custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; } - .custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; } - .custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; } - .custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd; } - .custom-range:disabled::-webkit-slider-runnable-track { - cursor: default; } - .custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd; } - .custom-range:disabled::-moz-range-track { - cursor: default; } - .custom-range:disabled::-ms-thumb { - background-color: #adb5bd; } - -.custom-control-label::before, -.custom-file-label, -.custom-select { - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - -.nav { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - -.nav-link { - display: block; - padding: 0.5rem 1rem; } - .nav-link:hover, .nav-link:focus { - text-decoration: none; } - .nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default; } - -.nav-tabs { - border-bottom: 1px solid #dee2e6; } - .nav-tabs .nav-item { - margin-bottom: -1px; } - .nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; } - .nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; } - .nav-tabs .nav-link.active, - .nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; } - .nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav-pills .nav-link { - border-radius: 0.25rem; } - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; } - -.nav-fill .nav-item { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - text-align: center; } - -.nav-justified .nav-item { - -ms-flex-preferred-size: 0; - flex-basis: 0; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - text-align: center; } - -.tab-content > .tab-pane { - display: none; } - -.tab-content > .active { - display: block; } - -.navbar { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 0.5rem 1rem; } - .navbar > .container, - .navbar > .container-fluid { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; } - .navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; } - -.navbar-nav { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - .navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; } - .navbar-nav .dropdown-menu { - position: static; - float: none; } - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; } - -.navbar-collapse { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; } - .navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; } - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; } - -@media (max-width: 575.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 576px) { - .navbar-expand-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .navbar-expand-sm .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .navbar-expand-sm .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; } - .navbar-expand-sm .navbar-toggler { - display: none; } } - -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 768px) { - .navbar-expand-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .navbar-expand-md .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .navbar-expand-md .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; } - .navbar-expand-md .navbar-toggler { - display: none; } } - -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 992px) { - .navbar-expand-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .navbar-expand-lg .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .navbar-expand-lg .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; } - .navbar-expand-lg .navbar-toggler { - display: none; } } - -@media (max-width: 1199.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 1200px) { - .navbar-expand-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .navbar-expand-xl .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .navbar-expand-xl .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; } - .navbar-expand-xl .navbar-toggler { - display: none; } } - -.navbar-expand { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - .navbar-expand > .container, - .navbar-expand > .container-fluid { - padding-right: 0; - padding-left: 0; } - .navbar-expand .navbar-nav { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .navbar-expand .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; } - .navbar-expand > .container, - .navbar-expand > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; } - .navbar-expand .navbar-collapse { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; } - .navbar-expand .navbar-toggler { - display: none; } - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); } - .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); } - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); } - .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); } - .navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); } - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); } - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); } - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); } - .navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); } - .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); } - -.navbar-dark .navbar-brand { - color: #fff; } - .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; } - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); } - .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); } - .navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); } - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; } - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); } - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); } - .navbar-dark .navbar-text a { - color: #fff; } - .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; } - -.card { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; } - .card > hr { - margin-right: 0; - margin-left: 0; } - .card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - -.card-body { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1.25rem; } - -.card-title { - margin-bottom: 0.75rem; } - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; } - -.card-text:last-child { - margin-bottom: 0; } - -.card-link:hover { - text-decoration: none; } - -.card-link + .card-link { - margin-left: 1.25rem; } - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); } - .card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } - .card-header + .list-group .list-group-item:first-child { - border-top: 0; } - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); } - .card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; } - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; } - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; } - -.card-img { - width: 100%; - border-radius: calc(0.25rem - 1px); } - -.card-img-top { - width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); } - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); } - -.card-deck { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - .card-deck .card { - margin-bottom: 15px; } - @media (min-width: 576px) { - .card-deck { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; } - .card-deck .card { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; } } - -.card-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - .card-group > .card { - margin-bottom: 15px; } - @media (min-width: 576px) { - .card-group { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .card-group > .card { - -webkit-box-flex: 1; - -ms-flex: 1 0 0%; - flex: 1 0 0%; - margin-bottom: 0; } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; } } - -.card-columns .card { - margin-bottom: 0.75rem; } - -@media (min-width: 576px) { - .card-columns { - -webkit-column-count: 3; - column-count: 3; - -webkit-column-gap: 1.25rem; - column-gap: 1.25rem; - orphans: 1; - widows: 1; } - .card-columns .card { - display: inline-block; - width: 100%; } } - -.accordion > .card { - overflow: hidden; } - .accordion > .card:not(:first-of-type) .card-header:first-child { - border-radius: 0; } - .accordion > .card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0; } - .accordion > .card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .accordion > .card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0; } - .accordion > .card .card-header { - margin-bottom: -1px; } - -.breadcrumb { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; } - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; } - .breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; } - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; } - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; } - -.breadcrumb-item.active { - color: #6c757d; } - -.pagination { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; } - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; } - .page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; } - .page-link:focus { - z-index: 2; - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; } - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #007bff; - border-color: #007bff; } - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; } - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; } - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; } - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; } - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; } - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; } - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; } - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; - -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; - -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .badge { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - a.badge:hover, a.badge:focus { - text-decoration: none; } - .badge:empty { - display: none; } - -.btn .badge { - position: relative; - top: -1px; } - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; } - -.badge-primary { - color: #fff; - background-color: #007bff; } - a.badge-primary:hover, a.badge-primary:focus { - color: #fff; - background-color: #0062cc; } - a.badge-primary:focus, a.badge-primary.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); } - -.badge-secondary { - color: #fff; - background-color: #6c757d; } - a.badge-secondary:hover, a.badge-secondary:focus { - color: #fff; - background-color: #545b62; } - a.badge-secondary:focus, a.badge-secondary.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } - -.badge-success { - color: #fff; - background-color: #28a745; } - a.badge-success:hover, a.badge-success:focus { - color: #fff; - background-color: #1e7e34; } - a.badge-success:focus, a.badge-success.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); } - -.badge-info { - color: #fff; - background-color: #17a2b8; } - a.badge-info:hover, a.badge-info:focus { - color: #fff; - background-color: #117a8b; } - a.badge-info:focus, a.badge-info.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); } - -.badge-warning { - color: #212529; - background-color: #ffc107; } - a.badge-warning:hover, a.badge-warning:focus { - color: #212529; - background-color: #d39e00; } - a.badge-warning:focus, a.badge-warning.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); } - -.badge-danger { - color: #fff; - background-color: #dc3545; } - a.badge-danger:hover, a.badge-danger:focus { - color: #fff; - background-color: #bd2130; } - a.badge-danger:focus, a.badge-danger.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); } - -.badge-light { - color: #212529; - background-color: #f8f9fa; } - a.badge-light:hover, a.badge-light:focus { - color: #212529; - background-color: #dae0e5; } - a.badge-light:focus, a.badge-light.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - -.badge-dark { - color: #fff; - background-color: #343a40; } - a.badge-dark:hover, a.badge-dark:focus { - color: #fff; - background-color: #1d2124; } - a.badge-dark:focus, a.badge-dark.focus { - outline: 0; - -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; } - @media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; } } - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; } - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; } - -.alert-heading { - color: inherit; } - -.alert-link { - font-weight: 700; } - -.alert-dismissible { - padding-right: 4rem; } - .alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; } - -.alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; } - .alert-primary hr { - border-top-color: #9fcdff; } - .alert-primary .alert-link { - color: #002752; } - -.alert-secondary { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; } - .alert-secondary hr { - border-top-color: #c8cbcf; } - .alert-secondary .alert-link { - color: #202326; } - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; } - .alert-success hr { - border-top-color: #b1dfbb; } - .alert-success .alert-link { - color: #0b2e13; } - -.alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; } - .alert-info hr { - border-top-color: #abdde5; } - .alert-info .alert-link { - color: #062c33; } - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; } - .alert-warning hr { - border-top-color: #ffe8a1; } - .alert-warning .alert-link { - color: #533f03; } - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; } - .alert-danger hr { - border-top-color: #f1b0b7; } - .alert-danger .alert-link { - color: #491217; } - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; } - .alert-light hr { - border-top-color: #ececf6; } - .alert-light .alert-link { - color: #686868; } - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; } - .alert-dark hr { - border-top-color: #b9bbbe; } - .alert-dark .alert-link { - color: #040505; } - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; } - to { - background-position: 0 0; } } - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; } - to { - background-position: 0 0; } } - -.progress { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - height: 1rem; - overflow: hidden; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; } - -.progress-bar { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - -webkit-transition: width 0.6s ease; - -o-transition: width 0.6s ease; - transition: width 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .progress-bar { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - -.progress-bar-striped { - background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; } - -.progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; } - @media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none; } } - -.media { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - -.media-body { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; } - -.list-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; } - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; } - .list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa; } - .list-group-item-action:active { - color: #212529; - background-color: #e9ecef; } - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); } - .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - .list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff; } - .list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; } - -.list-group-horizontal { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .list-group-horizontal .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } - -@media (min-width: 576px) { - .list-group-horizontal-sm { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .list-group-horizontal-sm .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-sm .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-sm .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -@media (min-width: 768px) { - .list-group-horizontal-md { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .list-group-horizontal-md .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-md .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-md .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -@media (min-width: 992px) { - .list-group-horizontal-lg { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .list-group-horizontal-lg .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-lg .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-lg .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -@media (min-width: 1200px) { - .list-group-horizontal-xl { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - .list-group-horizontal-xl .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-xl .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-xl .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; } - .list-group-flush .list-group-item:last-child { - margin-bottom: -1px; } - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; } - -.list-group-flush:last-child .list-group-item:last-child { - margin-bottom: 0; - border-bottom: 0; } - -.list-group-item-primary { - color: #004085; - background-color: #b8daff; } - .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #004085; - background-color: #9fcdff; } - .list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #004085; - border-color: #004085; } - -.list-group-item-secondary { - color: #383d41; - background-color: #d6d8db; } - .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #383d41; - background-color: #c8cbcf; } - .list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #383d41; - border-color: #383d41; } - -.list-group-item-success { - color: #155724; - background-color: #c3e6cb; } - .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; } - .list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; } - -.list-group-item-info { - color: #0c5460; - background-color: #bee5eb; } - .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; } - .list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; } - -.list-group-item-warning { - color: #856404; - background-color: #ffeeba; } - .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; } - .list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; } - -.list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; } - .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; } - .list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; } - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; } - .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; } - .list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; } - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; } - .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; } - .list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; } - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; } - .close:hover { - color: #000; - text-decoration: none; } - .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - opacity: .75; } - -button.close { - padding: 0; - background-color: transparent; - border: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; } - -a.close.disabled { - pointer-events: none; } - -.toast { - max-width: 350px; - overflow: hidden; - font-size: 0.875rem; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - opacity: 0; - border-radius: 0.25rem; } - .toast:not(:last-child) { - margin-bottom: 0.75rem; } - .toast.showing { - opacity: 1; } - .toast.show { - display: block; - opacity: 1; } - .toast.hide { - display: none; } - -.toast-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 0.25rem 0.75rem; - color: #6c757d; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); } - -.toast-body { - padding: 0.75rem; } - -.modal-open { - overflow: hidden; } - .modal-open .modal { - overflow-x: hidden; - overflow-y: auto; } - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0; } - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; } - .modal.fade .modal-dialog { - -webkit-transition: -webkit-transform 0.3s ease-out; - transition: -webkit-transform 0.3s ease-out; - -o-transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out; - transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; - -webkit-transform: translate(0, -50px); - -ms-transform: translate(0, -50px); - transform: translate(0, -50px); } - @media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .modal.show .modal-dialog { - -webkit-transform: none; - -ms-transform: none; - transform: none; } - -.modal-dialog-scrollable { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - max-height: calc(100% - 1rem); } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden; } - .modal-dialog-scrollable .modal-header, - .modal-dialog-scrollable .modal-footer { - -ms-flex-negative: 0; - flex-shrink: 0; } - .modal-dialog-scrollable .modal-body { - overflow-y: auto; } - -.modal-dialog-centered { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - min-height: calc(100% - 1rem); } - .modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - content: ""; } - .modal-dialog-centered.modal-dialog-scrollable { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - height: 100%; } - .modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none; } - .modal-dialog-centered.modal-dialog-scrollable::before { - content: none; } - -.modal-content { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; } - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; } - .modal-backdrop.fade { - opacity: 0; } - .modal-backdrop.show { - opacity: 0.5; } - -.modal-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; } - .modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto; } - -.modal-title { - margin-bottom: 0; - line-height: 1.5; } - -.modal-body { - position: relative; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - padding: 1rem; } - -.modal-footer { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; } - .modal-footer > :not(:first-child) { - margin-left: .25rem; } - .modal-footer > :not(:last-child) { - margin-right: .25rem; } - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; } - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; } - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); } - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); } - .modal-sm { - max-width: 300px; } } - -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - max-width: 800px; } } - -@media (min-width: 1200px) { - .modal-xl { - max-width: 1140px; } } - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; } - .tooltip.show { - opacity: 0.9; } - .tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; } - .tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; } - .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; } - .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; } - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; } - .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; } - .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; } - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; } - .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; } - .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; } - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; } - .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; } - .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; } - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; } - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; } - .popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; } - .popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; } - .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { - bottom: calc((0.5rem + 1px) * -1); } - .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { - bottom: 0; - border-width: 0.5rem 0.5rem 0; - border-top-color: rgba(0, 0, 0, 0.25); } - .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { - bottom: 1px; - border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; } - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; } - .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { - left: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; } - .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { - left: 0; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: rgba(0, 0, 0, 0.25); } - .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { - left: 1px; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; } - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; } - .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { - top: calc((0.5rem + 1px) * -1); } - .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { - top: 0; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: rgba(0, 0, 0, 0.25); } - .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { - top: 1px; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; } - .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; } - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; } - .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { - right: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; } - .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { - right: 0; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: rgba(0, 0, 0, 0.25); } - .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { - right: 1px; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; } - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); } - .popover-header:empty { - display: none; } - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; } - -.carousel { - position: relative; } - -.carousel.pointer-event { - -ms-touch-action: pan-y; - touch-action: pan-y; } - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; } - .carousel-inner::after { - display: block; - clear: both; - content: ""; } - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: -webkit-transform 0.6s ease-in-out; - transition: -webkit-transform 0.6s ease-in-out; - -o-transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out; - transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .carousel-item { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; } - -.carousel-item-next:not(.carousel-item-left), -.active.carousel-item-right { - -webkit-transform: translateX(100%); - -ms-transform: translateX(100%); - transform: translateX(100%); } - -.carousel-item-prev:not(.carousel-item-right), -.active.carousel-item-left { - -webkit-transform: translateX(-100%); - -ms-transform: translateX(-100%); - transform: translateX(-100%); } - -.carousel-fade .carousel-item { - opacity: 0; - -webkit-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; - -webkit-transform: none; - -ms-transform: none; - transform: none; } - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - z-index: 1; - opacity: 1; } - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - -webkit-transition: 0s 0.6s opacity; - -o-transition: 0s 0.6s opacity; - transition: 0s 0.6s opacity; } - @media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; - -webkit-transition: opacity 0.15s ease; - -o-transition: opacity 0.15s ease; - transition: opacity 0.15s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .carousel-control-prev:hover, .carousel-control-prev:focus, - .carousel-control-next:hover, - .carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; } - -.carousel-control-prev { - left: 0; } - -.carousel-control-next { - right: 0; } - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: no-repeat 50% / 100% 100%; } - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); } - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); } - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; } - .carousel-indicators li { - -webkit-box-sizing: content-box; - box-sizing: content-box; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: .5; - -webkit-transition: opacity 0.6s ease; - -o-transition: opacity 0.6s ease; - transition: opacity 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-indicators li { - -webkit-transition: none; - -o-transition: none; - transition: none; } } - .carousel-indicators .active { - opacity: 1; } - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; } - -@-webkit-keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes spinner-border { - to { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - border: 0.25em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: spinner-border .75s linear infinite; - animation: spinner-border .75s linear infinite; } - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: 0.2em; } - -@-webkit-keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0); } - 50% { - opacity: 1; } } - -@keyframes spinner-grow { - 0% { - -webkit-transform: scale(0); - transform: scale(0); } - 50% { - opacity: 1; } } - -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - background-color: currentColor; - border-radius: 50%; - opacity: 0; - -webkit-animation: spinner-grow .75s linear infinite; - animation: spinner-grow .75s linear infinite; } - -.spinner-grow-sm { - width: 1rem; - height: 1rem; } - -.align-baseline { - vertical-align: baseline !important; } - -.align-top { - vertical-align: top !important; } - -.align-middle { - vertical-align: middle !important; } - -.align-bottom { - vertical-align: bottom !important; } - -.align-text-bottom { - vertical-align: text-bottom !important; } - -.align-text-top { - vertical-align: text-top !important; } - -.bg-primary { - background-color: #007bff !important; } - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; } - -.bg-secondary { - background-color: #6c757d !important; } - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #545b62 !important; } - -.bg-success { - background-color: #28a745 !important; } - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; } - -.bg-info { - background-color: #17a2b8 !important; } - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #117a8b !important; } - -.bg-warning { - background-color: #ffc107 !important; } - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #d39e00 !important; } - -.bg-danger { - background-color: #dc3545 !important; } - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; } - -.bg-light { - background-color: #f8f9fa !important; } - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; } - -.bg-dark { - background-color: #343a40 !important; } - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; } - -.bg-white { - background-color: #fff !important; } - -.bg-transparent { - background-color: transparent !important; } - -.border { - border: 1px solid #dee2e6 !important; } - -.border-top { - border-top: 1px solid #dee2e6 !important; } - -.border-right { - border-right: 1px solid #dee2e6 !important; } - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; } - -.border-left { - border-left: 1px solid #dee2e6 !important; } - -.border-0 { - border: 0 !important; } - -.border-top-0 { - border-top: 0 !important; } - -.border-right-0 { - border-right: 0 !important; } - -.border-bottom-0 { - border-bottom: 0 !important; } - -.border-left-0 { - border-left: 0 !important; } - -.border-primary { - border-color: #007bff !important; } - -.border-secondary { - border-color: #6c757d !important; } - -.border-success { - border-color: #28a745 !important; } - -.border-info { - border-color: #17a2b8 !important; } - -.border-warning { - border-color: #ffc107 !important; } - -.border-danger { - border-color: #dc3545 !important; } - -.border-light { - border-color: #f8f9fa !important; } - -.border-dark { - border-color: #343a40 !important; } - -.border-white { - border-color: #fff !important; } - -.rounded-sm { - border-radius: 0.2rem !important; } - -.rounded { - border-radius: 0.25rem !important; } - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; } - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; } - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; } - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; } - -.rounded-lg { - border-radius: 0.3rem !important; } - -.rounded-circle { - border-radius: 50% !important; } - -.rounded-pill { - border-radius: 50rem !important; } - -.rounded-0 { - border-radius: 0 !important; } - -.clearfix::after { - display: block; - clear: both; - content: ""; } - -.d-none { - display: none !important; } - -.d-inline { - display: inline !important; } - -.d-inline-block { - display: inline-block !important; } - -.d-block { - display: block !important; } - -.d-table { - display: table !important; } - -.d-table-row { - display: table-row !important; } - -.d-table-cell { - display: table-cell !important; } - -.d-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; } - -.d-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; } - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; } - .d-sm-inline { - display: inline !important; } - .d-sm-inline-block { - display: inline-block !important; } - .d-sm-block { - display: block !important; } - .d-sm-table { - display: table !important; } - .d-sm-table-row { - display: table-row !important; } - .d-sm-table-cell { - display: table-cell !important; } - .d-sm-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; } - .d-sm-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; } } - -@media (min-width: 768px) { - .d-md-none { - display: none !important; } - .d-md-inline { - display: inline !important; } - .d-md-inline-block { - display: inline-block !important; } - .d-md-block { - display: block !important; } - .d-md-table { - display: table !important; } - .d-md-table-row { - display: table-row !important; } - .d-md-table-cell { - display: table-cell !important; } - .d-md-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; } - .d-md-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; } } - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; } - .d-lg-inline { - display: inline !important; } - .d-lg-inline-block { - display: inline-block !important; } - .d-lg-block { - display: block !important; } - .d-lg-table { - display: table !important; } - .d-lg-table-row { - display: table-row !important; } - .d-lg-table-cell { - display: table-cell !important; } - .d-lg-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; } - .d-lg-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; } } - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; } - .d-xl-inline { - display: inline !important; } - .d-xl-inline-block { - display: inline-block !important; } - .d-xl-block { - display: block !important; } - .d-xl-table { - display: table !important; } - .d-xl-table-row { - display: table-row !important; } - .d-xl-table-cell { - display: table-cell !important; } - .d-xl-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; } - .d-xl-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; } } - -@media print { - .d-print-none { - display: none !important; } - .d-print-inline { - display: inline !important; } - .d-print-inline-block { - display: inline-block !important; } - .d-print-block { - display: block !important; } - .d-print-table { - display: table !important; } - .d-print-table-row { - display: table-row !important; } - .d-print-table-cell { - display: table-cell !important; } - .d-print-flex { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; } - .d-print-inline-flex { - display: -webkit-inline-box !important; - display: -ms-inline-flexbox !important; - display: inline-flex !important; } } - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; } - .embed-responsive::before { - display: block; - content: ""; } - .embed-responsive .embed-responsive-item, - .embed-responsive iframe, - .embed-responsive embed, - .embed-responsive object, - .embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; } - -.embed-responsive-21by9::before { - padding-top: 42.85714%; } - -.embed-responsive-16by9::before { - padding-top: 56.25%; } - -.embed-responsive-4by3::before { - padding-top: 75%; } - -.embed-responsive-1by1::before { - padding-top: 100%; } - -.flex-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; } - -.flex-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; } - -.flex-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; } - -.flex-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; } - -.flex-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; } - -.flex-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; } - -.flex-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; } - -.flex-fill { - -webkit-box-flex: 1 !important; - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; } - -.flex-grow-0 { - -webkit-box-flex: 0 !important; - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; } - -.flex-grow-1 { - -webkit-box-flex: 1 !important; - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; } - -.flex-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; } - -.flex-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; } - -.justify-content-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; } - -.justify-content-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; } - -.justify-content-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; } - -.justify-content-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; } - -.justify-content-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; } - -.align-items-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; } - -.align-items-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; } - -.align-items-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; } - -.align-items-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; } - -.align-items-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; } - -.align-content-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; } - -.align-content-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; } - -.align-content-center { - -ms-flex-line-pack: center !important; - align-content: center !important; } - -.align-content-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; } - -.align-content-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; } - -.align-content-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; } - -.align-self-auto { - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; } - -.align-self-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; } - -.align-self-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; } - -.align-self-center { - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; } - -.align-self-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; } - -.align-self-stretch { - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; } - -@media (min-width: 576px) { - .flex-sm-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; } - .flex-sm-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; } - .flex-sm-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; } - .flex-sm-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; } - .flex-sm-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; } - .flex-sm-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; } - .flex-sm-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; } - .flex-sm-fill { - -webkit-box-flex: 1 !important; - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; } - .flex-sm-grow-0 { - -webkit-box-flex: 0 !important; - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; } - .flex-sm-grow-1 { - -webkit-box-flex: 1 !important; - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; } - .flex-sm-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; } - .flex-sm-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; } - .justify-content-sm-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; } - .justify-content-sm-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; } - .justify-content-sm-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; } - .justify-content-sm-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; } - .justify-content-sm-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; } - .align-items-sm-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; } - .align-items-sm-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; } - .align-items-sm-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; } - .align-items-sm-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; } - .align-items-sm-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; } - .align-content-sm-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; } - .align-content-sm-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; } - .align-content-sm-center { - -ms-flex-line-pack: center !important; - align-content: center !important; } - .align-content-sm-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; } - .align-content-sm-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; } - .align-content-sm-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; } - .align-self-sm-auto { - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; } - .align-self-sm-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; } - .align-self-sm-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; } - .align-self-sm-center { - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; } - .align-self-sm-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; } - .align-self-sm-stretch { - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; } } - -@media (min-width: 768px) { - .flex-md-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; } - .flex-md-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; } - .flex-md-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; } - .flex-md-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; } - .flex-md-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; } - .flex-md-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; } - .flex-md-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; } - .flex-md-fill { - -webkit-box-flex: 1 !important; - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; } - .flex-md-grow-0 { - -webkit-box-flex: 0 !important; - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; } - .flex-md-grow-1 { - -webkit-box-flex: 1 !important; - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; } - .flex-md-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; } - .flex-md-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; } - .justify-content-md-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; } - .justify-content-md-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; } - .justify-content-md-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; } - .justify-content-md-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; } - .justify-content-md-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; } - .align-items-md-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; } - .align-items-md-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; } - .align-items-md-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; } - .align-items-md-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; } - .align-items-md-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; } - .align-content-md-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; } - .align-content-md-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; } - .align-content-md-center { - -ms-flex-line-pack: center !important; - align-content: center !important; } - .align-content-md-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; } - .align-content-md-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; } - .align-content-md-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; } - .align-self-md-auto { - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; } - .align-self-md-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; } - .align-self-md-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; } - .align-self-md-center { - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; } - .align-self-md-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; } - .align-self-md-stretch { - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; } } - -@media (min-width: 992px) { - .flex-lg-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; } - .flex-lg-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; } - .flex-lg-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; } - .flex-lg-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; } - .flex-lg-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; } - .flex-lg-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; } - .flex-lg-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; } - .flex-lg-fill { - -webkit-box-flex: 1 !important; - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; } - .flex-lg-grow-0 { - -webkit-box-flex: 0 !important; - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; } - .flex-lg-grow-1 { - -webkit-box-flex: 1 !important; - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; } - .flex-lg-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; } - .flex-lg-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; } - .justify-content-lg-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; } - .justify-content-lg-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; } - .justify-content-lg-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; } - .justify-content-lg-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; } - .justify-content-lg-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; } - .align-items-lg-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; } - .align-items-lg-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; } - .align-items-lg-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; } - .align-items-lg-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; } - .align-items-lg-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; } - .align-content-lg-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; } - .align-content-lg-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; } - .align-content-lg-center { - -ms-flex-line-pack: center !important; - align-content: center !important; } - .align-content-lg-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; } - .align-content-lg-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; } - .align-content-lg-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; } - .align-self-lg-auto { - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; } - .align-self-lg-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; } - .align-self-lg-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; } - .align-self-lg-center { - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; } - .align-self-lg-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; } - .align-self-lg-stretch { - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; } } - -@media (min-width: 1200px) { - .flex-xl-row { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: row !important; - flex-direction: row !important; } - .flex-xl-column { - -webkit-box-orient: vertical !important; - -webkit-box-direction: normal !important; - -ms-flex-direction: column !important; - flex-direction: column !important; } - .flex-xl-row-reverse { - -webkit-box-orient: horizontal !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: row-reverse !important; - flex-direction: row-reverse !important; } - .flex-xl-column-reverse { - -webkit-box-orient: vertical !important; - -webkit-box-direction: reverse !important; - -ms-flex-direction: column-reverse !important; - flex-direction: column-reverse !important; } - .flex-xl-wrap { - -ms-flex-wrap: wrap !important; - flex-wrap: wrap !important; } - .flex-xl-nowrap { - -ms-flex-wrap: nowrap !important; - flex-wrap: nowrap !important; } - .flex-xl-wrap-reverse { - -ms-flex-wrap: wrap-reverse !important; - flex-wrap: wrap-reverse !important; } - .flex-xl-fill { - -webkit-box-flex: 1 !important; - -ms-flex: 1 1 auto !important; - flex: 1 1 auto !important; } - .flex-xl-grow-0 { - -webkit-box-flex: 0 !important; - -ms-flex-positive: 0 !important; - flex-grow: 0 !important; } - .flex-xl-grow-1 { - -webkit-box-flex: 1 !important; - -ms-flex-positive: 1 !important; - flex-grow: 1 !important; } - .flex-xl-shrink-0 { - -ms-flex-negative: 0 !important; - flex-shrink: 0 !important; } - .flex-xl-shrink-1 { - -ms-flex-negative: 1 !important; - flex-shrink: 1 !important; } - .justify-content-xl-start { - -webkit-box-pack: start !important; - -ms-flex-pack: start !important; - justify-content: flex-start !important; } - .justify-content-xl-end { - -webkit-box-pack: end !important; - -ms-flex-pack: end !important; - justify-content: flex-end !important; } - .justify-content-xl-center { - -webkit-box-pack: center !important; - -ms-flex-pack: center !important; - justify-content: center !important; } - .justify-content-xl-between { - -webkit-box-pack: justify !important; - -ms-flex-pack: justify !important; - justify-content: space-between !important; } - .justify-content-xl-around { - -ms-flex-pack: distribute !important; - justify-content: space-around !important; } - .align-items-xl-start { - -webkit-box-align: start !important; - -ms-flex-align: start !important; - align-items: flex-start !important; } - .align-items-xl-end { - -webkit-box-align: end !important; - -ms-flex-align: end !important; - align-items: flex-end !important; } - .align-items-xl-center { - -webkit-box-align: center !important; - -ms-flex-align: center !important; - align-items: center !important; } - .align-items-xl-baseline { - -webkit-box-align: baseline !important; - -ms-flex-align: baseline !important; - align-items: baseline !important; } - .align-items-xl-stretch { - -webkit-box-align: stretch !important; - -ms-flex-align: stretch !important; - align-items: stretch !important; } - .align-content-xl-start { - -ms-flex-line-pack: start !important; - align-content: flex-start !important; } - .align-content-xl-end { - -ms-flex-line-pack: end !important; - align-content: flex-end !important; } - .align-content-xl-center { - -ms-flex-line-pack: center !important; - align-content: center !important; } - .align-content-xl-between { - -ms-flex-line-pack: justify !important; - align-content: space-between !important; } - .align-content-xl-around { - -ms-flex-line-pack: distribute !important; - align-content: space-around !important; } - .align-content-xl-stretch { - -ms-flex-line-pack: stretch !important; - align-content: stretch !important; } - .align-self-xl-auto { - -ms-flex-item-align: auto !important; - -ms-grid-row-align: auto !important; - align-self: auto !important; } - .align-self-xl-start { - -ms-flex-item-align: start !important; - align-self: flex-start !important; } - .align-self-xl-end { - -ms-flex-item-align: end !important; - align-self: flex-end !important; } - .align-self-xl-center { - -ms-flex-item-align: center !important; - -ms-grid-row-align: center !important; - align-self: center !important; } - .align-self-xl-baseline { - -ms-flex-item-align: baseline !important; - align-self: baseline !important; } - .align-self-xl-stretch { - -ms-flex-item-align: stretch !important; - -ms-grid-row-align: stretch !important; - align-self: stretch !important; } } - -.float-left { - float: left !important; } - -.float-right { - float: right !important; } - -.float-none { - float: none !important; } - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; } - .float-sm-right { - float: right !important; } - .float-sm-none { - float: none !important; } } - -@media (min-width: 768px) { - .float-md-left { - float: left !important; } - .float-md-right { - float: right !important; } - .float-md-none { - float: none !important; } } - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; } - .float-lg-right { - float: right !important; } - .float-lg-none { - float: none !important; } } - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; } - .float-xl-right { - float: right !important; } - .float-xl-none { - float: none !important; } } - -.overflow-auto { - overflow: auto !important; } - -.overflow-hidden { - overflow: hidden !important; } - -.position-static { - position: static !important; } - -.position-relative { - position: relative !important; } - -.position-absolute { - position: absolute !important; } - -.position-fixed { - position: fixed !important; } - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; } - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; } - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; } - -@supports ((position: -webkit-sticky) or (position: sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; } } - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; } - -.shadow-sm { - -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } - -.shadow { - -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } - -.shadow-lg { - -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } - -.shadow-none { - -webkit-box-shadow: none !important; - box-shadow: none !important; } - -.w-25 { - width: 25% !important; } - -.w-50 { - width: 50% !important; } - -.w-75 { - width: 75% !important; } - -.w-100 { - width: 100% !important; } - -.w-auto { - width: auto !important; } - -.h-25 { - height: 25% !important; } - -.h-50 { - height: 50% !important; } - -.h-75 { - height: 75% !important; } - -.h-100 { - height: 100% !important; } - -.h-auto { - height: auto !important; } - -.mw-100 { - max-width: 100% !important; } - -.mh-100 { - max-height: 100% !important; } - -.min-vw-100 { - min-width: 100vw !important; } - -.min-vh-100 { - min-height: 100vh !important; } - -.vw-100 { - width: 100vw !important; } - -.vh-100 { - height: 100vh !important; } - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: ""; - background-color: rgba(0, 0, 0, 0); } - -.m-0 { - margin: 0 !important; } - -.mt-0, -.my-0 { - margin-top: 0 !important; } - -.mr-0, -.mx-0 { - margin-right: 0 !important; } - -.mb-0, -.my-0 { - margin-bottom: 0 !important; } - -.ml-0, -.mx-0 { - margin-left: 0 !important; } - -.m-1 { - margin: 0.25rem !important; } - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; } - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; } - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; } - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; } - -.m-2 { - margin: 0.5rem !important; } - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; } - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; } - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; } - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; } - -.m-3 { - margin: 1rem !important; } - -.mt-3, -.my-3 { - margin-top: 1rem !important; } - -.mr-3, -.mx-3 { - margin-right: 1rem !important; } - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; } - -.ml-3, -.mx-3 { - margin-left: 1rem !important; } - -.m-4 { - margin: 1.5rem !important; } - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; } - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; } - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; } - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; } - -.m-5 { - margin: 3rem !important; } - -.mt-5, -.my-5 { - margin-top: 3rem !important; } - -.mr-5, -.mx-5 { - margin-right: 3rem !important; } - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; } - -.ml-5, -.mx-5 { - margin-left: 3rem !important; } - -.p-0 { - padding: 0 !important; } - -.pt-0, -.py-0 { - padding-top: 0 !important; } - -.pr-0, -.px-0 { - padding-right: 0 !important; } - -.pb-0, -.py-0 { - padding-bottom: 0 !important; } - -.pl-0, -.px-0 { - padding-left: 0 !important; } - -.p-1 { - padding: 0.25rem !important; } - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; } - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; } - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; } - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; } - -.p-2 { - padding: 0.5rem !important; } - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; } - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; } - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; } - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; } - -.p-3 { - padding: 1rem !important; } - -.pt-3, -.py-3 { - padding-top: 1rem !important; } - -.pr-3, -.px-3 { - padding-right: 1rem !important; } - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; } - -.pl-3, -.px-3 { - padding-left: 1rem !important; } - -.p-4 { - padding: 1.5rem !important; } - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; } - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; } - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; } - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; } - -.p-5 { - padding: 3rem !important; } - -.pt-5, -.py-5 { - padding-top: 3rem !important; } - -.pr-5, -.px-5 { - padding-right: 3rem !important; } - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; } - -.pl-5, -.px-5 { - padding-left: 3rem !important; } - -.m-n1 { - margin: -0.25rem !important; } - -.mt-n1, -.my-n1 { - margin-top: -0.25rem !important; } - -.mr-n1, -.mx-n1 { - margin-right: -0.25rem !important; } - -.mb-n1, -.my-n1 { - margin-bottom: -0.25rem !important; } - -.ml-n1, -.mx-n1 { - margin-left: -0.25rem !important; } - -.m-n2 { - margin: -0.5rem !important; } - -.mt-n2, -.my-n2 { - margin-top: -0.5rem !important; } - -.mr-n2, -.mx-n2 { - margin-right: -0.5rem !important; } - -.mb-n2, -.my-n2 { - margin-bottom: -0.5rem !important; } - -.ml-n2, -.mx-n2 { - margin-left: -0.5rem !important; } - -.m-n3 { - margin: -1rem !important; } - -.mt-n3, -.my-n3 { - margin-top: -1rem !important; } - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important; } - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important; } - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important; } - -.m-n4 { - margin: -1.5rem !important; } - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important; } - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important; } - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important; } - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important; } - -.m-n5 { - margin: -3rem !important; } - -.mt-n5, -.my-n5 { - margin-top: -3rem !important; } - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important; } - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important; } - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important; } - -.m-auto { - margin: auto !important; } - -.mt-auto, -.my-auto { - margin-top: auto !important; } - -.mr-auto, -.mx-auto { - margin-right: auto !important; } - -.mb-auto, -.my-auto { - margin-bottom: auto !important; } - -.ml-auto, -.mx-auto { - margin-left: auto !important; } - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; } - .m-sm-1 { - margin: 0.25rem !important; } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; } - .m-sm-2 { - margin: 0.5rem !important; } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; } - .m-sm-3 { - margin: 1rem !important; } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; } - .m-sm-4 { - margin: 1.5rem !important; } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; } - .m-sm-5 { - margin: 3rem !important; } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; } - .p-sm-0 { - padding: 0 !important; } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; } - .p-sm-1 { - padding: 0.25rem !important; } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; } - .p-sm-2 { - padding: 0.5rem !important; } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; } - .p-sm-3 { - padding: 1rem !important; } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; } - .p-sm-4 { - padding: 1.5rem !important; } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; } - .p-sm-5 { - padding: 3rem !important; } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; } - .m-sm-n1 { - margin: -0.25rem !important; } - .mt-sm-n1, - .my-sm-n1 { - margin-top: -0.25rem !important; } - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -0.25rem !important; } - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -0.25rem !important; } - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -0.25rem !important; } - .m-sm-n2 { - margin: -0.5rem !important; } - .mt-sm-n2, - .my-sm-n2 { - margin-top: -0.5rem !important; } - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -0.5rem !important; } - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -0.5rem !important; } - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -0.5rem !important; } - .m-sm-n3 { - margin: -1rem !important; } - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important; } - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important; } - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important; } - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important; } - .m-sm-n4 { - margin: -1.5rem !important; } - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important; } - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important; } - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important; } - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important; } - .m-sm-n5 { - margin: -3rem !important; } - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important; } - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important; } - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important; } - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important; } - .m-sm-auto { - margin: auto !important; } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; } } - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; } - .m-md-1 { - margin: 0.25rem !important; } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; } - .m-md-2 { - margin: 0.5rem !important; } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; } - .m-md-3 { - margin: 1rem !important; } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; } - .m-md-4 { - margin: 1.5rem !important; } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; } - .m-md-5 { - margin: 3rem !important; } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; } - .p-md-0 { - padding: 0 !important; } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; } - .p-md-1 { - padding: 0.25rem !important; } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; } - .p-md-2 { - padding: 0.5rem !important; } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; } - .p-md-3 { - padding: 1rem !important; } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; } - .p-md-4 { - padding: 1.5rem !important; } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; } - .p-md-5 { - padding: 3rem !important; } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; } - .m-md-n1 { - margin: -0.25rem !important; } - .mt-md-n1, - .my-md-n1 { - margin-top: -0.25rem !important; } - .mr-md-n1, - .mx-md-n1 { - margin-right: -0.25rem !important; } - .mb-md-n1, - .my-md-n1 { - margin-bottom: -0.25rem !important; } - .ml-md-n1, - .mx-md-n1 { - margin-left: -0.25rem !important; } - .m-md-n2 { - margin: -0.5rem !important; } - .mt-md-n2, - .my-md-n2 { - margin-top: -0.5rem !important; } - .mr-md-n2, - .mx-md-n2 { - margin-right: -0.5rem !important; } - .mb-md-n2, - .my-md-n2 { - margin-bottom: -0.5rem !important; } - .ml-md-n2, - .mx-md-n2 { - margin-left: -0.5rem !important; } - .m-md-n3 { - margin: -1rem !important; } - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important; } - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important; } - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important; } - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important; } - .m-md-n4 { - margin: -1.5rem !important; } - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important; } - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important; } - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important; } - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important; } - .m-md-n5 { - margin: -3rem !important; } - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important; } - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important; } - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important; } - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important; } - .m-md-auto { - margin: auto !important; } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; } } - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; } - .m-lg-1 { - margin: 0.25rem !important; } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; } - .m-lg-2 { - margin: 0.5rem !important; } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; } - .m-lg-3 { - margin: 1rem !important; } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; } - .m-lg-4 { - margin: 1.5rem !important; } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; } - .m-lg-5 { - margin: 3rem !important; } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; } - .p-lg-0 { - padding: 0 !important; } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; } - .p-lg-1 { - padding: 0.25rem !important; } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; } - .p-lg-2 { - padding: 0.5rem !important; } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; } - .p-lg-3 { - padding: 1rem !important; } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; } - .p-lg-4 { - padding: 1.5rem !important; } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; } - .p-lg-5 { - padding: 3rem !important; } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; } - .m-lg-n1 { - margin: -0.25rem !important; } - .mt-lg-n1, - .my-lg-n1 { - margin-top: -0.25rem !important; } - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -0.25rem !important; } - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -0.25rem !important; } - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -0.25rem !important; } - .m-lg-n2 { - margin: -0.5rem !important; } - .mt-lg-n2, - .my-lg-n2 { - margin-top: -0.5rem !important; } - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -0.5rem !important; } - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -0.5rem !important; } - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -0.5rem !important; } - .m-lg-n3 { - margin: -1rem !important; } - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important; } - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important; } - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important; } - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important; } - .m-lg-n4 { - margin: -1.5rem !important; } - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important; } - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important; } - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important; } - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important; } - .m-lg-n5 { - margin: -3rem !important; } - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important; } - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important; } - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important; } - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important; } - .m-lg-auto { - margin: auto !important; } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; } } - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; } - .m-xl-1 { - margin: 0.25rem !important; } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; } - .m-xl-2 { - margin: 0.5rem !important; } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; } - .m-xl-3 { - margin: 1rem !important; } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; } - .m-xl-4 { - margin: 1.5rem !important; } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; } - .m-xl-5 { - margin: 3rem !important; } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; } - .p-xl-0 { - padding: 0 !important; } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; } - .p-xl-1 { - padding: 0.25rem !important; } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; } - .p-xl-2 { - padding: 0.5rem !important; } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; } - .p-xl-3 { - padding: 1rem !important; } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; } - .p-xl-4 { - padding: 1.5rem !important; } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; } - .p-xl-5 { - padding: 3rem !important; } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; } - .m-xl-n1 { - margin: -0.25rem !important; } - .mt-xl-n1, - .my-xl-n1 { - margin-top: -0.25rem !important; } - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -0.25rem !important; } - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -0.25rem !important; } - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -0.25rem !important; } - .m-xl-n2 { - margin: -0.5rem !important; } - .mt-xl-n2, - .my-xl-n2 { - margin-top: -0.5rem !important; } - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -0.5rem !important; } - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -0.5rem !important; } - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -0.5rem !important; } - .m-xl-n3 { - margin: -1rem !important; } - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important; } - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important; } - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important; } - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important; } - .m-xl-n4 { - margin: -1.5rem !important; } - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important; } - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important; } - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important; } - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important; } - .m-xl-n5 { - margin: -3rem !important; } - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important; } - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important; } - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important; } - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important; } - .m-xl-auto { - margin: auto !important; } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; } } - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } - -.text-justify { - text-align: justify !important; } - -.text-wrap { - white-space: normal !important; } - -.text-nowrap { - white-space: nowrap !important; } - -.text-truncate { - overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; - white-space: nowrap; } - -.text-left { - text-align: left !important; } - -.text-right { - text-align: right !important; } - -.text-center { - text-align: center !important; } - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; } - .text-sm-right { - text-align: right !important; } - .text-sm-center { - text-align: center !important; } } - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; } - .text-md-right { - text-align: right !important; } - .text-md-center { - text-align: center !important; } } - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; } - .text-lg-right { - text-align: right !important; } - .text-lg-center { - text-align: center !important; } } - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; } - .text-xl-right { - text-align: right !important; } - .text-xl-center { - text-align: center !important; } } - -.text-lowercase { - text-transform: lowercase !important; } - -.text-uppercase { - text-transform: uppercase !important; } - -.text-capitalize { - text-transform: capitalize !important; } - -.font-weight-light { - font-weight: 300 !important; } - -.font-weight-lighter { - font-weight: lighter !important; } - -.font-weight-normal { - font-weight: 400 !important; } - -.font-weight-bold { - font-weight: 700 !important; } - -.font-weight-bolder { - font-weight: bolder !important; } - -.font-italic { - font-style: italic !important; } - -.text-white { - color: #fff !important; } - -.text-primary { - color: #007bff !important; } - -a.text-primary:hover, a.text-primary:focus { - color: #0056b3 !important; } - -.text-secondary { - color: #6c757d !important; } - -a.text-secondary:hover, a.text-secondary:focus { - color: #494f54 !important; } - -.text-success { - color: #28a745 !important; } - -a.text-success:hover, a.text-success:focus { - color: #19692c !important; } - -.text-info { - color: #17a2b8 !important; } - -a.text-info:hover, a.text-info:focus { - color: #0f6674 !important; } - -.text-warning { - color: #ffc107 !important; } - -a.text-warning:hover, a.text-warning:focus { - color: #ba8b00 !important; } - -.text-danger { - color: #dc3545 !important; } - -a.text-danger:hover, a.text-danger:focus { - color: #a71d2a !important; } - -.text-light { - color: #f8f9fa !important; } - -a.text-light:hover, a.text-light:focus { - color: #cbd3da !important; } - -.text-dark { - color: #343a40 !important; } - -a.text-dark:hover, a.text-dark:focus { - color: #121416 !important; } - -.text-body { - color: #212529 !important; } - -.text-muted { - color: #6c757d !important; } - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; } - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; } - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; } - -.text-decoration-none { - text-decoration: none !important; } - -.text-break { - word-break: break-word !important; - overflow-wrap: break-word !important; } - -.text-reset { - color: inherit !important; } - -.visible { - visibility: visible !important; } - -.invisible { - visibility: hidden !important; } - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; } - a:not(.btn) { - text-decoration: underline; } - abbr[title]::after { - content: " (" attr(title) ")"; } - pre { - white-space: pre-wrap !important; } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; } - thead { - display: table-header-group; } - tr, - img { - page-break-inside: avoid; } - p, - h2, - h3 { - orphans: 3; - widows: 3; } - h2, - h3 { - page-break-after: avoid; } - @page { - size: a3; } - body { - min-width: 992px !important; } - .container { - min-width: 992px !important; } - .navbar { - display: none; } - .badge { - border: 1px solid #000; } - .table { - border-collapse: collapse !important; } - .table td, - .table th { - background-color: #fff !important; } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; } - .table-dark { - color: inherit; } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; } } - -body { - font-family: "Poppins", Arial, sans-serif; - font-size: 16px; - line-height: 1.8; - font-weight: normal; - background: #f8f9fd; - color: gray; } - -a { - -webkit-transition: .3s all ease; - -o-transition: .3s all ease; - transition: .3s all ease; - color: #1089ff; } - a:hover, a:focus { - text-decoration: none !important; - outline: none !important; - -webkit-box-shadow: none; - box-shadow: none; } - -h1, h2, h3, h4, h5, -.h1, .h2, .h3, .h4, .h5 { - line-height: 1.5; - font-weight: 400; - font-family: "Poppins", Arial, sans-serif; - color: #000; } - -.bg-primary { - background: #1089ff !important; } - -.ftco-section { - padding: 7em 0; } - -.ftco-no-pt { - padding-top: 0; } - -.ftco-no-pb { - padding-bottom: 0; } - -.heading-section { - font-size: 28px; - color: #000; } - -.img { - background-size: cover; - background-repeat: no-repeat; - background-position: center center; } - -.table-wrap { - overflow-x: scroll; } - -.table { - min-width: 1000px !important; - width: 100%; - background: #fff; } - .table thead.thead-primary { - background: #1089ff; } - .table thead th { - border: none; - padding: 20px 30px; - font-size: 14px; - color: #fff; } - .table tbody tr { - margin-bottom: 10px; } - .table tbody th, .table tbody td { - border: none; - padding: 20px 30px; - border-bottom: 3px solid #f8f9fd; - font-size: 14px; } diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html index f827eeb08..442b2a1ec 100644 --- a/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html +++ b/FlOpEDT/solve_board/templates/solve_board/main-board_perso.html @@ -34,7 +34,7 @@ - + {% endblock %} diff --git a/FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html b/FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html deleted file mode 100644 index c1d434fc7..000000000 --- a/FlOpEDT/solve_board/templates/solve_board/main-board_perso_pierre.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - -{% extends "base.html" %} -{% load i18n %} - -{% load static %} - -{% csrf_token %} - - -{% block title %} {% trans "Schedule Generation" %} {% endblock %} -{% block content %} - - - - - - - -
    -
    -

    Actions

    -
    -
    -
    -

    Gérer le poids

    -
    - -
    -

    1--2--3--4--5--6--7--8--O

    - -
    -
    -
    - - -
    -

    Type de contrainte

    -

    Paramètres

    -

    Activation

    -

    Poids

    -
    - -
    -
    -

    Toutes les contraintes

    - -
    -

    Image + Nom de la catégorie

    -
    - -
    -
    -

    • Covoiturage

    -
    -
    -

    Professeurs :

    - -
    -
    -

    Horaire :

    - -
    -
    -

    Jours :

    - -
    -
    - -
    -
    -
    -
    - -
    -

    1--2--3--4--5--6--7--8--O

    -
    -
    -
    - -
    -
    -
    -

    Texte de remplissage

    -
    -

    - - -Isdem diebus Apollinaris Domitiani gener, paulo ante agens palatii Caesaris curam, ad Mesopotamiam missus a socero per militares numeros immodice scrutabatur, an quaedam altiora meditantis iam Galli secreta susceperint scripta, qui conpertis Antiochiae gestis per minorem Armeniam lapsus Constantinopolim petit exindeque per protectores retractus artissime tenebatur. - -Metuentes igitur idem latrones Lycaoniam magna parte campestrem cum se inpares nostris fore congressione stataria documentis frequentibus scirent, tramitibus deviis petivere Pamphyliam diu quidem intactam sed timore populationum et caedium, milite per omnia diffuso propinqua, magnis undique praesidiis conmunitam. - -Et olim licet otiosae sint tribus pacataeque centuriae et nulla suffragiorum certamina set Pompiliani redierit securitas temporis, per omnes tamen quotquot sunt partes terrarum, ut domina suscipitur et regina et ubique patrum reverenda cum auctoritate canities populique Romani nomen circumspectum et verecundum. - -Has autem provincias, quas Orontes ambiens amnis imosque pedes Cassii montis illius celsi praetermeans funditur in Parthenium mare, Gnaeus Pompeius superato Tigrane regnis Armeniorum abstractas dicioni Romanae coniunxit. - -Dein Syria per speciosam interpatet diffusa planitiem. hanc nobilitat Antiochia, mundo cognita civitas, cui non certaverit alia advecticiis ita adfluere copiis et internis, et Laodicia et Apamia itidemque Seleucia iam inde a primis auspiciis florentissimae. - -Illud tamen te esse admonitum volo, primum ut qualis es talem te esse omnes existiment ut, quantum a rerum turpitudine abes, tantum te a verborum libertate seiungas; deinde ut ea in alterum ne dicas, quae cum tibi falso responsa sint, erubescas. Quis est enim, cui via ista non pateat, qui isti aetati atque etiam isti dignitati non possit quam velit petulanter, etiamsi sine ulla suspicione, at non sine argumento male dicere? Sed istarum partium culpa est eorum, qui te agere voluerunt; laus pudoris tui, quod ea te invitum dicere videbamus, ingenii, quod ornate politeque dixisti. - -Tempore quo primis auspiciis in mundanum fulgorem surgeret victura dum erunt homines Roma, ut augeretur sublimibus incrementis, foedere pacis aeternae Virtus convenit atque Fortuna plerumque dissidentes, quarum si altera defuisset, ad perfectam non venerat summitatem. - -Alii summum decus in carruchis solito altioribus et ambitioso vestium cultu ponentes sudant sub ponderibus lacernarum, quas in collis insertas cingulis ipsis adnectunt nimia subtegminum tenuitate perflabiles, expandentes eas crebris agitationibus maximeque sinistra, ut longiores fimbriae tunicaeque perspicue luceant varietate liciorum effigiatae in species animalium multiformes. - -Fieri, inquam, Triari, nullo pacto potest, ut non dicas, quid non probes eius, a quo dissentias. quid enim me prohiberet Epicureum esse, si probarem, quae ille diceret? cum praesertim illa perdiscere ludus esset. Quam ob rem dissentientium inter se reprehensiones non sunt vituperandae, maledicta, contumeliae, tum iracundiae, contentiones concertationesque in disputando pertinaces indignae philosophia mihi videri solent. - -Utque aegrum corpus quassari etiam levibus solet offensis, ita animus eius angustus et tener, quicquid increpuisset, ad salutis suae dispendium existimans factum aut cogitatum, insontium caedibus fecit victoriam luctuosam. - -Erat autem diritatis eius hoc quoque indicium nec obscurum nec latens, quod ludicris cruentis delectabatur et in circo sex vel septem aliquotiens vetitis certaminibus pugilum vicissim se concidentium perfusorumque sanguine specie ut lucratus ingentia laetabatur. - -Non ergo erunt homines deliciis diffluentes audiendi, si quando de amicitia, quam nec usu nec ratione habent cognitam, disputabunt. Nam quis est, pro deorum fidem atque hominum! qui velit, ut neque diligat quemquam nec ipse ab ullo diligatur, circumfluere omnibus copiis atque in omnium rerum abundantia vivere? Haec enim est tyrannorum vita nimirum, in qua nulla fides, nulla caritas, nulla stabilis benevolentiae potest esse fiducia, omnia semper suspecta atque sollicita, nullus locus amicitiae. - -Quam ob rem ut ii qui superiores sunt submittere se debent in amicitia, sic quodam modo inferiores extollere. Sunt enim quidam qui molestas amicitias faciunt, cum ipsi se contemni putant; quod non fere contingit nisi iis qui etiam contemnendos se arbitrantur; qui hac opinione non modo verbis sed etiam opere levandi sunt. - -Duplexque isdem diebus acciderat malum, quod et Theophilum insontem atrox interceperat casus, et Serenianus dignus exsecratione cunctorum, innoxius, modo non reclamante publico vigore, discessit. - -Accedat huc suavitas quaedam oportet sermonum atque morum, haudquaquam mediocre condimentum amicitiae. Tristitia autem et in omni re severitas habet illa quidem gravitatem, sed amicitia remissior esse debet et liberior et dulcior et ad omnem comitatem facilitatemque proclivior. - -Tu autem, Fanni, quod mihi tantum tribui dicis quantum ego nec adgnosco nec postulo, facis amice; sed, ut mihi videris, non recte iudicas de Catone; aut enim nemo, quod quidem magis credo, aut si quisquam, ille sapiens fuit. Quo modo, ut alia omittam, mortem filii tulit! memineram Paulum, videram Galum, sed hi in pueris, Cato in perfecto et spectato viro. - -Dum apud Persas, ut supra narravimus, perfidia regis motus agitat insperatos, et in eois tractibus bella rediviva consurgunt, anno sexto decimo et eo diutius post Nepotiani exitium, saeviens per urbem aeternam urebat cuncta Bellona, ex primordiis minimis ad clades excita luctuosas, quas obliterasset utinam iuge silentium! ne forte paria quandoque temptentur, plus exemplis generalibus nocitura quam delictis. - -Rogatus ad ultimum admissusque in consistorium ambage nulla praegressa inconsiderate et leviter proficiscere inquit ut praeceptum est, Caesar sciens quod si cessaveris, et tuas et palatii tui auferri iubebo prope diem annonas. hocque solo contumaciter dicto subiratus abscessit nec in conspectum eius postea venit saepius arcessitus. - -Quid? qui se etiam nunc subsidiis patrimonii aut amicorum liberalitate sustentant, hos perire patiemur? An, si qui frui publico non potuit per hostem, hic tegitur ipsa lege censoria; quem is frui non sinit, qui est, etiamsi non appellatur, hostis, huic ferri auxilium non oportet? Retinete igitur in provincia diutius eum, qui de sociis cum hostibus, de civibus cum sociis faciat pactiones, qui hoc etiam se pluris esse quam collegam putet, quod ille vos tristia voltuque deceperit, ipse numquam se minus quam erat, nequam esse simularit. Piso autem alio quodam modo gloriatur se brevi tempore perfecisse, ne Gabinius unus omnium nequissimus existimaretur. - -Et olim licet otiosae sint tribus pacataeque centuriae et nulla suffragiorum certamina set Pompiliani redierit securitas temporis, per omnes tamen quotquot sunt partes terrarum, ut domina suscipitur et regina et ubique patrum reverenda cum auctoritate canities populique Romani nomen circumspectum et verecundum. -Emensis itaque difficultatibus multis et nive obrutis callibus plurimis ubi prope Rauracum ventum est ad supercilia fluminis Rheni, resistente multitudine Alamanna pontem suspendere navium conpage Romani vi nimia vetabantur ritu grandinis undique convolantibus telis, et cum id inpossibile videretur, imperator cogitationibus magnis attonitus, quid capesseret ambigebat. - -Quam ob rem cave Catoni anteponas ne istum quidem ipsum, quem Apollo, ut ais, sapientissimum iudicavit; huius enim facta, illius dicta laudantur. De me autem, ut iam cum utroque vestrum loquar, sic habetote. - -Incenderat autem audaces usque ad insaniam homines ad haec, quae nefariis egere conatibus, Luscus quidam curator urbis subito visus: eosque ut heiulans baiolorum praecentor ad expediendum quod orsi sunt incitans vocibus crebris. qui haut longe postea ideo vivus exustus est. - -Ob haec et huius modi multa, quae cernebantur in paucis, omnibus timeri sunt coepta. et ne tot malis dissimulatis paulatimque serpentibus acervi crescerent aerumnarum, nobilitatis decreto legati mittuntur: Praetextatus ex urbi praefecto et ex vicario Venustus et ex consulari Minervius oraturi, ne delictis supplicia sint grandiora, neve senator quisquam inusitato et inlicito more tormentis exponeretur. - -Hae duae provinciae bello quondam piratico catervis mixtae praedonum a Servilio pro consule missae sub iugum factae sunt vectigales. et hae quidem regiones velut in prominenti terrarum lingua positae ob orbe eoo monte Amano disparantur. -

    -
    - - - - - - -{% endblock %} -- GitLab From d4a498c54716d4f50c998fa05b750d717d0c5c4c Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Fri, 25 Jun 2021 19:37:13 +0200 Subject: [PATCH 11/15] =?UTF-8?q?Am=C3=A9lioration=20de=20l'interface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/solve_board/easySelectStyle.css | 8 +- .../static/solve_board/solve_perso.js | 831 ++++++++++-------- .../solve_board/main-board_perso.html | 1 + 3 files changed, 487 insertions(+), 353 deletions(-) diff --git a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css index e42d008e4..ee6dfc157 100644 --- a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css +++ b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css @@ -422,7 +422,7 @@ table { tr:hover { - background-color: yellow; + background-color: cornflowerblue; } @@ -431,6 +431,8 @@ tr:hover flex-wrap: wrap; border-bottom: 1px grey solid; } + + .selec_contrainte { height: 5px; width: 25px; @@ -450,6 +452,7 @@ tr:hover background-color: DeepSkyBlue; } + .para_contrainte { overflow: auto; @@ -500,10 +503,9 @@ tr:hover .ajout_param{ background-color: green; - padding-left: 8px; - padding-right: 8px; margin-top: 5%; margin-bottom: 6%; + width: 45px; } #btn_possibl{ diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 09855792a..0cd158166 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -22,7 +22,118 @@ // without disclosing the source code of your own applications. -let constraint; + + + + +/** + * + * La structure de stockage des contraintes est ci-dessous, + * Elle est composé de différents attributs que vous pouvez + * comprendre grâce aux commentaires.Chaque contrainte à un + * certain nombre de paramètres stockés dans une liste. + * constraints est une liste de contrainte. Chaque contrainte + * est un objet. + * +*/ + +/* +let constraints = [ + { + id: 8, // id de la TTC + name: "Covoiturage", // nom du type de TTC + weight: 1, // poids de la TTC + is_active: true, // contrainte active ? + comment: "", // commentaire sur la TTC + last_modification: null, // date de création + weeks : [{nb: 14 , year: 2021},{nb: 33 , year: 2021}], // week a la forme : {nb: int , year: int} + parameters : [ + { + name: "Prof", // nom du paramètre dans la TTC + type: 'people.Tutor', // nom du type des objets dans ce paramètre + required: true, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : true, + id_list: [2,6], // ids des objets pour le paramètre dans la TTC + acceptable: [1,2,3,4,5,6,7,8,9,10,11] // ids des objets acceptables comme valeur du paramètre + }, + { + name: "bonjour", // nom du paramètre dans la TTC + type: 'people.Tutor', // nom du type des objets dans ce paramètre + required: false, // paramètre obligatoire ? + all_except: true, // tous sauf ? + multiple : true, + id_list: [1,8,5,6,7,8,9], // ids des objets pour le paramètre dans la TTC + acceptable: [1,2,3,4,5,6,7,8,9,10,11,12] // ids des objets acceptables comme valeur du paramètre + }] + }]; + +*/ + + +/** + * + * La structure de stockage des parameters est ci-dessous, + * celle-ci permet de récuperer la valeur associé à un id + * se trouvant dans l'id_list des paramètres d'une contrainte. + * Elle est composé d'un objet parameters stockant un autre objet + * qui lui même stocke une liste. Par exemple dans le premier cas + * ci-dessous people et Tutor représente le type du paramètre. + * +*/ + +/* + let parameters = { + people:{ + Tutor:[ + { + "id": 1, + "name": "PSE" + }, + { + "id": 2, + "name": "PRG" + } +] + }, + base:{ + Module:[ + {"id":1,"abbrev":"AMN"}, + {"id":2,"abbrev":'AMN2'} + ] + } +} +*/ + + +/** + * + * La structure ci-dessous est une liste de categories, + * celle-ci sert à définir à quel catégorie appartient + * chaque contrainte. Une catégorie peut en contenir + * une autre. + * +*/ + +/* +let categories = [ + {id:1, + name: 'Tous',// nom de la catégorie + parent:null, // catégorie parent + constraints_list:[8,9,10], //nombre de contraintes comprises dans cette catégorie + hidden:false}, + {id:2, + name: 'Categorie cool', + parent:1, // id de la categorie parent + constraints_list:[], + hidden:true} +] +*/ + + + +// Fonction permettant de récuperer toute les contraintes de la BD à partir de l'API +let constraints; function fetch_constraint(){ $.ajax({ @@ -32,21 +143,21 @@ function fetch_constraint(){ async: false, contentType: "application/json", success: function(msg){ - constraint = JSON.parse(msg); + constraints = JSON.parse(msg); }, error: function (msg){ console.log("error"); show_loader(false); } }) - return constraint; + return constraints; }; -let constraints=fetch_constraint() ; - +fetch_constraint() ; -let parameter; +// Fonction permettant de récuperer tout les parameters de la BD à partir de l'API +let parameters; function fetch_parameters(){ $.ajax({ @@ -56,332 +167,311 @@ function fetch_parameters(){ async: false, contentType: "application/json", success: function(msg){ - parameter = JSON.parse(msg); + parameters = JSON.parse(msg); + }, error: function (msg){ console.log("error"); show_loader(false); } }) - return parameter; + return parameters; }; -let parameters =fetch_parameters(); +fetch_parameters(); -let categories = [ - {id:1, - name: 'Tous', - parent:null, - constraints_list:[8,9,10], - hidden:false}, - {id:2, - name: 'Categorie cool', - parent:1, - constraints_list:[], - hidden:true} -] - -let id_list =[]; -for (let i = 0; i < constraints.length; i++) { - id_list.push(constraints[i].parameters) -} - -//Variables -let consZone = document.getElementById("Zone de contrainte"); -let tbl = document.createElement("table"); -let tblBody = document.createElement("tbody"); -let parametres; -let str; -let val; -//Boucle parcourant chaque contrainte 1 par 1 -let nom; - -let case_param_required = document.getElementsByTagName("body")[0]; - - - -for (let l = 0; l < constraints.length; l++) { - // creation d'une colonne - let row = document.createElement("tr"); - row.setAttribute('class', 'ligne_contrainte') - - // Bouton sélection - - let select = document.createElement("td"); - select.setAttribute('class', 'selec_contrainte') - let selec = document.createElement('input'); - selec.setAttribute('type', 'checkbox'); - selec.setAttribute('id', 'selection'); - selec.setAttribute('name', 'selection'); - select.appendChild(selec); - row.appendChild(select); - - - - //Nom de la contrainte - let div_nom = document.createElement("td"); - div_nom.setAttribute('class', 'nom_contrainte'); - nom = document.createTextNode(constraints[l].name); - div_nom.appendChild(nom); - row.appendChild(div_nom); - -// Parametres de la contraintes - let para = document.createElement("td"); - para.setAttribute('class', 'para_contrainte'); - - - //Les différents parametres existants de la ligne de contrainte - for (let k = 0; k < constraints[l].parameters.length; k++) { - - let p_param = document.createElement("p"); - p_param.setAttribute('id','param'+constraints[l].parameters[k].name); - let strong = document.createElement("strong"); - let em = document.createElement("em"); - - - let btn_Possib = document.createElement('input'); - btn_Possib.setAttribute('type', 'image'); - btn_Possib.setAttribute('id', 'image_Add'); - btn_Possib.setAttribute('src', '/static/base/img/ajout.png'); - btn_Possib.setAttribute('width', '15px'); - btn_Possib.setAttribute('height', '15px'); - - //Zone d'affichage des attributs d'un paramètre - let btn_possibl = document.createElement('input'); - btn_possibl.setAttribute('id', 'btn_possibl'); - btn_possibl.setAttribute('type', 'button'); - btn_possibl.setAttribute('width', '15px'); - btn_possibl.setAttribute('height', '15px'); - btn_possibl.setAttribute('onclick', 'hide(\'zone_Possib'+k+'\')'); - btn_possibl.setAttribute('class', 'btn_possibl'); - - let zone_Possib = document.createElement("div"); - zone_Possib.setAttribute('class', 'zone_Possib' ); - zone_Possib.setAttribute('id', 'zone_Possib'+k ); - - let type = constraints[l].parameters[k].type; - let type_concat = stringGetter(type); - - constraints[l].parameters[k].id_list= 1; - - for(let m = 0; m < constraints[l].parameters[k].id_list.length; m++ ) { - let tab_username = []; - - type_concat.find(function(n){ - - if(n.id === constraints[l].parameters[k].id_list[m]){ - let id = n.id-1; - let list_key = Object.keys(n); - let second_key = list_key[1]; - let zi_key = type+"."+id+"."+second_key; - let third_key = stringGetter(zi_key); - - tab_username.push(third_key); - } - }); - for(let h = 0;h suppr(constraints[l].parameters[k])); - btn_Suppr.setAttribute('width', '15px'); - btn_Suppr.setAttribute('height', '15px'); - - let btn_None = document.createElement('input'); - btn_None.setAttribute('id', 'None'); - btn_None.setAttribute('type', 'button'); - btn_None.setAttribute('value', 'None'); - btn_None.setAttribute('width', '15px'); - btn_None.setAttribute('height', '15px'); - - + let tblBody = document.createElement("tbody"); + tblBody.setAttribute('id','tableBody'); - if (constraints[l].parameters[k].id_list.length != 0) { - parametres = document.createTextNode(" " + constraints[l].parameters[k].name + " "); - if (constraints[l].parameters[k].required === true) { - let case_param_required = document.createElement("div"); - case_param_required.setAttribute('class', 'case_param_required'); - strong.appendChild(parametres); - p_param.appendChild(strong); - case_param_required.appendChild(p_param); - case_param_required.appendChild(btn_Possib); - if(btn_possibl.value === ""){ - case_param_required.appendChild(btn_None); - btn_None.disabled = true; - }else { - case_param_required.appendChild(btn_possibl); - } - case_param_required.appendChild(btn_Suppr); - case_param_required.appendChild(zone_Possib); +//Boucle parcourant chaque contrainte 1 par 1 + for (let l = 0; l < constraints.length; l++) { + + // creation d'une ligne + let row = document.createElement("tr"); + row.setAttribute('class', 'ligne_contrainte'); + row.setAttribute('id', 'ligne_contrainte'); + + + // Bouton sélection + let select = document.createElement("td"); + select.setAttribute('class', 'selec_contrainte'); + // Création d'un bouton checkbox pour sélectionner la contrainte + let selec = document.createElement('input'); + selec.setAttribute('type', 'checkbox'); + selec.setAttribute('id', 'selection'); + selec.setAttribute('name', 'selection'); + select.appendChild(selec); + row.appendChild(select); + + + //Nom de la contrainte + let div_nom = document.createElement("td"); + div_nom.setAttribute('class', 'nom_contrainte'); + nom = document.createTextNode(constraints[l].name); + div_nom.appendChild(nom); + row.appendChild(div_nom); + + + //Parametres de la contraintes + // balise permettant la création d'une colonne correspondant aux paramètres + let para = document.createElement("td"); + para.setAttribute('class', 'para_contrainte'); + + + //Les différents parametres existants de la ligne de contrainte + for (let k = 0; k < constraints[l].parameters.length; k++) { + + if (constraints[l].parameters[k].type === "base.Department") { + continue; + } + + let p_param = document.createElement("p"); + p_param.setAttribute('id', 'param' + constraints[l].parameters[k].name); + // Nom du paramètre en gras s'il est obligatoire + let strong = document.createElement("strong"); + // Nom du paramètre en italique s'il n'est pas obligatoire + let em = document.createElement("em"); + + //Bouton permettant l'ajout de possibilités à un paramètre + let btn_Possib = document.createElement('input'); + btn_Possib.setAttribute('type', 'image'); + btn_Possib.setAttribute('id', 'image_Add'); + btn_Possib.setAttribute('src', '/static/base/img/ajout.png'); + btn_Possib.setAttribute('width', '15px'); + btn_Possib.setAttribute('height', '15px'); + + + //Bouton permettant l'affichage de la zone des possibilités s'il y en a plus que 2 + let btn_possibl = document.createElement('input'); + btn_possibl.setAttribute('id', 'btn_possibl'); + btn_possibl.setAttribute('type', 'button'); + btn_possibl.setAttribute('width', '15px'); + btn_possibl.setAttribute('height', '15px'); + btn_possibl.setAttribute('onclick', 'hide(\'zone_Possib' + constraints[l].parameters[k].id_list + k + '\')'); + btn_possibl.setAttribute('class', 'btn_possibl'); + // Zone d'affichage de toutes les possibilités d'un paramètre + let zone_Possib = document.createElement("div"); + zone_Possib.setAttribute('class', 'zone_Possib'); + zone_Possib.setAttribute('id', 'zone_Possib' + constraints[l].parameters[k].id_list + k); + //type du paramètre actuel sous form de string + let type = constraints[l].parameters[k].type; + //Concaténation du type + parameters et suppression des guillemets + let type_concat = stringGetter(type); + + for (let m = 0; m < constraints[l].parameters[k].id_list.length; m++) { + let tab_username = []; + + type_concat.find(function (n) { + + + if (n.id === constraints[l].parameters[k].id_list[m]) { + let list_values = Object.values(n); + tab_username.push(list_values[1]); + } + }); + for (let h = 0; h < tab_username.length; h++) { + let possib = document.createTextNode(tab_username[h] + " "); + // s'il y a qu'un seule valeur dans l'id_list + if (constraints[l].parameters[k].id_list.length === 1) { + btn_possibl.value = tab_username[h]; + btn_possibl.disabled = true; + } else { + type_concat.find(function (n) { + //s'il y a plus d'1 valeurs dans l'id_list + if (n.id === constraints[l].parameters[k].id_list[0]) { + let list_values = Object.values(n); + btn_possibl.value = list_values[1] + "..."; + } + }); + zone_Possib.appendChild(possib); + + } + } + } + + //Bouton de suppression d'un paramètre + let btn_Suppr = document.createElement('input'); + btn_Suppr.setAttribute('type', 'image'); + btn_Suppr.setAttribute('id', 'image_Delete'); + btn_Suppr.setAttribute('src', '/static/base/img/suppression.png'); + btn_Suppr.addEventListener('click', () => suppr(constraints[l].parameters[k].id_list)); + btn_Suppr.setAttribute('width', '15px'); + btn_Suppr.setAttribute('height', '15px'); + + //S'il n'y a pas de possibilités trouvable dans parameters, alors on affiche none + let btn_None = document.createElement('input'); + btn_None.setAttribute('id', 'None'); + btn_None.setAttribute('type', 'button'); + btn_None.setAttribute('value', 'None'); + btn_None.setAttribute('width', '15px'); + btn_None.setAttribute('height', '15px'); + + + //Le nom du paramètre actuel + let parametres_nom = document.createTextNode(" " + constraints[l].parameters[k].name + " "); + //Condition permettant de verifier si un paramètre est obligatoire et s'il n'est pas vide + if (constraints[l].parameters[k].required === true && constraints[l].parameters[k].id_list.length !== 0) { + let case_param_required = document.createElement("div"); + case_param_required.setAttribute('class', 'case_param_required'); + strong.appendChild(parametres_nom); + p_param.appendChild(strong); + case_param_required.appendChild(p_param); + case_param_required.appendChild(btn_Possib); + // Condition si le btn est vide alors afficher none sinon afficher le bouton correctement + if (btn_possibl.value === "") { + case_param_required.appendChild(btn_None); + btn_None.disabled = true; + } else { + case_param_required.appendChild(btn_possibl); + } + case_param_required.appendChild(btn_Suppr); + case_param_required.appendChild(zone_Possib); para.appendChild(case_param_required); - - } else { - let case_param_second = document.createElement("div"); - case_param_second.setAttribute('class', 'case_param_second'); - em.appendChild(parametres); - p_param.appendChild(em); - case_param_second.appendChild(p_param); - case_param_second.appendChild(btn_Possib); - if(btn_possibl.value === ""){ - case_param_second.appendChild(btn_None); - btn_None.disabled = true; - }else { - case_param_second.appendChild(btn_possibl); - } - case_param_second.appendChild(btn_Suppr); - case_param_second.appendChild(zone_Possib); - para.appendChild(case_param_second); - - } - - } - - } - row.appendChild(para); - - //Bouton permettant l'affichage du menu déroulant - let ajout_Param = document.createElement("td"); - ajout_Param.setAttribute('class', 'ajout_param'); - let btn = document.createElement('input'); - btn.setAttribute('type', 'image'); - btn.setAttribute('id', 'image_Add'); - btn.setAttribute('src', '/static/base/img/ajout.png'); - btn.setAttribute('width', '20px'); - btn.setAttribute('height', '20px'); - btn.setAttribute('onclick', 'hide(\'Menu'+l+'\')'); - ajout_Param.appendChild(btn); - let btn_valid_param = document.createElement('input'); - btn_valid_param.setAttribute('type', 'button'); - btn_valid_param.setAttribute('id', 'valider'+l); - btn_valid_param.setAttribute('value', 'Valider'); - btn_valid_param.setAttribute('width', '20px'); - btn_valid_param.setAttribute('height', '20px'); - row.appendChild(ajout_Param); - - - //Ajout de la zone permettant l'affichage du menu déroulant - let Menu = document.createElement("div"); - Menu.setAttribute('id', 'Menu' + l); - Menu.setAttribute('class', 'Menu'); - let Select = document.createElement("select"); - Select.setAttribute('id', 'ChoixP' + l); - Select.setAttribute('data-max', ''); - Select.setAttribute('multiple', 'multiple'); - Select.setAttribute('style', ''); - Menu.appendChild(Select); - Menu.appendChild(btn_valid_param); - ajout_Param.appendChild(Menu); - row.appendChild(ajout_Param); - - //Activation d'une ligne - let activ = document.createElement("td"); - activ.setAttribute('class', 'activ_contrainte'); - let activate = document.createElement('input'); - activate.setAttribute('type', 'checkbox'); - activate.setAttribute('id', 'activation'); - activate.setAttribute('name', 'activation'); - activ.appendChild(activate); - row.appendChild(activ); - - if (constraints[l].is_active === true) { - activate.checked = true; - } - - // Selection du poids - let range_td = document.createElement("td"); - range_td.setAttribute('class', 'poid_contrainte'); - -/* -for(let item of allPreferencesItems[name]){ - // Faites les trucs qui créent votre ligne - // et mettez ces deux lignes à l'endroit qui vous intéresse - let newBarKiff=document.getElementById(`kiffDegree${name}${item.id}`) - newBarKiff.innerHTML=addCircles(`${name}Kiff_${item.name}`,`${name}KiffBar_${item.name}`); - } -for(let elmt of allcircles){ - //The element cirlcle clicked take the attribut check=true - elmt.addEventListener("click",otherCircleInCheckFalse); - elmt.addEventListener("click", circleInCheckTrue); - - //animation that put a black border on the circle - elmt.addEventListener("click",animNull); - elmt.addEventListener("click", animBorderBlack); - } - */ - - - let slide_btn = document.createElement('input'); - slide_btn.setAttribute('type', 'range'); - slide_btn.setAttribute('min', '1'); - slide_btn.setAttribute('max', '8'); - slide_btn.setAttribute('value', constraints[l].weight); - slide_btn.setAttribute('class', 'range-slider__range'); - slide_btn.setAttribute('id', 'Weight'); - slide_btn.setAttribute('name', 'Weight'); - range_td.appendChild(slide_btn); - row.appendChild(range_td); - - // Duplication - let duplic = document.createElement("td"); - duplic.setAttribute('class', 'duplic_contrainte'); - let btn_duplicate = document.createElement('input'); - btn_duplicate.setAttribute('type', 'image'); - btn_duplicate.setAttribute('id', 'image_duplic'); - btn_duplicate.setAttribute('src', '/static/base/img/copier-coller-1.png'); - btn_duplicate.setAttribute('width', '25px'); - btn_duplicate.setAttribute('height', '25px'); - let btn_Validate = document.createElement('input'); - btn_Validate.setAttribute('type', 'image'); - btn_Validate.setAttribute('id', 'image_Validate'); - btn_Validate.setAttribute('src', '/static/base/img/valider.png'); - btn_Validate.setAttribute('width', '25px'); - btn_Validate.setAttribute('height', '25px'); - duplic.appendChild(btn_duplicate); - duplic.appendChild(btn_Validate); - row.appendChild(duplic); - - // add the row to the end of the table body - tblBody.appendChild(row); - -} - -//function index(obj,i) {return obj[i]} - -tbl.appendChild(tblBody); -consZone.appendChild(tbl); - -//Fonction transformant un string en un objet + //Condition permettant d'afficher les paramètre non obligatoire + } else if (constraints[l].parameters[k].id_list.length !== 0) { + let case_param_second = document.createElement("div"); + case_param_second.setAttribute('class', 'case_param_second'); + em.appendChild(parametres_nom); + p_param.appendChild(em); + case_param_second.appendChild(p_param); + case_param_second.appendChild(btn_Possib); + // Condition si le btn est vide alors afficher none sinon afficher le bouton correctement + if (btn_possibl.value === "") { + case_param_second.appendChild(btn_None); + btn_None.disabled = true; + } else { + case_param_second.appendChild(btn_possibl); + } + case_param_second.appendChild(btn_Suppr); + case_param_second.appendChild(zone_Possib); + para.appendChild(case_param_second); + } + + } + + row.appendChild(para); + + + //Colonne d'ajout du bouton + let ajout_Param = document.createElement("td"); + ajout_Param.setAttribute('class', 'ajout_param'); + //Bouton permettant l'affichage du menu déroulant + let btn = document.createElement('input'); + btn.setAttribute('type', 'image'); + btn.setAttribute('id', 'image_Add'); + btn.setAttribute('src', '/static/base/img/ajout.png'); + btn.setAttribute('width', '20px'); + btn.setAttribute('height', '20px'); + btn.setAttribute('onclick', 'hide(\'Menu' + l + '\')'); + ajout_Param.appendChild(btn); + //Validation des paramètres selectionnés à ajouter + let btn_valid_param = document.createElement('input'); + btn_valid_param.setAttribute('type', 'button'); + btn_valid_param.setAttribute('id', 'valider' + l); + btn_valid_param.setAttribute('value', 'Valider'); + btn_valid_param.setAttribute('width', '20px'); + btn_valid_param.setAttribute('height', '20px'); + row.appendChild(ajout_Param); + + + //Ajout de la zone permettant l'affichage du menu déroulant + let Menu = document.createElement("div"); + Menu.setAttribute('id', 'Menu' + l); + Menu.setAttribute('class', 'Menu'); + let Select = document.createElement("select"); + Select.setAttribute('id', 'ChoixP' + l); + Select.setAttribute('data-max', ''); + Select.setAttribute('multiple', 'multiple'); + Select.setAttribute('style', ''); + Menu.appendChild(Select); + Menu.appendChild(btn_valid_param); + ajout_Param.appendChild(Menu); + row.appendChild(ajout_Param); + + //Activation d'une ligne + let activ = document.createElement("td"); + activ.setAttribute('class', 'activ_contrainte'); + let activate = document.createElement('input'); + activate.setAttribute('type', 'checkbox'); + activate.setAttribute('id', 'activation'); + activate.setAttribute('name', 'activation'); + activate.setAttribute('onclick', 'activate(this,constraints[' + l + '])'); + activ.appendChild(activate); + row.appendChild(activ); + + // Si une contrainte est active, alors le bouton sera coché + if (constraints[l].is_active === true) { + activate.checked = true; + } + + // Selection du poids d'une contrainte + let range_td = document.createElement("td"); + range_td.setAttribute('class', 'poid_contrainte'); + + + // Bouton permettant la gestion du poids d'une contrainte + let slide_btn = document.createElement('input'); + slide_btn.setAttribute('type', 'range'); + slide_btn.setAttribute('min', '1'); + slide_btn.setAttribute('max', '8'); + slide_btn.setAttribute('value', constraints[l].weight); + slide_btn.setAttribute('onclick', 'update_weight(this,constraints[' + l + '])'); + slide_btn.setAttribute('class', 'range-slider__range'); + slide_btn.setAttribute('id', 'Weight'); + slide_btn.setAttribute('name', 'Weight'); + range_td.appendChild(slide_btn); + row.appendChild(range_td); + + // Duplication d'une ligne de contrainte + let duplic = document.createElement("td"); + duplic.setAttribute('class', 'duplic_contrainte'); + let btn_duplicate = document.createElement('input'); + btn_duplicate.setAttribute('type', 'image'); + btn_duplicate.setAttribute('id', 'image_duplic'); + btn_duplicate.setAttribute('src', '/static/base/img/copier-coller-1.png'); + btn_duplicate.setAttribute('width', '25px'); + btn_duplicate.setAttribute('height', '25px'); + // Validation d'une ligne et envoi à l'API + let btn_Validate = document.createElement('input'); + btn_Validate.setAttribute('type', 'image'); + btn_Validate.setAttribute('id', 'image_Validate'); + btn_Validate.setAttribute('src', '/static/base/img/valider.png'); + btn_Validate.setAttribute('onclick', 'update_send(constraints,parameters)'); + btn_Validate.setAttribute('width', '25px'); + btn_Validate.setAttribute('height', '25px'); + duplic.appendChild(btn_duplicate); + duplic.appendChild(btn_Validate); + + row.appendChild(duplic); + + //ajout de la ligne à la table + tblBody.appendChild(row); + } +// Ajout de la table générer dans la zone HTML + tbl.appendChild(tblBody); + + consZone.appendChild(tbl); + } +refresh_param(); + create_menu(); +//Fonction transformant un string en un chemin utilisable pour parcourir une liste et/ou un objet JS function stringGetter (getter) { return getter .split('.') @@ -389,24 +479,64 @@ function stringGetter (getter) { } - // Tentative de sauvegarde du fichier js modifié - /*function suppr(param){ - var old_data = param; - var new_data = []; - console.log(localStorage.setItem(param,'[]')); - localStorage.removeItem(param); - - }*/ - - //Fonction permettant la suppression d'un parametre ( pour l'instant seulement dans la console) +/** + * Suppression d'un paramètre + * @param param + * + */ function suppr(param){ - console.log(param); param.length=0; - console.log(param); + document.getElementById('tableBody').remove(); + //Regéneration des lignes de contraintes + refresh_param(); + // Création des nouvaux menus déroulant + create_menu(); +} + + +/** + * Activation/désactivation d'un paramètre + * @param param + * + */ +function activate(checkbox,param){ + if (checkbox.checked) { + param.is_active = true; + console.log(param.is_active); + } + else { + param.is_active = false; + console.log(param.is_active); + } + } +/** + * Gestion du poids d'une contrainte + * @param slider, param + * + * + */ +function update_weight(slider,param){ + param.weight = slider.value; +} + +/** + * Envoi de la contrainte modifié à l'API + * @param constr,param + * + * + */ +function update_send(constr,param){ + console.log(constr); + console.log(param); +} -//Fonction permettant de cacher un élément + +/** + * Cacher/afficher un élement + * + */ function hide(id) { let x = document.getElementById(id); if (x.style.display === "block") { @@ -416,47 +546,48 @@ function suppr(param){ } } -// Boucle permettant la génération du menu déroulant des options -for(let cpt=0;cpt
    + {% endblock %} -- GitLab From f5c3baca98f843713dbf7aed995e6d723a17d398 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Fri, 25 Jun 2021 21:02:08 +0200 Subject: [PATCH 12/15] =?UTF-8?q?Traduction=20des=20commentaires=20en=20an?= =?UTF-8?q?glais=20et=20ajout=20du=20nom=20et=20pr=C3=A9nom=20dans=20autho?= =?UTF-8?q?rs.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AUTHORS | 1 + .../static/solve_board/solve_perso.js | 173 ++++++++++-------- 2 files changed, 95 insertions(+), 79 deletions(-) diff --git a/AUTHORS b/AUTHORS index 9f72f0468..951dadbbf 100644 --- a/AUTHORS +++ b/AUTHORS @@ -52,6 +52,7 @@ - Damien DASSIEU - Benjamin BOISSE - Pacôme GASNIER +- Wassim BOUALI # TRANSLATORS: diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 0cd158166..e71b15646 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -28,12 +28,12 @@ /** * - * La structure de stockage des contraintes est ci-dessous, - * Elle est composé de différents attributs que vous pouvez - * comprendre grâce aux commentaires.Chaque contrainte à un - * certain nombre de paramètres stockés dans une liste. - * constraints est une liste de contrainte. Chaque contrainte - * est un objet. + * The storage structure is below, + * It is made up of different attributes that you can + * understand thanks to the comments.Each constraint has a + * number of parameters stored in a list. + * constraints is a constraint list. Each constraint + * is an object. * */ @@ -73,12 +73,12 @@ let constraints = [ /** * - * La structure de stockage des parameters est ci-dessous, - * celle-ci permet de récuperer la valeur associé à un id - * se trouvant dans l'id_list des paramètres d'une contrainte. - * Elle est composé d'un objet parameters stockant un autre objet - * qui lui même stocke une liste. Par exemple dans le premier cas - * ci-dessous people et Tutor représente le type du paramètre. + * The storage structure of the parameters is below, + * this allows you to retrieve the value associated with an id + * found in the id_list of the parameters of a constraint. + * It is composed of a parameters object storing another object + * which itself stores a list. For example in the first case + * below people and Tutor represents the type of the parameter. * */ @@ -108,10 +108,10 @@ let constraints = [ /** * - * La structure ci-dessous est une liste de categories, - * celle-ci sert à définir à quel catégorie appartient - * chaque contrainte. Une catégorie peut en contenir - * une autre. + * The structure below is a list of categories, + * this is used to define to which category belongs + * each constraint. A category can contain some + * another. * */ @@ -132,7 +132,8 @@ let categories = [ -// Fonction permettant de récuperer toute les contraintes de la BD à partir de l'API + +// Function allowing to retrieve all the constraints from the API let constraints; function fetch_constraint(){ @@ -156,7 +157,8 @@ function fetch_constraint(){ fetch_constraint() ; -// Fonction permettant de récuperer tout les parameters de la BD à partir de l'API + +// Function allowing to retrieve all the parameters from the API let parameters; function fetch_parameters(){ @@ -187,32 +189,35 @@ fetch_parameters(); -//Variables -// La zone où l'on va venir créer notre squelette HTML pour l'affichage des contraintes - let consZone = document.getElementById("Zone de contrainte"); +// Variables +// The zone where we are going to create our HTML skeleton for the display of the constraints + let consZone = document.getElementById("Zone de contrainte"); consZone.setAttribute('id','consZone'); - function refresh_param() { -// Table où l'on va ajouter les lignes pour les contraintes et les colonnes pour ces attributs - let tbl = document.createElement("table"); - tbl.setAttribute('id','table'); - let tblBody = document.createElement("tbody"); +// Function regenerating the lines of constraints +function refresh_param() { + +// Table where we will add the rows for the constraints and the columns for these attributes + let tbl = document.createElement("table"); + tbl.setAttribute('id','table'); + let tblBody = document.createElement("tbody"); tblBody.setAttribute('id','tableBody'); -//Boucle parcourant chaque contrainte 1 par 1 + // Loop traversing each constraint 1 by 1 for (let l = 0; l < constraints.length; l++) { - // creation d'une ligne + // Create a row let row = document.createElement("tr"); row.setAttribute('class', 'ligne_contrainte'); row.setAttribute('id', 'ligne_contrainte'); - // Bouton sélection + // Selection button let select = document.createElement("td"); select.setAttribute('class', 'selec_contrainte'); - // Création d'un bouton checkbox pour sélectionner la contrainte + + // Create a checkbox button to select the constraint let selec = document.createElement('input'); selec.setAttribute('type', 'checkbox'); selec.setAttribute('id', 'selection'); @@ -221,7 +226,7 @@ fetch_parameters(); row.appendChild(select); - //Nom de la contrainte + // Name of the constraint let div_nom = document.createElement("td"); div_nom.setAttribute('class', 'nom_contrainte'); nom = document.createTextNode(constraints[l].name); @@ -229,13 +234,15 @@ fetch_parameters(); row.appendChild(div_nom); - //Parametres de la contraintes - // balise permettant la création d'une colonne correspondant aux paramètres + + // Parameters of the constraint + // tag allowing the creation of a column corresponding to the parameters let para = document.createElement("td"); para.setAttribute('class', 'para_contrainte'); - //Les différents parametres existants de la ligne de contrainte + + // The various existing parameters of the constraint line for (let k = 0; k < constraints[l].parameters.length; k++) { if (constraints[l].parameters[k].type === "base.Department") { @@ -244,12 +251,12 @@ fetch_parameters(); let p_param = document.createElement("p"); p_param.setAttribute('id', 'param' + constraints[l].parameters[k].name); - // Nom du paramètre en gras s'il est obligatoire + // Parameter name in bold if it is required let strong = document.createElement("strong"); - // Nom du paramètre en italique s'il n'est pas obligatoire + // Parameter name in italics if it is not required let em = document.createElement("em"); - //Bouton permettant l'ajout de possibilités à un paramètre + // Button used to add possibilities to a parameter let btn_Possib = document.createElement('input'); btn_Possib.setAttribute('type', 'image'); btn_Possib.setAttribute('id', 'image_Add'); @@ -258,7 +265,7 @@ fetch_parameters(); btn_Possib.setAttribute('height', '15px'); - //Bouton permettant l'affichage de la zone des possibilités s'il y en a plus que 2 + // Button allowing the display of the possibilities zone if there are more than 2 let btn_possibl = document.createElement('input'); btn_possibl.setAttribute('id', 'btn_possibl'); btn_possibl.setAttribute('type', 'button'); @@ -266,13 +273,14 @@ fetch_parameters(); btn_possibl.setAttribute('height', '15px'); btn_possibl.setAttribute('onclick', 'hide(\'zone_Possib' + constraints[l].parameters[k].id_list + k + '\')'); btn_possibl.setAttribute('class', 'btn_possibl'); - // Zone d'affichage de toutes les possibilités d'un paramètre + + // Display area of all the possibilities of a parameter let zone_Possib = document.createElement("div"); zone_Possib.setAttribute('class', 'zone_Possib'); zone_Possib.setAttribute('id', 'zone_Possib' + constraints[l].parameters[k].id_list + k); //type du paramètre actuel sous form de string let type = constraints[l].parameters[k].type; - //Concaténation du type + parameters et suppression des guillemets + // Concatenate the type + parameters and remove the quotes let type_concat = stringGetter(type); for (let m = 0; m < constraints[l].parameters[k].id_list.length; m++) { @@ -288,13 +296,13 @@ fetch_parameters(); }); for (let h = 0; h < tab_username.length; h++) { let possib = document.createTextNode(tab_username[h] + " "); - // s'il y a qu'un seule valeur dans l'id_list + // if there is only one value in the id_list if (constraints[l].parameters[k].id_list.length === 1) { btn_possibl.value = tab_username[h]; btn_possibl.disabled = true; } else { type_concat.find(function (n) { - //s'il y a plus d'1 valeurs dans l'id_list + // if there is more than 1 values in the id_list if (n.id === constraints[l].parameters[k].id_list[0]) { let list_values = Object.values(n); btn_possibl.value = list_values[1] + "..."; @@ -306,7 +314,7 @@ fetch_parameters(); } } - //Bouton de suppression d'un paramètre + // Button for deleting a parameter let btn_Suppr = document.createElement('input'); btn_Suppr.setAttribute('type', 'image'); btn_Suppr.setAttribute('id', 'image_Delete'); @@ -315,7 +323,8 @@ fetch_parameters(); btn_Suppr.setAttribute('width', '15px'); btn_Suppr.setAttribute('height', '15px'); - //S'il n'y a pas de possibilités trouvable dans parameters, alors on affiche none + + // If there are no possibilities found in parameters, then we display none let btn_None = document.createElement('input'); btn_None.setAttribute('id', 'None'); btn_None.setAttribute('type', 'button'); @@ -324,9 +333,11 @@ fetch_parameters(); btn_None.setAttribute('height', '15px'); - //Le nom du paramètre actuel + + // The name of the current parameter let parametres_nom = document.createTextNode(" " + constraints[l].parameters[k].name + " "); - //Condition permettant de verifier si un paramètre est obligatoire et s'il n'est pas vide + + // Condition used to check if a parameter is required and if it is not empty if (constraints[l].parameters[k].required === true && constraints[l].parameters[k].id_list.length !== 0) { let case_param_required = document.createElement("div"); case_param_required.setAttribute('class', 'case_param_required'); @@ -334,7 +345,8 @@ fetch_parameters(); p_param.appendChild(strong); case_param_required.appendChild(p_param); case_param_required.appendChild(btn_Possib); - // Condition si le btn est vide alors afficher none sinon afficher le bouton correctement + + // Condition if the btn is empty then display none otherwise display the button correctly if (btn_possibl.value === "") { case_param_required.appendChild(btn_None); btn_None.disabled = true; @@ -344,7 +356,8 @@ fetch_parameters(); case_param_required.appendChild(btn_Suppr); case_param_required.appendChild(zone_Possib); para.appendChild(case_param_required); - //Condition permettant d'afficher les paramètre non obligatoire + + // Condition used to display the non-required parameters } else if (constraints[l].parameters[k].id_list.length !== 0) { let case_param_second = document.createElement("div"); case_param_second.setAttribute('class', 'case_param_second'); @@ -352,7 +365,8 @@ fetch_parameters(); p_param.appendChild(em); case_param_second.appendChild(p_param); case_param_second.appendChild(btn_Possib); - // Condition si le btn est vide alors afficher none sinon afficher le bouton correctement + + // Condition if the btn is empty then display none otherwise display the button correctly if (btn_possibl.value === "") { case_param_second.appendChild(btn_None); btn_None.disabled = true; @@ -369,10 +383,11 @@ fetch_parameters(); row.appendChild(para); - //Colonne d'ajout du bouton + // Adding a column for button insertion let ajout_Param = document.createElement("td"); ajout_Param.setAttribute('class', 'ajout_param'); - //Bouton permettant l'affichage du menu déroulant + + // Button used to display the drop-down menu let btn = document.createElement('input'); btn.setAttribute('type', 'image'); btn.setAttribute('id', 'image_Add'); @@ -381,7 +396,8 @@ fetch_parameters(); btn.setAttribute('height', '20px'); btn.setAttribute('onclick', 'hide(\'Menu' + l + '\')'); ajout_Param.appendChild(btn); - //Validation des paramètres selectionnés à ajouter + + // Validate the selected parameters to add let btn_valid_param = document.createElement('input'); btn_valid_param.setAttribute('type', 'button'); btn_valid_param.setAttribute('id', 'valider' + l); @@ -391,7 +407,7 @@ fetch_parameters(); row.appendChild(ajout_Param); - //Ajout de la zone permettant l'affichage du menu déroulant + // Add the zone allowing the display of the drop-down menu let Menu = document.createElement("div"); Menu.setAttribute('id', 'Menu' + l); Menu.setAttribute('class', 'Menu'); @@ -405,7 +421,7 @@ fetch_parameters(); ajout_Param.appendChild(Menu); row.appendChild(ajout_Param); - //Activation d'une ligne + // Activate a row let activ = document.createElement("td"); activ.setAttribute('class', 'activ_contrainte'); let activate = document.createElement('input'); @@ -416,17 +432,19 @@ fetch_parameters(); activ.appendChild(activate); row.appendChild(activ); - // Si une contrainte est active, alors le bouton sera coché + + // If a constraint is active, then the button will be checked if (constraints[l].is_active === true) { activate.checked = true; } - // Selection du poids d'une contrainte + + // Select the weight of a constraint let range_td = document.createElement("td"); range_td.setAttribute('class', 'poid_contrainte'); - // Bouton permettant la gestion du poids d'une contrainte + // Button used to manage the weight of a constraint let slide_btn = document.createElement('input'); slide_btn.setAttribute('type', 'range'); slide_btn.setAttribute('min', '1'); @@ -439,7 +457,7 @@ fetch_parameters(); range_td.appendChild(slide_btn); row.appendChild(range_td); - // Duplication d'une ligne de contrainte + // Duplicate a constraint line let duplic = document.createElement("td"); duplic.setAttribute('class', 'duplic_contrainte'); let btn_duplicate = document.createElement('input'); @@ -448,7 +466,7 @@ fetch_parameters(); btn_duplicate.setAttribute('src', '/static/base/img/copier-coller-1.png'); btn_duplicate.setAttribute('width', '25px'); btn_duplicate.setAttribute('height', '25px'); - // Validation d'une ligne et envoi à l'API + // Validating a row and sending to the API let btn_Validate = document.createElement('input'); btn_Validate.setAttribute('type', 'image'); btn_Validate.setAttribute('id', 'image_Validate'); @@ -461,17 +479,17 @@ fetch_parameters(); row.appendChild(duplic); - //ajout de la ligne à la table + // Adding the row to the table tblBody.appendChild(row); } -// Ajout de la table générer dans la zone HTML - tbl.appendChild(tblBody); - +// Adding the generate table in the HTML area + tbl.appendChild(tblBody); consZone.appendChild(tbl); } refresh_param(); - create_menu(); -//Fonction transformant un string en un chemin utilisable pour parcourir une liste et/ou un objet JS +create_menu(); + +//Function transforming a string into a path that can be used to browse a list and / or a JS object function stringGetter (getter) { return getter .split('.') @@ -480,39 +498,37 @@ function stringGetter (getter) { /** - * Suppression d'un paramètre + * Deleting a Parameter * @param param * */ function suppr(param){ param.length=0; document.getElementById('tableBody').remove(); - //Regéneration des lignes de contraintes + // Regeneration of the constraint lines refresh_param(); - // Création des nouvaux menus déroulant + // Create new drop-down menus create_menu(); } /** - * Activation/désactivation d'un paramètre + * Activation / deactivation of a parameter * @param param * */ function activate(checkbox,param){ if (checkbox.checked) { param.is_active = true; - console.log(param.is_active); } else { param.is_active = false; - console.log(param.is_active); } } /** - * Gestion du poids d'une contrainte + * Managing the weight of a constraint * @param slider, param * * @@ -522,7 +538,7 @@ function update_weight(slider,param){ } /** - * Envoi de la contrainte modifié à l'API + * Sending the modified constraint to the API * @param constr,param * * @@ -534,7 +550,7 @@ function update_send(constr,param){ /** - * Cacher/afficher un élement + * Show/hide an élement * */ function hide(id) { @@ -547,12 +563,12 @@ function update_send(constr,param){ } -// Fonction permettant la génération du menu déroulant des options +// Function allowing the generation of the drop-down menu of options function create_menu() { for (let cpt = 0; cpt < constraints.length; cpt++) { var ldd = document.getElementById("ChoixP" + cpt); - //Création du menu option que l'on rempli. + //Creation of the option menu that is filled. for (let j = 0; j < constraints[cpt].parameters.length; j++) { if (constraints[cpt].parameters[j].id_list.length == 0) { var opt = document.createElement('option'); @@ -561,7 +577,7 @@ function create_menu() { } } - // Javascript du menu déroulant permettant la sélection + // javascript from the drop-down menu allowing selection $("#ChoixP" + cpt).easySelect({ buttons: true, search: true, @@ -575,12 +591,11 @@ function create_menu() { }) -// Listener permettant de retourner les elements selectionner dans le easyselect +// Listener allowing to return the selected elements in the easyselect $('#valider' + cpt).click(function () { $('#ChoixP' + cpt + ' option:selected').each(function () { str = $(this).text() + " "; val = $(this).val(); - console.log(str, val); }) }); -- GitLab From 019ffa6f086770b94fb8ca7891ad051c6c4abeb0 Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Fri, 25 Jun 2021 21:06:53 +0200 Subject: [PATCH 13/15] =?UTF-8?q?R=C3=A9sum=C3=A9=20rapide=20du=20travail?= =?UTF-8?q?=20effectu=C3=A9=20dans=20CHANGELOG.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e1a81efb..8bee72b06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -41,6 +41,7 @@ that explain the infaisability by the solver of a set of constraints - Modification proposal: id for modification bunch, modification applicability, email notification - Room preferences: user interface improvement, room exclusion +- Interface allowing user to manage differents constraints ## [0.3.0] - 2019-11-07 ### Added -- GitLab From e2a846519e4291a2255e1ada87087ad4b3ce47bf Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Mon, 28 Jun 2021 16:01:30 +0200 Subject: [PATCH 14/15] Ajout de la suppression de contraintes --- .../static/base/img/LasuppressiondesIRP.png | Bin 0 -> 18942 bytes .../static/solve_board/easySelectStyle.css | 2 +- .../static/solve_board/solve_perso.js | 59 ++++++++++++++++-- 3 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 FlOpEDT/base/static/base/img/LasuppressiondesIRP.png diff --git a/FlOpEDT/base/static/base/img/LasuppressiondesIRP.png b/FlOpEDT/base/static/base/img/LasuppressiondesIRP.png new file mode 100644 index 0000000000000000000000000000000000000000..768f6008c8a8f6eb2f73b6f8a249bab0c1bcb314 GIT binary patch literal 18942 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 literal 0 HcmV?d00001 diff --git a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css index ee6dfc157..0613b9e38 100644 --- a/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css +++ b/FlOpEDT/solve_board/static/solve_board/easySelectStyle.css @@ -571,7 +571,7 @@ tr:hover } #image_Validate{ - padding-left: 40px; + padding-left: 10px; } diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index e71b15646..5c167af6b 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -158,6 +158,7 @@ fetch_constraint() ; + // Function allowing to retrieve all the parameters from the API let parameters; function fetch_parameters(){ @@ -182,7 +183,28 @@ function fetch_parameters(){ fetch_parameters(); +// Function allowing to delete all the constraints from the API +let constraints; +function fetch_constraint(){ + + $.ajax({ + type:"GET", + dataType: 'text', + url: build_url(url_ttconstraints), + async: false, + contentType: "application/json", + success: function(msg){ + constraints = JSON.parse(msg); + }, + error: function (msg){ + console.log("error"); + show_loader(false); + } + }) + return constraints; +}; +fetch_constraint() ; @@ -285,10 +307,7 @@ function refresh_param() { for (let m = 0; m < constraints[l].parameters[k].id_list.length; m++) { let tab_username = []; - type_concat.find(function (n) { - - if (n.id === constraints[l].parameters[k].id_list[m]) { let list_values = Object.values(n); tab_username.push(list_values[1]); @@ -476,7 +495,15 @@ function refresh_param() { btn_Validate.setAttribute('height', '25px'); duplic.appendChild(btn_duplicate); duplic.appendChild(btn_Validate); - + //Deleting a constraint + let btn_delete = document.createElement('input'); + btn_delete.setAttribute('type', 'image'); + btn_delete.setAttribute('id', 'image_Validate'); + btn_delete.setAttribute('src', '/static/base/img/LasuppressiondesIRP.png'); + btn_delete.setAttribute('onclick', 'suppr_contstraint('+l+','+constraints[l].name+')'); + btn_delete.setAttribute('width', '25px'); + btn_delete.setAttribute('height', '25px'); + duplic.appendChild(btn_delete); row.appendChild(duplic); // Adding the row to the table @@ -511,6 +538,30 @@ function suppr(param){ create_menu(); } +/** + * Deleting a Constraints + * @param param + * + */ +function suppr_contstraint(index,constraint_name){ + + + + if (confirm("Êtes-vous sûr de vouloir supprimer cette contrainte ?")) { + // Delete the constraints + if (index !== -1) constraints.splice(index, 1); + alert("La contrainte à été supprimée avec succés."); + } else { + // Do nothing! + alert("La contrainte n'a pas été supprimée."); + } + + document.getElementById('tableBody').remove(); + // Regeneration of the constraint lines + refresh_param(); + // Create new drop-down menus + create_menu(); +} /** * Activation / deactivation of a parameter -- GitLab From 18292752a409e1250f3915cbc00a906e3bb8f56a Mon Sep 17 00:00:00 2001 From: "wassim.bouali" Date: Mon, 28 Jun 2021 16:05:08 +0200 Subject: [PATCH 15/15] Correction de la suppression d'une contrainte --- .../static/solve_board/solve_perso.js | 24 +------------------ 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/FlOpEDT/solve_board/static/solve_board/solve_perso.js b/FlOpEDT/solve_board/static/solve_board/solve_perso.js index 5c167af6b..69dd73894 100644 --- a/FlOpEDT/solve_board/static/solve_board/solve_perso.js +++ b/FlOpEDT/solve_board/static/solve_board/solve_perso.js @@ -158,7 +158,6 @@ fetch_constraint() ; - // Function allowing to retrieve all the parameters from the API let parameters; function fetch_parameters(){ @@ -183,28 +182,7 @@ function fetch_parameters(){ fetch_parameters(); -// Function allowing to delete all the constraints from the API -let constraints; -function fetch_constraint(){ - $.ajax({ - type:"GET", - dataType: 'text', - url: build_url(url_ttconstraints), - async: false, - contentType: "application/json", - success: function(msg){ - constraints = JSON.parse(msg); - }, - error: function (msg){ - console.log("error"); - show_loader(false); - } - }) - return constraints; -}; - -fetch_constraint() ; @@ -500,7 +478,7 @@ function refresh_param() { btn_delete.setAttribute('type', 'image'); btn_delete.setAttribute('id', 'image_Validate'); btn_delete.setAttribute('src', '/static/base/img/LasuppressiondesIRP.png'); - btn_delete.setAttribute('onclick', 'suppr_contstraint('+l+','+constraints[l].name+')'); + btn_delete.setAttribute('onclick', 'suppr_contstraint('+l+')'); btn_delete.setAttribute('width', '25px'); btn_delete.setAttribute('height', '25px'); duplic.appendChild(btn_delete); -- GitLab