From ea5c2a300d11a92965d94c85d0db4000ab69bf13 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 14 Dec 2021 15:27:31 -0700 Subject: [PATCH 01/27] lab-01 v2 --- Code/Austen/03-js/lab-01/{ => v1}/index.html | 0 .../03-js/lab-01/{ => v1}/unit-converter.js | 0 Code/Austen/03-js/lab-01/v2/index.html | 18 ++++++++++ Code/Austen/03-js/lab-01/v2/unit-converter.js | 35 +++++++++++++++++++ 4 files changed, 53 insertions(+) rename Code/Austen/03-js/lab-01/{ => v1}/index.html (100%) rename Code/Austen/03-js/lab-01/{ => v1}/unit-converter.js (100%) create mode 100644 Code/Austen/03-js/lab-01/v2/index.html create mode 100644 Code/Austen/03-js/lab-01/v2/unit-converter.js diff --git a/Code/Austen/03-js/lab-01/index.html b/Code/Austen/03-js/lab-01/v1/index.html similarity index 100% rename from Code/Austen/03-js/lab-01/index.html rename to Code/Austen/03-js/lab-01/v1/index.html diff --git a/Code/Austen/03-js/lab-01/unit-converter.js b/Code/Austen/03-js/lab-01/v1/unit-converter.js similarity index 100% rename from Code/Austen/03-js/lab-01/unit-converter.js rename to Code/Austen/03-js/lab-01/v1/unit-converter.js diff --git a/Code/Austen/03-js/lab-01/v2/index.html b/Code/Austen/03-js/lab-01/v2/index.html new file mode 100644 index 00000000..c2eefb1d --- /dev/null +++ b/Code/Austen/03-js/lab-01/v2/index.html @@ -0,0 +1,18 @@ + + + + + + + Unit Converter + + + + + + diff --git a/Code/Austen/03-js/lab-01/v2/unit-converter.js b/Code/Austen/03-js/lab-01/v2/unit-converter.js new file mode 100644 index 00000000..627e147e --- /dev/null +++ b/Code/Austen/03-js/lab-01/v2/unit-converter.js @@ -0,0 +1,35 @@ +const roundAccurately = (number, decimalPlaces) => + Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); + +function convert(unitFrom, unitTo, amount, rates) { + for (let i = 0; i < rates.length; i++) { + if (unitFrom === rates[i].name) { + let unitrates = rates[i].rates; + for (let i = 0; i < unitrates.length; i++) { + if (unitTo === unitrates[i].name) { + let rate = unitrates[i].rate; + let calc = amount * rate; + return roundAccurately(calc, 3); + } + } + } + } +} +let rates = [ + { + name: "feet", + rates: [ + { name: "inches", rate: 12 }, + { name: "meters", rate: 0.3048 }, + ], + }, + { name: "meters", rates: [{ name: "feet", rate: 1 / 0.3048 }] }, +]; +alert("Welcome to the converter."); +let unitFrom = prompt("Unit from:\nenter 'feet' or 'meters': "); +let amount = prompt("Enter the number of " + unitFrom + ": "); +let unitTo = prompt( + "What unit would you like to convert to?\nif you entered\n feet: enter 'inches' or 'meters'\n meters: enter 'feet'" +); +let output = convert(unitFrom, unitTo, amount, rates); +alert(amount + " " + unitFrom + " = " + output + " " + unitTo); From 9f37a8639454175052cb278bc7542536af6ec800 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Wed, 15 Dec 2021 18:04:02 -0700 Subject: [PATCH 02/27] resolve conflicts --- Code/Austen/03-js/lab-01/v1/index.html | 18 ---------- Code/Austen/03-js/lab-01/v1/unit-converter.js | 23 ------------ Code/Austen/03-js/lab-01/v2/index.html | 18 ---------- Code/Austen/03-js/lab-01/v2/unit-converter.js | 35 ------------------- 4 files changed, 94 deletions(-) delete mode 100644 Code/Austen/03-js/lab-01/v1/index.html delete mode 100644 Code/Austen/03-js/lab-01/v1/unit-converter.js delete mode 100644 Code/Austen/03-js/lab-01/v2/index.html delete mode 100644 Code/Austen/03-js/lab-01/v2/unit-converter.js diff --git a/Code/Austen/03-js/lab-01/v1/index.html b/Code/Austen/03-js/lab-01/v1/index.html deleted file mode 100644 index c2eefb1d..00000000 --- a/Code/Austen/03-js/lab-01/v1/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Unit Converter - - - - - - diff --git a/Code/Austen/03-js/lab-01/v1/unit-converter.js b/Code/Austen/03-js/lab-01/v1/unit-converter.js deleted file mode 100644 index 57397678..00000000 --- a/Code/Austen/03-js/lab-01/v1/unit-converter.js +++ /dev/null @@ -1,23 +0,0 @@ -function convert(unitFrom, unitTo, amount) { - if (unitFrom === "feet") { - if (unitTo === "inches") { - var output = amount * 12; - } - if (unitTo === "meters") { - var output = Math.round(amount * 0.3048); - } - } - if (unitFrom === "meters") { - if (unitTo === "feet") { - var output = Math.round(amount / 0.3048); - } - } - return output; -} - -alert("Welcome to the converter."); -let unitFrom = prompt("What unit would you like to enter?"); -let amount = prompt("Enter the number of " + unitFrom + ": "); -let unitTo = prompt("What unit would you like to convert to?"); -let output = convert(unitFrom, unitTo, amount); -alert(amount + " " + unitFrom + " = (approx.) " + output + " " + unitTo); diff --git a/Code/Austen/03-js/lab-01/v2/index.html b/Code/Austen/03-js/lab-01/v2/index.html deleted file mode 100644 index c2eefb1d..00000000 --- a/Code/Austen/03-js/lab-01/v2/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Unit Converter - - - - - - diff --git a/Code/Austen/03-js/lab-01/v2/unit-converter.js b/Code/Austen/03-js/lab-01/v2/unit-converter.js deleted file mode 100644 index 627e147e..00000000 --- a/Code/Austen/03-js/lab-01/v2/unit-converter.js +++ /dev/null @@ -1,35 +0,0 @@ -const roundAccurately = (number, decimalPlaces) => - Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); - -function convert(unitFrom, unitTo, amount, rates) { - for (let i = 0; i < rates.length; i++) { - if (unitFrom === rates[i].name) { - let unitrates = rates[i].rates; - for (let i = 0; i < unitrates.length; i++) { - if (unitTo === unitrates[i].name) { - let rate = unitrates[i].rate; - let calc = amount * rate; - return roundAccurately(calc, 3); - } - } - } - } -} -let rates = [ - { - name: "feet", - rates: [ - { name: "inches", rate: 12 }, - { name: "meters", rate: 0.3048 }, - ], - }, - { name: "meters", rates: [{ name: "feet", rate: 1 / 0.3048 }] }, -]; -alert("Welcome to the converter."); -let unitFrom = prompt("Unit from:\nenter 'feet' or 'meters': "); -let amount = prompt("Enter the number of " + unitFrom + ": "); -let unitTo = prompt( - "What unit would you like to convert to?\nif you entered\n feet: enter 'inches' or 'meters'\n meters: enter 'feet'" -); -let output = convert(unitFrom, unitTo, amount, rates); -alert(amount + " " + unitFrom + " = " + output + " " + unitTo); From 2f5a844285f8ff18df11be1aeb18b517a861c96a Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Wed, 15 Dec 2021 18:05:19 -0700 Subject: [PATCH 03/27] resolve conflicts --- Code/Austen/js-01/{ => v1}/index.html | 0 Code/Austen/js-01/{ => v1}/unit-converter.js | 0 Code/Austen/js-01/v2/index.html | 18 ++++++++++ Code/Austen/js-01/v2/unit-converter.js | 35 ++++++++++++++++++++ 4 files changed, 53 insertions(+) rename Code/Austen/js-01/{ => v1}/index.html (100%) rename Code/Austen/js-01/{ => v1}/unit-converter.js (100%) create mode 100644 Code/Austen/js-01/v2/index.html create mode 100644 Code/Austen/js-01/v2/unit-converter.js diff --git a/Code/Austen/js-01/index.html b/Code/Austen/js-01/v1/index.html similarity index 100% rename from Code/Austen/js-01/index.html rename to Code/Austen/js-01/v1/index.html diff --git a/Code/Austen/js-01/unit-converter.js b/Code/Austen/js-01/v1/unit-converter.js similarity index 100% rename from Code/Austen/js-01/unit-converter.js rename to Code/Austen/js-01/v1/unit-converter.js diff --git a/Code/Austen/js-01/v2/index.html b/Code/Austen/js-01/v2/index.html new file mode 100644 index 00000000..c2eefb1d --- /dev/null +++ b/Code/Austen/js-01/v2/index.html @@ -0,0 +1,18 @@ + + + + + + + Unit Converter + + + + + + diff --git a/Code/Austen/js-01/v2/unit-converter.js b/Code/Austen/js-01/v2/unit-converter.js new file mode 100644 index 00000000..627e147e --- /dev/null +++ b/Code/Austen/js-01/v2/unit-converter.js @@ -0,0 +1,35 @@ +const roundAccurately = (number, decimalPlaces) => + Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); + +function convert(unitFrom, unitTo, amount, rates) { + for (let i = 0; i < rates.length; i++) { + if (unitFrom === rates[i].name) { + let unitrates = rates[i].rates; + for (let i = 0; i < unitrates.length; i++) { + if (unitTo === unitrates[i].name) { + let rate = unitrates[i].rate; + let calc = amount * rate; + return roundAccurately(calc, 3); + } + } + } + } +} +let rates = [ + { + name: "feet", + rates: [ + { name: "inches", rate: 12 }, + { name: "meters", rate: 0.3048 }, + ], + }, + { name: "meters", rates: [{ name: "feet", rate: 1 / 0.3048 }] }, +]; +alert("Welcome to the converter."); +let unitFrom = prompt("Unit from:\nenter 'feet' or 'meters': "); +let amount = prompt("Enter the number of " + unitFrom + ": "); +let unitTo = prompt( + "What unit would you like to convert to?\nif you entered\n feet: enter 'inches' or 'meters'\n meters: enter 'feet'" +); +let output = convert(unitFrom, unitTo, amount, rates); +alert(amount + " " + unitFrom + " = " + output + " " + unitTo); From 2d36911528463729cae1c4bdb0e0b6e9c76ef63b Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 21 Dec 2021 17:45:14 -0700 Subject: [PATCH 04/27] ignore secretes.js --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bfcadcf2..f600242d 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,4 @@ GitHub.sublime-settings .history .vscode/settings.json +Code/Austen/js-05/scripts/secrets.js From 8d22fb849a5cf619b436124866fb8fbb474f063d Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 28 Dec 2021 16:51:45 -0700 Subject: [PATCH 05/27] completed v3 --- Code/Austen/js-01/v3/converter.js | 51 +++++++++++++++++++++++++++++++ Code/Austen/js-01/v3/index.html | 20 ++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 Code/Austen/js-01/v3/converter.js create mode 100644 Code/Austen/js-01/v3/index.html diff --git a/Code/Austen/js-01/v3/converter.js b/Code/Austen/js-01/v3/converter.js new file mode 100644 index 00000000..1a4f2e20 --- /dev/null +++ b/Code/Austen/js-01/v3/converter.js @@ -0,0 +1,51 @@ +function convert(amount, from, to){ + let rates = { + feet: 1, + meters: 0.3048, + miles: 1 / 5280, + kilometers: 0.0003048 + }; + const round = (number, decimalPlaces) => + Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); + amount = parseInt(amount) + let feet = amount / rates[from] + let conversion = feet * rates[to] + if (conversion > 99){ + conversion = round(conversion, 0)} + if (conversion > 10){ + conversion = round(conversion, 1)} + if (conversion > 1){ + conversion = round(conversion, 2)} + if (conversion < 1){ + conversion = round(conversion, 4)} + return `${conversion} ${to}` +} +function format(array){ + let string = '' + let l = array.length + for (let i = 0; i < l; i++){ + if (i === l-1){ + string += `and ${array[i]}.` + } + else { + string += `${array[i]}, ` + } + } + return string +} + + + +let options = ['feet', 'miles', 'meters', 'kilometers' ] +let string = format(options) +let from = prompt(`Welcome to the distance converter.\n available units: ${string}\nEnter the starting unit:`); + +let option = options.indexOf(from) +options.splice(option, 1) +string = format(options) +let amount = prompt(`How many ${from}: `); + +let to = prompt(`Now what unit would you like to convert ${from} to?\n available units: ${string}`); + +let conversion = convert(amount, from, to) +document.getElementById('target').innerHTML = conversion diff --git a/Code/Austen/js-01/v3/index.html b/Code/Austen/js-01/v3/index.html new file mode 100644 index 00000000..2910faea --- /dev/null +++ b/Code/Austen/js-01/v3/index.html @@ -0,0 +1,20 @@ + + + + + + + Unit Converter + + + +

+ + + From 4a79174570d2a4a5b6a19931daafbf0d4b521d7d Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 28 Dec 2021 16:57:27 -0700 Subject: [PATCH 06/27] update tracker --- Code/Austen/.github/readme.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Code/Austen/.github/readme.md b/Code/Austen/.github/readme.md index 43c16a17..bee44b79 100644 --- a/Code/Austen/.github/readme.md +++ b/Code/Austen/.github/readme.md @@ -45,11 +45,16 @@ This is my assignment folder.
  • Lab 01 - JS Redo (unit converter)
  • Lab 02 - JS Redo (password generator)
  • Lab 03 - JS Redo (rot cipher)
  • -
  • Lab 04 - To Do List
  • -
  • Lab 05 - Quote API
  • +
  • Lab 04 - To Do List
  • +
  • Lab 05 - Quote API
  • +
    + Django +
      +
    • Django 01 - To Do List
    • +
    ## links - Python "Mini Capstone" : [MysteonDex](https://github.com/austenc-id/MysteonDex) From 4958401e9b71085f7eb1e9979cddf470b1127385 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" <84463571+austenc-id@users.noreply.github.com> Date: Tue, 28 Dec 2021 16:59:17 -0700 Subject: [PATCH 07/27] add space around ## links --- Code/Austen/.github/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Code/Austen/.github/readme.md b/Code/Austen/.github/readme.md index bee44b79..32e7a8b9 100644 --- a/Code/Austen/.github/readme.md +++ b/Code/Austen/.github/readme.md @@ -55,6 +55,8 @@ This is my assignment folder.
    • Django 01 - To Do List
    • + ## links + - Python "Mini Capstone" : [MysteonDex](https://github.com/austenc-id/MysteonDex) From 969405bac1081a7f9b582c105b604c3aad15ea4c Mon Sep 17 00:00:00 2001 From: arek8675 Date: Tue, 28 Dec 2021 18:25:21 -0800 Subject: [PATCH 08/27] created new branch --- Code/Arek/Django/lab1/style.css | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Code/Arek/Django/lab1/style.css diff --git a/Code/Arek/Django/lab1/style.css b/Code/Arek/Django/lab1/style.css new file mode 100644 index 00000000..e69de29b From 2f56820516cbb51150a20c4026a8856a4d915eea Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Wed, 29 Dec 2021 18:33:42 -0700 Subject: [PATCH 09/27] app initialization --- Code/Austen/incomplete/flask-01/app.py | 0 .../incomplete/flask-01/static/signature.css | 43 +++++++++++++++++++ .../incomplete/flask-01/templates/base.html | 0 .../incomplete/flask-01/templates/index.html | 0 4 files changed, 43 insertions(+) create mode 100644 Code/Austen/incomplete/flask-01/app.py create mode 100644 Code/Austen/incomplete/flask-01/static/signature.css create mode 100644 Code/Austen/incomplete/flask-01/templates/base.html create mode 100644 Code/Austen/incomplete/flask-01/templates/index.html diff --git a/Code/Austen/incomplete/flask-01/app.py b/Code/Austen/incomplete/flask-01/app.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Austen/incomplete/flask-01/static/signature.css b/Code/Austen/incomplete/flask-01/static/signature.css new file mode 100644 index 00000000..36b4c715 --- /dev/null +++ b/Code/Austen/incomplete/flask-01/static/signature.css @@ -0,0 +1,43 @@ +/* minor css reset */ +body { + vertical-align: baseline; + border: 0 none; + outline: 0; + padding: 0; + margin: 0; +} +ul>li { + list-style: none; +} + +/* flexbox */ +.flex { + display: flex; +} +.flex-col { + display: flex; + flex-direction: column; +} +.flex-row { + display: flex; + flex-direction: row; +} +/* positions */ +.fixed { + position: fixed; +} +.absolute { + position: absolute; +} +.relative { + position: relative; +} +/* shapes */ +.circle { + border-radius: 50%; +} +/* colors */ +.black-white { + color: white; + background-color: black; +} diff --git a/Code/Austen/incomplete/flask-01/templates/base.html b/Code/Austen/incomplete/flask-01/templates/base.html new file mode 100644 index 00000000..e69de29b diff --git a/Code/Austen/incomplete/flask-01/templates/index.html b/Code/Austen/incomplete/flask-01/templates/index.html new file mode 100644 index 00000000..e69de29b From 5b308b1c4b5533ab630a476da3a0d3a0c8ff8c5a Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Wed, 29 Dec 2021 21:34:22 -0700 Subject: [PATCH 10/27] it sucks but it works --- Code/Austen/incomplete/flask-01/app.py | 34 +++++++++++ .../incomplete/flask-01/static/signature.css | 60 ++++++++++++------- .../incomplete/flask-01/templates/base.html | 13 ++++ .../incomplete/flask-01/templates/index.html | 35 +++++++++++ .../incomplete/flask-01/templates/order.html | 13 ++++ 5 files changed, 135 insertions(+), 20 deletions(-) create mode 100644 Code/Austen/incomplete/flask-01/templates/order.html diff --git a/Code/Austen/incomplete/flask-01/app.py b/Code/Austen/incomplete/flask-01/app.py index e69de29b..fb6f187f 100644 --- a/Code/Austen/incomplete/flask-01/app.py +++ b/Code/Austen/incomplete/flask-01/app.py @@ -0,0 +1,34 @@ +from flask import Flask, request +from flask import render_template as render + +app = Flask(__name__) + +@app.route('/', methods=['GET', 'POST']) +def index(): + groups = ['tortilla', 'meat', 'rice', 'beans', 'cheese', 'sour cream'] + group_options = { + 'tortilla': { + 'choices': ['flour', 'corn', 'wheat', 'spinach'] + }, + 'meat': { + 'choices': ['beef', 'chicken', 'pork', 'none'] + }, + 'rice': { + 'choices': ['white', 'brown'] + }, + 'beans': { + 'choices': ['black', 'pinto'] + }, + 'cheese': { + 'choices': ['si', 'no'] + }, + 'sour cream': { + 'choices': ['si', 'no'] + } + + } + if request.method == 'POST': + order = request.form + return render('order.html', order=order) + + return render('index.html', groups=groups, group_options=group_options) diff --git a/Code/Austen/incomplete/flask-01/static/signature.css b/Code/Austen/incomplete/flask-01/static/signature.css index 36b4c715..76ddff68 100644 --- a/Code/Austen/incomplete/flask-01/static/signature.css +++ b/Code/Austen/incomplete/flask-01/static/signature.css @@ -1,3 +1,9 @@ +:root { + --font: consolas; + --font-color: white; + --bg-color: black; +} + /* minor css reset */ body { vertical-align: baseline; @@ -10,34 +16,48 @@ ul>li { list-style: none; } -/* flexbox */ -.flex { - display: flex; +/* page styles */ +body { + font-family: var(--font); } -.flex-col { - display: flex; - flex-direction: column; +button { + background-color: darkgrey; } -.flex-row { +section { display: flex; - flex-direction: row; -} -/* positions */ -.fixed { - position: fixed; + justify-content: center; + margin: 1rem; } -.absolute { - position: absolute; +ul { + margin: 1rem; + padding: 2rem; } -.relative { - position: relative; +ul>li { + margin-right: 2rem; + font-size: 20px; } -/* shapes */ -.circle { - border-radius: 50%; +b { + font-size: 18px; } -/* colors */ .black-white { color: white; background-color: black; } +.center { + text-align: center; +} +.border { + border: 2px solid var(--font-color); +} +.container { + min-width: 50%; + text-align: center; + margin: 1rem; +} +.form-section { + margin-top: 1rem; +} +.option { + border-bottom: .5px dashed var(--font-color); + margin: 1rem; +} diff --git a/Code/Austen/incomplete/flask-01/templates/base.html b/Code/Austen/incomplete/flask-01/templates/base.html index e69de29b..19c09403 100644 --- a/Code/Austen/incomplete/flask-01/templates/base.html +++ b/Code/Austen/incomplete/flask-01/templates/base.html @@ -0,0 +1,13 @@ + + + + + + + Not a Taco + + + +
      {% block content %} {% endblock %}
      + + diff --git a/Code/Austen/incomplete/flask-01/templates/index.html b/Code/Austen/incomplete/flask-01/templates/index.html index e69de29b..5416e56a 100644 --- a/Code/Austen/incomplete/flask-01/templates/index.html +++ b/Code/Austen/incomplete/flask-01/templates/index.html @@ -0,0 +1,35 @@ +{% extends 'base.html' %} {% block content %} +
      +

      Not a Taco

      +

      the Burrito Shop

      +
      +
      +
      +
      + +
      + {% for group in groups %} +
      {{group.title()}} +

      + {% for choice in group_options[group]['choices'] %} + + {% endfor %} +
      + {% endfor %} +
      + +
      +
      + +
      +
      +
      + +{% endblock %} diff --git a/Code/Austen/incomplete/flask-01/templates/order.html b/Code/Austen/incomplete/flask-01/templates/order.html new file mode 100644 index 00000000..401847bc --- /dev/null +++ b/Code/Austen/incomplete/flask-01/templates/order.html @@ -0,0 +1,13 @@ +{% extends 'base.html' %} {% block content %} +

      Your Taco Order

      + +
      +
        + {% for key in order.keys() %} +
      • {{key.title()}}: {{order[key]}}
      • +
        + {% endfor %} +
      + +
      +{% endblock %} From 9514f56fbc14b9114dee42f149fe0c4642429a27 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Thu, 30 Dec 2021 17:31:34 -0700 Subject: [PATCH 11/27] move from working directory --- Code/Austen/{incomplete => }/flask-01/app.py | 0 Code/Austen/{incomplete => }/flask-01/static/signature.css | 0 Code/Austen/{incomplete => }/flask-01/templates/base.html | 0 Code/Austen/{incomplete => }/flask-01/templates/index.html | 0 Code/Austen/{incomplete => }/flask-01/templates/order.html | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename Code/Austen/{incomplete => }/flask-01/app.py (100%) rename Code/Austen/{incomplete => }/flask-01/static/signature.css (100%) rename Code/Austen/{incomplete => }/flask-01/templates/base.html (100%) rename Code/Austen/{incomplete => }/flask-01/templates/index.html (100%) rename Code/Austen/{incomplete => }/flask-01/templates/order.html (100%) diff --git a/Code/Austen/incomplete/flask-01/app.py b/Code/Austen/flask-01/app.py similarity index 100% rename from Code/Austen/incomplete/flask-01/app.py rename to Code/Austen/flask-01/app.py diff --git a/Code/Austen/incomplete/flask-01/static/signature.css b/Code/Austen/flask-01/static/signature.css similarity index 100% rename from Code/Austen/incomplete/flask-01/static/signature.css rename to Code/Austen/flask-01/static/signature.css diff --git a/Code/Austen/incomplete/flask-01/templates/base.html b/Code/Austen/flask-01/templates/base.html similarity index 100% rename from Code/Austen/incomplete/flask-01/templates/base.html rename to Code/Austen/flask-01/templates/base.html diff --git a/Code/Austen/incomplete/flask-01/templates/index.html b/Code/Austen/flask-01/templates/index.html similarity index 100% rename from Code/Austen/incomplete/flask-01/templates/index.html rename to Code/Austen/flask-01/templates/index.html diff --git a/Code/Austen/incomplete/flask-01/templates/order.html b/Code/Austen/flask-01/templates/order.html similarity index 100% rename from Code/Austen/incomplete/flask-01/templates/order.html rename to Code/Austen/flask-01/templates/order.html From f77204acfb2ec03871cfad400e80dcf2c815a2c8 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Thu, 30 Dec 2021 17:38:42 -0700 Subject: [PATCH 12/27] init flask app --- Code/Austen/working/flask-02/app.py | 1 + Code/Austen/working/flask-02/templates/base.html | 0 Code/Austen/working/flask-02/templates/index.html | 0 3 files changed, 1 insertion(+) create mode 100644 Code/Austen/working/flask-02/app.py create mode 100644 Code/Austen/working/flask-02/templates/base.html create mode 100644 Code/Austen/working/flask-02/templates/index.html diff --git a/Code/Austen/working/flask-02/app.py b/Code/Austen/working/flask-02/app.py new file mode 100644 index 00000000..5a03df9c --- /dev/null +++ b/Code/Austen/working/flask-02/app.py @@ -0,0 +1 @@ +from flask import Flask diff --git a/Code/Austen/working/flask-02/templates/base.html b/Code/Austen/working/flask-02/templates/base.html new file mode 100644 index 00000000..e69de29b diff --git a/Code/Austen/working/flask-02/templates/index.html b/Code/Austen/working/flask-02/templates/index.html new file mode 100644 index 00000000..e69de29b From 7189da6079b23ad0be50554a9eed398301e3287d Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Thu, 30 Dec 2021 18:13:45 -0700 Subject: [PATCH 13/27] commit to switch branch --- Code/Austen/working/flask-02/app.py | 12 +++++++++++- .../working/flask-02/static/signature.css | 4 ++++ .../working/flask-02/templates/base.html | 13 +++++++++++++ .../working/flask-02/templates/index.html | 19 +++++++++++++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 Code/Austen/working/flask-02/static/signature.css diff --git a/Code/Austen/working/flask-02/app.py b/Code/Austen/working/flask-02/app.py index 5a03df9c..d21405a4 100644 --- a/Code/Austen/working/flask-02/app.py +++ b/Code/Austen/working/flask-02/app.py @@ -1 +1,11 @@ -from flask import Flask +from flask import Flask, request +from flask import render_template as render +from string import ascii_lowercase, ascii_uppercase, punctuation, digits + + +app = Flask(__name__) + +@app.route('/') +def index(): + charsets = ['lower case', 'upper case', 'special characters', 'digits'] + return render('index.html', charsets=charsets) diff --git a/Code/Austen/working/flask-02/static/signature.css b/Code/Austen/working/flask-02/static/signature.css new file mode 100644 index 00000000..a87248cf --- /dev/null +++ b/Code/Austen/working/flask-02/static/signature.css @@ -0,0 +1,4 @@ +body { + color: white; + background-color: black; +} diff --git a/Code/Austen/working/flask-02/templates/base.html b/Code/Austen/working/flask-02/templates/base.html index e69de29b..5b0ec5be 100644 --- a/Code/Austen/working/flask-02/templates/base.html +++ b/Code/Austen/working/flask-02/templates/base.html @@ -0,0 +1,13 @@ + + + + + + + Password Generator + + + +
      {% block content %} {% endblock %}
      + + diff --git a/Code/Austen/working/flask-02/templates/index.html b/Code/Austen/working/flask-02/templates/index.html index e69de29b..e387eb8a 100644 --- a/Code/Austen/working/flask-02/templates/index.html +++ b/Code/Austen/working/flask-02/templates/index.html @@ -0,0 +1,19 @@ +{% extends 'base.html' %} {% block content %} + +
      +

      PassGen

      +

      your source for passwords you'll never remember

      +
      (or even where you saved them)
      +
      +
      +
      + {% for set in charsets %} + + {% endfor %} + +
      +
      + +{% endblock %} From 23a1306a64395107e72d33ca1593b3698573a8ed Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Thu, 30 Dec 2021 19:12:54 -0700 Subject: [PATCH 14/27] it sucks but it works --- Code/Austen/working/flask-02/app.py | 29 +++++++++++++++++-- .../working/flask-02/static/signature.css | 15 ++++++++++ .../working/flask-02/templates/index.html | 7 +++-- .../working/flask-02/templates/password.html | 6 ++++ 4 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 Code/Austen/working/flask-02/templates/password.html diff --git a/Code/Austen/working/flask-02/app.py b/Code/Austen/working/flask-02/app.py index d21405a4..7ccda8e5 100644 --- a/Code/Austen/working/flask-02/app.py +++ b/Code/Austen/working/flask-02/app.py @@ -1,11 +1,34 @@ from flask import Flask, request from flask import render_template as render from string import ascii_lowercase, ascii_uppercase, punctuation, digits +from random import randint app = Flask(__name__) -@app.route('/') +@app.route('/', methods=['GET', 'POST']) def index(): - charsets = ['lower case', 'upper case', 'special characters', 'digits'] - return render('index.html', charsets=charsets) + charsets = ['lower case', 'upper case', 'special characters', 'digits'] + strings = {'lower case': ascii_lowercase, 'upper case': ascii_uppercase, 'special characters': punctuation, 'digits': digits} + if request.method == 'POST': + charsets = request.form + charset = [] + password = [] + for key in charsets.keys(): + count = int(charsets[key]) + if count > 0: + set = strings[key] + for i in range(count): + index = randint(0, len(set) - 1) + char = set[index] + charset.append(char) + while len(charset) > 0: + index = randint(0, len(charset) - 1) + char = charset.pop(index) + password.append(char) + password = ''.join(password) + + + + return render('password.html', charset=charset, password=password) + return render('index.html', charsets=charsets) diff --git a/Code/Austen/working/flask-02/static/signature.css b/Code/Austen/working/flask-02/static/signature.css index a87248cf..af15e550 100644 --- a/Code/Austen/working/flask-02/static/signature.css +++ b/Code/Austen/working/flask-02/static/signature.css @@ -1,4 +1,19 @@ body { color: white; + font-family: consolas; background-color: black; + text-align: center; +} +form { + text-align: right; + margin: 5rem; + border: 1px solid white; + padding: 20px; +} + +input { + width: 50px; +} +a:any-link { + color: red; } diff --git a/Code/Austen/working/flask-02/templates/index.html b/Code/Austen/working/flask-02/templates/index.html index e387eb8a..08081dc8 100644 --- a/Code/Austen/working/flask-02/templates/index.html +++ b/Code/Austen/working/flask-02/templates/index.html @@ -6,13 +6,14 @@

      your source for passwords you'll never remember

      (or even where you saved them)
      -
      + {% for set in charsets %} +
      {% endfor %} - +
      diff --git a/Code/Austen/working/flask-02/templates/password.html b/Code/Austen/working/flask-02/templates/password.html new file mode 100644 index 00000000..e0950e44 --- /dev/null +++ b/Code/Austen/working/flask-02/templates/password.html @@ -0,0 +1,6 @@ +{% extends 'index.html' %} {% block content %} + +

      your password is:

      +

      {{password}}

      +start over +{% endblock %} From ca44f074665ae2d9fdd9e19dcc278fac8ddb2062 Mon Sep 17 00:00:00 2001 From: Lee Colburn Date: Thu, 30 Dec 2021 18:37:27 -0800 Subject: [PATCH 15/27] adding lab1 as complete --- Code/Lee/Django/lab01/lab01/__init__.py | 0 Code/Lee/Django/lab01/lab01/asgi.py | 16 + Code/Lee/Django/lab01/lab01/settings.py | 125 +++++++ Code/Lee/Django/lab01/lab01/urls.py | 22 ++ Code/Lee/Django/lab01/lab01/wsgi.py | 16 + Code/Lee/Django/lab01/manage.py | 22 ++ Code/Lee/Django/lab01/todo/__init__.py | 0 Code/Lee/Django/lab01/todo/admin.py | 7 + Code/Lee/Django/lab01/todo/apps.py | 6 + .../lab01/todo/migrations/0001_initial.py | 31 ++ .../0002_alter_priority_priority_and_more.py | 29 ++ .../0003_alter_todoitem_completed_date.py | 18 + .../Django/lab01/todo/migrations/__init__.py | 0 Code/Lee/Django/lab01/todo/models.py | 24 ++ Code/Lee/Django/lab01/todo/static/index.css | 1 + .../Django/lab01/todo/static/normalize.css | 349 ++++++++++++++++++ Code/Lee/Django/lab01/todo/static/theme.css | 7 + .../Lee/Django/lab01/todo/templates/base.html | 45 +++ .../Django/lab01/todo/templates/index.html | 73 ++++ Code/Lee/Django/lab01/todo/tests.py | 3 + Code/Lee/Django/lab01/todo/urls.py | 11 + Code/Lee/Django/lab01/todo/views.py | 68 ++++ Code/Lee/Javascript/lab01/index.html | 8 +- Code/Lee/Javascript/lab05/index.js | 4 - Code/Lee/Javascript/lab_04/index.html | 68 ++++ Code/Lee/Javascript/lab_04/todo.js | 127 +++++++ 26 files changed, 1072 insertions(+), 8 deletions(-) create mode 100644 Code/Lee/Django/lab01/lab01/__init__.py create mode 100644 Code/Lee/Django/lab01/lab01/asgi.py create mode 100644 Code/Lee/Django/lab01/lab01/settings.py create mode 100644 Code/Lee/Django/lab01/lab01/urls.py create mode 100644 Code/Lee/Django/lab01/lab01/wsgi.py create mode 100755 Code/Lee/Django/lab01/manage.py create mode 100644 Code/Lee/Django/lab01/todo/__init__.py create mode 100644 Code/Lee/Django/lab01/todo/admin.py create mode 100644 Code/Lee/Django/lab01/todo/apps.py create mode 100644 Code/Lee/Django/lab01/todo/migrations/0001_initial.py create mode 100644 Code/Lee/Django/lab01/todo/migrations/0002_alter_priority_priority_and_more.py create mode 100644 Code/Lee/Django/lab01/todo/migrations/0003_alter_todoitem_completed_date.py create mode 100644 Code/Lee/Django/lab01/todo/migrations/__init__.py create mode 100644 Code/Lee/Django/lab01/todo/models.py create mode 100644 Code/Lee/Django/lab01/todo/static/index.css create mode 100644 Code/Lee/Django/lab01/todo/static/normalize.css create mode 100644 Code/Lee/Django/lab01/todo/static/theme.css create mode 100644 Code/Lee/Django/lab01/todo/templates/base.html create mode 100644 Code/Lee/Django/lab01/todo/templates/index.html create mode 100644 Code/Lee/Django/lab01/todo/tests.py create mode 100644 Code/Lee/Django/lab01/todo/urls.py create mode 100644 Code/Lee/Django/lab01/todo/views.py create mode 100644 Code/Lee/Javascript/lab_04/index.html create mode 100644 Code/Lee/Javascript/lab_04/todo.js diff --git a/Code/Lee/Django/lab01/lab01/__init__.py b/Code/Lee/Django/lab01/lab01/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Lee/Django/lab01/lab01/asgi.py b/Code/Lee/Django/lab01/lab01/asgi.py new file mode 100644 index 00000000..1b5d1d6f --- /dev/null +++ b/Code/Lee/Django/lab01/lab01/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for lab01 project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lab01.settings') + +application = get_asgi_application() diff --git a/Code/Lee/Django/lab01/lab01/settings.py b/Code/Lee/Django/lab01/lab01/settings.py new file mode 100644 index 00000000..38af821b --- /dev/null +++ b/Code/Lee/Django/lab01/lab01/settings.py @@ -0,0 +1,125 @@ +""" +Django settings for lab01 project. + +Generated by 'django-admin startproject' using Django 4.0. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-=5evlnyybe0v*-4e@wqu)(we#bu21%2p^8&4gf%!%$la+ghu+c' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + 'todo', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'lab01.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'lab01.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Code/Lee/Django/lab01/lab01/urls.py b/Code/Lee/Django/lab01/lab01/urls.py new file mode 100644 index 00000000..375449bb --- /dev/null +++ b/Code/Lee/Django/lab01/lab01/urls.py @@ -0,0 +1,22 @@ +"""lab01 URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path('admin/', admin.site.urls), + path('', include('todo.urls')) +] diff --git a/Code/Lee/Django/lab01/lab01/wsgi.py b/Code/Lee/Django/lab01/lab01/wsgi.py new file mode 100644 index 00000000..cbbde9e6 --- /dev/null +++ b/Code/Lee/Django/lab01/lab01/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for lab01 project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lab01.settings') + +application = get_wsgi_application() diff --git a/Code/Lee/Django/lab01/manage.py b/Code/Lee/Django/lab01/manage.py new file mode 100755 index 00000000..3c36ff59 --- /dev/null +++ b/Code/Lee/Django/lab01/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'lab01.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/Code/Lee/Django/lab01/todo/__init__.py b/Code/Lee/Django/lab01/todo/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Lee/Django/lab01/todo/admin.py b/Code/Lee/Django/lab01/todo/admin.py new file mode 100644 index 00000000..990c709e --- /dev/null +++ b/Code/Lee/Django/lab01/todo/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin + +# Register your models here. +from .models import Priority, TodoItem + +admin.site.register(Priority) +admin.site.register(TodoItem) \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/apps.py b/Code/Lee/Django/lab01/todo/apps.py new file mode 100644 index 00000000..3602af16 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class TodoConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'todo' diff --git a/Code/Lee/Django/lab01/todo/migrations/0001_initial.py b/Code/Lee/Django/lab01/todo/migrations/0001_initial.py new file mode 100644 index 00000000..ac6a846b --- /dev/null +++ b/Code/Lee/Django/lab01/todo/migrations/0001_initial.py @@ -0,0 +1,31 @@ +# Generated by Django 4.0 on 2021-12-29 02:17 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Priority', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('priority', models.CharField(choices=[('H', 'High'), ('M', 'Meidum'), ('L', 'Low')], max_length=1)), + ], + ), + migrations.CreateModel( + name='TodoItem', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('todo_text', models.CharField(max_length=200)), + ('completed_date', models.DateTimeField(auto_now_add=True)), + ('todo_priority', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='priorities', to='todo.priority')), + ], + ), + ] diff --git a/Code/Lee/Django/lab01/todo/migrations/0002_alter_priority_priority_and_more.py b/Code/Lee/Django/lab01/todo/migrations/0002_alter_priority_priority_and_more.py new file mode 100644 index 00000000..20df5bae --- /dev/null +++ b/Code/Lee/Django/lab01/todo/migrations/0002_alter_priority_priority_and_more.py @@ -0,0 +1,29 @@ +# Generated by Django 4.0 on 2021-12-30 03:18 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('todo', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='priority', + name='priority', + field=models.CharField(choices=[('H', 'High'), ('M', 'Medium'), ('L', 'Low')], max_length=1), + ), + migrations.AlterField( + model_name='todoitem', + name='completed_date', + field=models.DateTimeField(null=True), + ), + migrations.AlterField( + model_name='todoitem', + name='todo_priority', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='todo_priority', to='todo.priority'), + ), + ] diff --git a/Code/Lee/Django/lab01/todo/migrations/0003_alter_todoitem_completed_date.py b/Code/Lee/Django/lab01/todo/migrations/0003_alter_todoitem_completed_date.py new file mode 100644 index 00000000..d77b3098 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/migrations/0003_alter_todoitem_completed_date.py @@ -0,0 +1,18 @@ +# Generated by Django 4.0 on 2021-12-30 04:26 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('todo', '0002_alter_priority_priority_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='todoitem', + name='completed_date', + field=models.DateTimeField(blank=True, null=True), + ), + ] diff --git a/Code/Lee/Django/lab01/todo/migrations/__init__.py b/Code/Lee/Django/lab01/todo/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Lee/Django/lab01/todo/models.py b/Code/Lee/Django/lab01/todo/models.py new file mode 100644 index 00000000..6597cc81 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/models.py @@ -0,0 +1,24 @@ +from django.db import models +from django.db.models.deletion import CASCADE +from django.db.models.fields.related import ForeignKey + + +# Create your models here. +TODO_PRIORITY_LIST = ( + ('H', 'High'), + ('M', 'Medium'), + ('L', 'Low'), + ) +class Priority(models.Model): + priority = models.CharField(max_length=1, choices=TODO_PRIORITY_LIST) + + def __str__(self): + return self.priority + +class TodoItem(models.Model): + todo_text = models.CharField(max_length=200) + todo_priority = ForeignKey(Priority, on_delete=CASCADE, related_name='todo_priority') + completed_date = models.DateTimeField(null=True, blank=True) + + def __str__(self): + return self.todo_text \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/static/index.css b/Code/Lee/Django/lab01/todo/static/index.css new file mode 100644 index 00000000..6e361e16 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/static/index.css @@ -0,0 +1 @@ +/*I don't want to have to use this. Holy spirit, activate. */ \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/static/normalize.css b/Code/Lee/Django/lab01/todo/static/normalize.css new file mode 100644 index 00000000..c45a85f8 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/static/normalize.css @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + margin: 0.67em 0; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type="button"], + [type="reset"], + [type="submit"] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/static/theme.css b/Code/Lee/Django/lab01/todo/static/theme.css new file mode 100644 index 00000000..e65d8f7e --- /dev/null +++ b/Code/Lee/Django/lab01/todo/static/theme.css @@ -0,0 +1,7 @@ +/* Created with Themestr.app */ +/*! `Poypull` Bootstrap 5 theme */@import url(https://use.fontawesome.com/releases/v5.0.10/css/all.css);@import url(https://fonts.googleapis.com/css?family=Muli:200,300,400,700);/*! + * Bootstrap v5.0.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #7F0FFF;--bs-secondary: #bed6d5;--bs-success: #420084;--bs-info: #7ebcfa;--bs-warning: #f93;--bs-danger: #f2460d;--bs-light: #eef0f2;--bs-dark: #000633;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0))}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:.5rem;font-family:Muli;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}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,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#7F0FFF;text-decoration:underline}a:hover{color:#660ccc}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}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}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.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:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.table{--bs-table-bg: rgba(0,0,0,0);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #e5cfff;--bs-table-striped-bg: #dac5f2;--bs-table-striped-color: #000;--bs-table-active-bg: #cebae6;--bs-table-active-color: #000;--bs-table-hover-bg: #d4bfec;--bs-table-hover-color: #000;color:#000;border-color:#cebae6}.table-secondary{--bs-table-bg: #f2f7f7;--bs-table-striped-bg: #e6ebeb;--bs-table-striped-color: #000;--bs-table-active-bg: #dadede;--bs-table-active-color: #000;--bs-table-hover-bg: #e0e4e4;--bs-table-hover-color: #000;color:#000;border-color:#dadede}.table-success{--bs-table-bg: #d9cce6;--bs-table-striped-bg: #cec2db;--bs-table-striped-color: #000;--bs-table-active-bg: #c3b8cf;--bs-table-active-color: #000;--bs-table-hover-bg: #c9bdd5;--bs-table-hover-color: #000;color:#000;border-color:#c3b8cf}.table-info{--bs-table-bg: #e5f2fe;--bs-table-striped-bg: #dae6f1;--bs-table-striped-color: #000;--bs-table-active-bg: #cedae5;--bs-table-active-color: #000;--bs-table-hover-bg: #d4e0eb;--bs-table-hover-color: #000;color:#000;border-color:#cedae5}.table-warning{--bs-table-bg: #ffebd6;--bs-table-striped-bg: #f2dfcb;--bs-table-striped-color: #000;--bs-table-active-bg: #e6d4c1;--bs-table-active-color: #000;--bs-table-hover-bg: #ecd9c6;--bs-table-hover-color: #000;color:#000;border-color:#e6d4c1}.table-danger{--bs-table-bg: #fcdacf;--bs-table-striped-bg: #efcfc5;--bs-table-striped-color: #000;--bs-table-active-bg: #e3c4ba;--bs-table-active-color: #000;--bs-table-hover-bg: #e9cabf;--bs-table-hover-color: #000;color:#000;border-color:#e3c4ba}.table-light{--bs-table-bg: #eef0f2;--bs-table-striped-bg: #e2e4e6;--bs-table-striped-color: #000;--bs-table-active-bg: #d6d8da;--bs-table-active-color: #000;--bs-table-hover-bg: #dcdee0;--bs-table-hover-color: #000;color:#000;border-color:#d6d8da}.table-dark{--bs-table-bg: #000633;--bs-table-striped-bg: #0d123d;--bs-table-striped-color: #fff;--bs-table-active-bg: #1a1f47;--bs-table-active-color: #fff;--bs-table-hover-bg: #131942;--bs-table-hover-color: #fff;color:#fff;border-color:#1a1f47}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.25rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#bf87ff;outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;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{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.form-select:focus{border-color:#bf87ff;outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);appearance:none;color-adjust:exact}.form-check-input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#bf87ff;outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25)}.form-check-input:checked{background-color:#7F0FFF;border-color:#7F0FFF}.form-check-input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate{background-color:#7F0FFF;border-color:#7F0FFF;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled] ~ .form-check-label,.form-check-input:disabled ~ .form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;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='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{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='%23bf87ff'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;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")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(127,15,255,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(127,15,255,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#7F0FFF;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#d9b7ff}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#7F0FFF;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#d9b7ff}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus ~ label,.form-floating>.form-control:not(:placeholder-shown) ~ label,.form-floating>.form-select ~ label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill ~ label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#420084}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(66,0,132,0.9);border-radius:.25rem}.was-validated :valid ~ .valid-feedback,.was-validated :valid ~ .valid-tooltip,.is-valid ~ .valid-feedback,.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#420084;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23420084' 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:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#420084;box-shadow:0 0 0 .25rem rgba(66,0,132,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#420084}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23420084' 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-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#420084;box-shadow:0 0 0 .25rem rgba(66,0,132,0.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#420084}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#420084}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(66,0,132,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#420084}.form-check-inline .form-check-input ~ .valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:1}.was-validated .input-group .form-control:valid:focus,.input-group .form-control.is-valid:focus,.was-validated .input-group .form-select:valid:focus,.input-group .form-select.is-valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#f2460d}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#000;background-color:rgba(242,70,13,0.9);border-radius:.25rem}.was-validated :invalid ~ .invalid-feedback,.was-validated :invalid ~ .invalid-tooltip,.is-invalid ~ .invalid-feedback,.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#f2460d;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f2460d'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f2460d' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#f2460d;box-shadow:0 0 0 .25rem rgba(242,70,13,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#f2460d}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f2460d'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f2460d' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#f2460d;box-shadow:0 0 0 .25rem rgba(242,70,13,0.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#f2460d}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#f2460d}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(242,70,13,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#f2460d}.form-check-inline .form-check-input ~ .invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:2}.was-validated .input-group .form-control:invalid:focus,.input-group .form-control.is-invalid:focus,.was-validated .input-group .form-select:invalid:focus,.input-group .form-select.is-invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#7F0FFF;border-color:#7F0FFF}.btn-primary:hover{color:#fff;background-color:#6c0dd9;border-color:#660ccc}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#6c0dd9;border-color:#660ccc;box-shadow:0 0 0 .25rem rgba(146,51,255,0.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#660ccc;border-color:#5f0bbf}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(146,51,255,0.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#7F0FFF;border-color:#7F0FFF}.btn-secondary{color:#000;background-color:#bed6d5;border-color:#bed6d5}.btn-secondary:hover{color:#000;background-color:#c8dcdb;border-color:#c5dad9}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#000;background-color:#c8dcdb;border-color:#c5dad9;box-shadow:0 0 0 .25rem rgba(162,182,181,0.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#000;background-color:#cbdedd;border-color:#c5dad9}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(162,182,181,0.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#000;background-color:#bed6d5;border-color:#bed6d5}.btn-success{color:#fff;background-color:#420084;border-color:#420084}.btn-success:hover{color:#fff;background-color:#380070;border-color:#35006a}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#380070;border-color:#35006a;box-shadow:0 0 0 .25rem rgba(94,38,150,0.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#35006a;border-color:#320063}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(94,38,150,0.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#420084;border-color:#420084}.btn-info{color:#000;background-color:#7ebcfa;border-color:#7ebcfa}.btn-info:hover{color:#000;background-color:#91c6fb;border-color:#8bc3fb}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#91c6fb;border-color:#8bc3fb;box-shadow:0 0 0 .25rem rgba(107,160,213,0.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#98c9fb;border-color:#8bc3fb}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(107,160,213,0.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#7ebcfa;border-color:#7ebcfa}.btn-warning{color:#000;background-color:#f93;border-color:#f93}.btn-warning:hover{color:#000;background-color:#ffa852;border-color:#ffa347}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffa852;border-color:#ffa347;box-shadow:0 0 0 .25rem rgba(217,130,43,0.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffad5c;border-color:#ffa347}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,130,43,0.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#f93;border-color:#f93}.btn-danger{color:#000;background-color:#f2460d;border-color:#f2460d}.btn-danger:hover{color:#000;background-color:#f46231;border-color:#f35925}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#000;background-color:#f46231;border-color:#f35925;box-shadow:0 0 0 .25rem rgba(206,60,11,0.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#000;background-color:#f56b3d;border-color:#f35925}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(206,60,11,0.5)}.btn-danger:disabled,.btn-danger.disabled{color:#000;background-color:#f2460d;border-color:#f2460d}.btn-light{color:#000;background-color:#eef0f2;border-color:#eef0f2}.btn-light:hover{color:#000;background-color:#f1f2f4;border-color:#f0f2f3}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f1f2f4;border-color:#f0f2f3;box-shadow:0 0 0 .25rem rgba(202,204,206,0.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f1f3f5;border-color:#f0f2f3}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(202,204,206,0.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#eef0f2;border-color:#eef0f2}.btn-dark{color:#fff;background-color:#000633;border-color:#000633}.btn-dark:hover{color:#fff;background-color:#00052b;border-color:#000529}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#00052b;border-color:#000529;box-shadow:0 0 0 .25rem rgba(38,43,82,0.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000529;border-color:#000526}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(38,43,82,0.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#000633;border-color:#000633}.btn-outline-primary{color:#7F0FFF;border-color:#7F0FFF}.btn-outline-primary:hover{color:#fff;background-color:#7F0FFF;border-color:#7F0FFF}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(127,15,255,0.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#7F0FFF;border-color:#7F0FFF}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(127,15,255,0.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#7F0FFF;background-color:transparent}.btn-outline-secondary{color:#bed6d5;border-color:#bed6d5}.btn-outline-secondary:hover{color:#000;background-color:#bed6d5;border-color:#bed6d5}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(190,214,213,0.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#000;background-color:#bed6d5;border-color:#bed6d5}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(190,214,213,0.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#bed6d5;background-color:transparent}.btn-outline-success{color:#420084;border-color:#420084}.btn-outline-success:hover{color:#fff;background-color:#420084;border-color:#420084}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(66,0,132,0.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#420084;border-color:#420084}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(66,0,132,0.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#420084;background-color:transparent}.btn-outline-info{color:#7ebcfa;border-color:#7ebcfa}.btn-outline-info:hover{color:#000;background-color:#7ebcfa;border-color:#7ebcfa}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(126,188,250,0.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#7ebcfa;border-color:#7ebcfa}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(126,188,250,0.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#7ebcfa;background-color:transparent}.btn-outline-warning{color:#f93;border-color:#f93}.btn-outline-warning:hover{color:#000;background-color:#f93;border-color:#f93}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,153,51,0.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#f93;border-color:#f93}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(255,153,51,0.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#f93;background-color:transparent}.btn-outline-danger{color:#f2460d;border-color:#f2460d}.btn-outline-danger:hover{color:#000;background-color:#f2460d;border-color:#f2460d}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(242,70,13,0.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#000;background-color:#f2460d;border-color:#f2460d}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(242,70,13,0.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#f2460d;background-color:transparent}.btn-outline-light{color:#eef0f2;border-color:#eef0f2}.btn-outline-light:hover{color:#000;background-color:#eef0f2;border-color:#eef0f2}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(238,240,242,0.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#eef0f2;border-color:#eef0f2}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(238,240,242,0.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#eef0f2;background-color:transparent}.btn-outline-dark{color:#000633;border-color:#000633}.btn-outline-dark:hover{color:#fff;background-color:#000633;border-color:#000633}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(0,6,51,0.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#000633;border-color:#000633}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(0,6,51,0.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#000633;background-color:transparent}.btn-link{font-weight:400;color:#7F0FFF;text-decoration:underline}.btn-link:hover{color:#660ccc}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin: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:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,0.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#7F0FFF}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,0.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,0.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#7F0FFF}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,0.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn ~ .btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#7F0FFF;text-decoration:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:#660ccc}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.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{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#7F0FFF}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;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.55)}.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 .nav-link.active{color:rgba(0,0,0,0.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.55);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,0.55)}.navbar-light .navbar-text a,.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:#f3f3f3}.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 .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#f3f3f3;border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f3f3f3' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#f3f3f3}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;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:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;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(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;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(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;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,border-radius 0.15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#720ee6;background-color:#f2e7ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23720ee6'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#bf87ff;outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#7F0FFF;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#660ccc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#660ccc;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#7F0FFF;border-color:#7F0FFF}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#4c0999;background-color:#e5cfff;border-color:#d9b7ff}.alert-primary .alert-link{color:#3d077a}.alert-secondary{color:#4c5655;background-color:#f2f7f7;border-color:#ecf3f2}.alert-secondary .alert-link{color:#3d4544}.alert-success{color:#28004f;background-color:#d9cce6;border-color:#c6b3da}.alert-success .alert-link{color:#20003f}.alert-info{color:#324b64;background-color:#e5f2fe;border-color:#d8ebfe}.alert-info .alert-link{color:#283c50}.alert-warning{color:#995c1f;background-color:#ffebd6;border-color:#ffe0c2}.alert-warning .alert-link{color:#7a4a19}.alert-danger{color:#912a08;background-color:#fcdacf;border-color:#fbc8b6}.alert-danger .alert-link{color:#742206}.alert-light{color:#5f6061;background-color:#fcfcfc;border-color:#fafbfb}.alert-light .alert-link{color:#4c4d4e}.alert-dark{color:#00041f;background-color:#cccdd6;border-color:#b3b4c2}.alert-dark .alert-link{color:#000319}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#7F0FFF;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.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:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.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:#7F0FFF;border-color:#7F0FFF}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#4c0999;background-color:#e5cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#4c0999;background-color:#cebae6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#4c0999;border-color:#4c0999}.list-group-item-secondary{color:#4c5655;background-color:#f2f7f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#4c5655;background-color:#dadede}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#4c5655;border-color:#4c5655}.list-group-item-success{color:#28004f;background-color:#d9cce6}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#28004f;background-color:#c3b8cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#28004f;border-color:#28004f}.list-group-item-info{color:#324b64;background-color:#e5f2fe}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#324b64;background-color:#cedae5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#324b64;border-color:#324b64}.list-group-item-warning{color:#995c1f;background-color:#ffebd6}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#995c1f;background-color:#e6d4c1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#995c1f;border-color:#995c1f}.list-group-item-danger{color:#912a08;background-color:#fcdacf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#912a08;background-color:#e3c4ba}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#912a08;border-color:#912a08}.list-group-item-light{color:#5f6061;background-color:#fcfcfc}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#5f6061;background-color:#e3e3e3}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#5f6061;border-color:#5f6061}.list-group-item-dark{color:#00041f;background-color:#cccdd6}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#00041f;background-color:#b8b9c1}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#00041f;border-color:#00041f}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(127,15,255,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15);border-radius:.25rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .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);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;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:.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:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 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}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^="right"]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^="left"]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1050;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,0.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,0.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,0.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,0.2);transform:translateY(100%)}.offcanvas.show{transform:none}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#7F0FFF}.link-primary:hover,.link-primary:focus{color:#660ccc}.link-secondary{color:#bed6d5}.link-secondary:hover,.link-secondary:focus{color:#cbdedd}.link-success{color:#420084}.link-success:hover,.link-success:focus{color:#35006a}.link-info{color:#7ebcfa}.link-info:hover,.link-info:focus{color:#98c9fb}.link-warning{color:#f93}.link-warning:hover,.link-warning:focus{color:#ffad5c}.link-danger{color:#f2460d}.link-danger:hover,.link-danger:focus{color:#f56b3d}.link-light{color:#eef0f2}.link-light:hover,.link-light:focus{color:#f1f3f5}.link-dark{color:#000633}.link-dark:hover,.link-dark:focus{color:#000529}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.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}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #dee2e6 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #dee2e6 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #dee2e6 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #dee2e6 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #dee2e6 !important}.border-start-0{border-left:0 !important}.border-primary{border-color:#7F0FFF !important}.border-secondary{border-color:#bed6d5 !important}.border-success{border-color:#420084 !important}.border-info{border-color:#7ebcfa !important}.border-warning{border-color:#f93 !important}.border-danger{border-color:#f2460d !important}.border-light{border-color:#eef0f2 !important}.border-dark{border-color:#000633 !important}.border-white{border-color:#fff !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !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}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !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}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:3rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:3rem !important;margin-left:3rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:3rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:3rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:3rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:3rem !important}.ms-auto{margin-left:auto !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:3rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:3rem !important;padding-left:3rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:3rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:3rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:3rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{color:#7F0FFF !important}.text-secondary{color:#bed6d5 !important}.text-success{color:#420084 !important}.text-info{color:#7ebcfa !important}.text-warning{color:#f93 !important}.text-danger{color:#f2460d !important}.text-light{color:#eef0f2 !important}.text-dark{color:#000633 !important}.text-white{color:#fff !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-reset{color:inherit !important}.bg-primary{background-color:#7F0FFF !important}.bg-secondary{background-color:#bed6d5 !important}.bg-success{background-color:#420084 !important}.bg-info{background-color:#7ebcfa !important}.bg-warning{background-color:#f93 !important}.bg-danger{background-color:#f2460d !important}.bg-light{background-color:#eef0f2 !important}.bg-dark{background-color:#000633 !important}.bg-body{background-color:#fff !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.25rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2rem !important}.rounded-2{border-radius:.25rem !important}.rounded-3{border-radius:.3rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.25rem !important;border-top-right-radius:.25rem !important}.rounded-end{border-top-right-radius:.25rem !important;border-bottom-right-radius:.25rem !important}.rounded-bottom{border-bottom-right-radius:.25rem !important;border-bottom-left-radius:.25rem !important}.rounded-start{border-bottom-left-radius:.25rem !important;border-top-left-radius:.25rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:3rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:3rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:3rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:3rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:3rem !important}.ms-sm-auto{margin-left:auto !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:3rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:3rem !important;padding-left:3rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:3rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:3rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:3rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:3rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:3rem !important;margin-left:3rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:3rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:3rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:3rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:3rem !important}.ms-md-auto{margin-left:auto !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:3rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:3rem !important;padding-left:3rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:3rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:3rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:3rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:3rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:3rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:3rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:3rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:3rem !important}.ms-lg-auto{margin-left:auto !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:3rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:3rem !important;padding-left:3rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:3rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:3rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:3rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:3rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:3rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:3rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:3rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:3rem !important}.ms-xl-auto{margin-left:auto !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:3rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:3rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:3rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:3rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:3rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:3rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:3rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:3rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:3rem !important}.ms-xxl-auto{margin-left:auto !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:3rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:3rem !important;padding-left:3rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:3rem !important;padding-bottom:3rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:3rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:3rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:3rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}} diff --git a/Code/Lee/Django/lab01/todo/templates/base.html b/Code/Lee/Django/lab01/todo/templates/base.html new file mode 100644 index 00000000..1d4600dd --- /dev/null +++ b/Code/Lee/Django/lab01/todo/templates/base.html @@ -0,0 +1,45 @@ +{% load static %} + + + + + + + + + + + + + + + + + + + + + + + + To-Do List + + + +
      + + {% block content %} + {% endblock %} + +
      + + + +
      +
      +

      Copyright © 2021 Lee Colburn
      (not really) +

      + +
      +
      + \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/templates/index.html b/Code/Lee/Django/lab01/todo/templates/index.html new file mode 100644 index 00000000..cce53985 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/templates/index.html @@ -0,0 +1,73 @@ +{% extends 'base.html' %} + +{% block content %} +

      To-Do List

      + + +
      + + {% csrf_token %} +
      + +
      + +
      +
      +
      + + +
      +
      + + +
      +
      + + +
      +
      + + + +
      +

      Open

      +
        + {% for todo in all_todo_items.all %} + {% if not todo.completed_date %} +
      • +

        {{ todo.todo_priority }} priority: {{ todo.todo_text }} +

        +
      • + {% endif %} + + + {% empty %} +
      • +

        -

        +
      • + {% endfor %} +
      +
      + + +
      +

      Completed

      +
        + {% for todo in all_todo_items.all %} + {% if todo.completed_date %} +
      • +

        {{ todo.todo_text }} +

        +
      • + {% endif %} + + + {% empty %} +
      • +

        -

        +
      • + {% endfor %} +
      +
      + +{% endblock %} \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/tests.py b/Code/Lee/Django/lab01/todo/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/Code/Lee/Django/lab01/todo/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Code/Lee/Django/lab01/todo/urls.py b/Code/Lee/Django/lab01/todo/urls.py new file mode 100644 index 00000000..988ee11b --- /dev/null +++ b/Code/Lee/Django/lab01/todo/urls.py @@ -0,0 +1,11 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('', views.index, name='index'), + path('create/', views.save_todo_item, name='create'), + path('complete/', views.complete_todo_item, name='complete'), + path('delete/', views.delete_todo_item, name='delete') +] + +app_name = "todo" \ No newline at end of file diff --git a/Code/Lee/Django/lab01/todo/views.py b/Code/Lee/Django/lab01/todo/views.py new file mode 100644 index 00000000..1d98bcde --- /dev/null +++ b/Code/Lee/Django/lab01/todo/views.py @@ -0,0 +1,68 @@ +from django.shortcuts import get_object_or_404, render +from django.http import HttpResponse +from django.db.models.functions import Now + +#from Class_Raven.Code.Lee.Django.lab01 import todo + +from .models import Priority, TodoItem + +# Create your views here. + +def index(request): + all_todo_items = TodoItem.objects.all().order_by('-id') + + context = { + 'all_todo_items': all_todo_items + } + return render(request, 'index.html', context) + +def save_todo_item(request): + form = request.POST + + todo_text = form['todo_text'] + todo_priority = form['todo_priority'] + + todo_priority, create = Priority.objects.get_or_create(priority=todo_priority) + TodoItem.objects.create(todo_text=todo_text, todo_priority=todo_priority) + + all_todo_items = TodoItem.objects.all().order_by('-id') + + context = { + 'all_todo_items': all_todo_items + } + + return render(request, 'index.html', context) + +def complete_todo_item(request, todo_id): + + # Get todo_item + todo_item = get_object_or_404(TodoItem, id=todo_id) + + # Set completed_date field to time Now + todo_item.completed_date = Now() + + # Save the item + todo_item.save() + + # Re-render page with below + all_todo_items = TodoItem.objects.all().order_by('-id') + context = { + 'all_todo_items': all_todo_items + } + return render(request, 'index.html', context) + +def delete_todo_item(request, todo_id): + + # Get todo_item + todo_item = get_object_or_404(TodoItem, id=todo_id) + + # Delete todo_item from db + todo_item.delete() + + + # Re-render page with below + all_todo_items = TodoItem.objects.all().order_by('-id') + context = { + 'all_todo_items': all_todo_items + } + return render(request, 'index.html', context) \ No newline at end of file diff --git a/Code/Lee/Javascript/lab01/index.html b/Code/Lee/Javascript/lab01/index.html index 1f73dce2..f5b69397 100644 --- a/Code/Lee/Javascript/lab01/index.html +++ b/Code/Lee/Javascript/lab01/index.html @@ -8,10 +8,10 @@ Javascript Intro Labs -

      Please cycle through the scripts to evaluate my labs - Cheers!

      - - - --> +

      Please cycle throught the scripts to evaluate my labs - Cheers!

      + + + \ No newline at end of file diff --git a/Code/Lee/Javascript/lab05/index.js b/Code/Lee/Javascript/lab05/index.js index a2e464be..282cf6bd 100644 --- a/Code/Lee/Javascript/lab05/index.js +++ b/Code/Lee/Javascript/lab05/index.js @@ -11,13 +11,9 @@ let pageNumber, newQuote; pageNumber = 1; - -// notice that the base url changes from /api/qotd to /api/quotes let url = `https://favqs.com/api/quotes?page=${pageNumber}&filter=${queryString}` const headers = { - // ... other headers - Authorization: `Token token=${FAVQS_API_KEY}` } diff --git a/Code/Lee/Javascript/lab_04/index.html b/Code/Lee/Javascript/lab_04/index.html new file mode 100644 index 00000000..7c2a62ad --- /dev/null +++ b/Code/Lee/Javascript/lab_04/index.html @@ -0,0 +1,68 @@ + + + + + + + + + + + + + Todo List + + + + + + + + + + + + + +
      + +
      + +
      +

      + Todo List +

      +
      +
      + + + + +

      Open

      +
      + +

      Complete

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

      Copyright © 2021 Lee Colburn
      Jk, not really. +

      + +
      +
      + + + \ No newline at end of file diff --git a/Code/Lee/Javascript/lab_04/todo.js b/Code/Lee/Javascript/lab_04/todo.js new file mode 100644 index 00000000..b8aca911 --- /dev/null +++ b/Code/Lee/Javascript/lab_04/todo.js @@ -0,0 +1,127 @@ +$(document).ready(function () { + let todoList = [ + {item : "This is the first item", + complete : false}, + {item : "This item should be struck through because it is complete", + complete : true}, + {item : "Go to the store", + complete : false}, +] + +let $openList = $("#openList"); +let $completeList = $("#completeList"); +let $newTask = $("#newTask"); + +// Generates new todo based on button click +$newTask.click(()=>{ + addTodo() + createTodoList() + }) + +// Opens prompt to take in todo item, and adds it to the list of oustanding tasks +function addTodo() { + let newTodo = prompt("Enter your todo item: ") // get new todo + appendTodo(newTodo) +} + +// Takes in a new todo from addTodo and appends it to todoList +function appendTodo(todo) { + let newItem = { + item: todo, + complete: false + } + todoList = todoList.concat(newItem) + createTodoList() + + } + + +// delete the todo entry to be removed entirely from the list +function deleteTodo(todoToDelete){ + for(let i=0; i < todoList.length; i++) { + if(todoList[i].item === todoToDelete.item){ + todoList.splice(i,1) + return + } + } +} + +// Allow the todo item to change to/from open & complete +function changeTodo(targetTodo) { + for (let i=0; i < todoList.length; i++) { + if(todoList[i].item === targetTodo.item) { + todoList[i].complete = !todoList[i].complete + } + } + } + + + +// Create a todo item +function makeNewTodoItem(todo) { + let $newTodoItem, $newButtons + + // new div for the item + $newTodoItem = $(`
      ${todo.item}
      `) + $newTodoItem.addClass("col-12 col-lg-6 offset-lg-3") + + $newButtons = makeNewButtons(todo) // make them buttons + + $newTodoItem.append($newButtons) + console.log($newTodoItem) + + return $newTodoItem +} + +// Create complete and delete buttons. Add to new div. +function makeNewButtons(todo) { + let $buttons, $completeButton, $deleteButton + + $buttons = $('') + $buttons.addClass('mx-2') + + // make a new complete button with function to toggle complete/open + $completeButton = $(``) + $completeButton.addClass('bi bi-check-square') + $completeButton.click(() => { + changeTodo(todo) + createTodoList() + }) + + // make a new delete button. add function to delete todo item on click + $deleteButton = $(``) + $deleteButton.addClass('bi bi-trash mx-1') + $deleteButton.click(() => { + deleteTodo(todo) + createTodoList() + }) + $buttons.append([$completeButton, $deleteButton]) + return $buttons +} + +// Clear the Todo List +function clearTodoList() { + $completeList.html('') + $openList.html('') +} + +// Update the Open and Complete lists +function createTodoList () { + let $todoItem + + clearTodoList() + todoList.forEach(todo => { // cycles through the todo list items and makes a new div item from makeNewTodoItem. + $todoItem = makeNewTodoItem(todo) + // filter the todo items into the completed or open lists + if (todo.complete) { + $completeList.append($todoItem) + + } else { + $openList.append($todoItem) + } + }); +} + +createTodoList() + +}) From 9d72685a6d82bbbc545446797580fc279a6e874e Mon Sep 17 00:00:00 2001 From: arek8675 Date: Sun, 2 Jan 2022 13:34:59 -0800 Subject: [PATCH 16/27] Just need to figure out foreign key issue --- Code/Arek/Django/lab1/todo-lab/README.rst | 0 Code/Arek/Django/lab1/todo-lab/pyproject.toml | 16 +++ .../Django/lab1/todo-lab/tests/__init__.py | 0 .../lab1/todo-lab/tests/test_todo_lab.py | 5 + Code/Arek/Django/lab1/todo-lab/todo/manage.py | 22 ++++ .../lab1/todo-lab/todo/myapp/__init__.py | 0 .../Django/lab1/todo-lab/todo/myapp/admin.py | 8 ++ .../Django/lab1/todo-lab/todo/myapp/apps.py | 6 + .../todo/myapp/migrations/__init__.py | 0 .../Django/lab1/todo-lab/todo/myapp/models.py | 29 ++++ .../todo/myapp/static/myapp/style.css | 13 ++ .../myapp/templates/myapp/mytemplate.html | 56 ++++++++ .../Django/lab1/todo-lab/todo/myapp/tests.py | 3 + .../Django/lab1/todo-lab/todo/myapp/urls.py | 10 ++ .../Django/lab1/todo-lab/todo/myapp/views.py | 45 +++++++ .../lab1/todo-lab/todo/todo/__init__.py | 0 .../Django/lab1/todo-lab/todo/todo/asgi.py | 16 +++ .../lab1/todo-lab/todo/todo/settings.py | 124 ++++++++++++++++++ .../Django/lab1/todo-lab/todo/todo/urls.py | 22 ++++ .../Django/lab1/todo-lab/todo/todo/wsgi.py | 16 +++ .../Django/lab1/todo-lab/todo_lab/__init__.py | 1 + 21 files changed, 392 insertions(+) create mode 100644 Code/Arek/Django/lab1/todo-lab/README.rst create mode 100644 Code/Arek/Django/lab1/todo-lab/pyproject.toml create mode 100644 Code/Arek/Django/lab1/todo-lab/tests/__init__.py create mode 100644 Code/Arek/Django/lab1/todo-lab/tests/test_todo_lab.py create mode 100755 Code/Arek/Django/lab1/todo-lab/todo/manage.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/__init__.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/admin.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/apps.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/__init__.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/static/myapp/style.css create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/templates/myapp/mytemplate.html create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/tests.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/urls.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/todo/__init__.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/todo/asgi.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/todo/settings.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/todo/urls.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/todo/wsgi.py create mode 100644 Code/Arek/Django/lab1/todo-lab/todo_lab/__init__.py diff --git a/Code/Arek/Django/lab1/todo-lab/README.rst b/Code/Arek/Django/lab1/todo-lab/README.rst new file mode 100644 index 00000000..e69de29b diff --git a/Code/Arek/Django/lab1/todo-lab/pyproject.toml b/Code/Arek/Django/lab1/todo-lab/pyproject.toml new file mode 100644 index 00000000..9a317adf --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/pyproject.toml @@ -0,0 +1,16 @@ +[tool.poetry] +name = "todo-lab" +version = "0.1.0" +description = "" +authors = ["arek8675 "] + +[tool.poetry.dependencies] +python = "^3.8" + +[tool.poetry.dev-dependencies] +pytest = "^5.2" +django = "^4.0" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/Code/Arek/Django/lab1/todo-lab/tests/__init__.py b/Code/Arek/Django/lab1/todo-lab/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Arek/Django/lab1/todo-lab/tests/test_todo_lab.py b/Code/Arek/Django/lab1/todo-lab/tests/test_todo_lab.py new file mode 100644 index 00000000..89d292c2 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/tests/test_todo_lab.py @@ -0,0 +1,5 @@ +from todo_lab import __version__ + + +def test_version(): + assert __version__ == '0.1.0' diff --git a/Code/Arek/Django/lab1/todo-lab/todo/manage.py b/Code/Arek/Django/lab1/todo-lab/todo/manage.py new file mode 100755 index 00000000..244b6144 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/__init__.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/admin.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/admin.py new file mode 100644 index 00000000..6cbe1a7e --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/admin.py @@ -0,0 +1,8 @@ +from django.contrib import admin + +# Register your models here. +from .models import Todoitem, Priority + + +admin.site.register(Priority) +admin.site.register(Todoitem) \ No newline at end of file diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/apps.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/apps.py new file mode 100644 index 00000000..c34fb20e --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class MyappConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'myapp' diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/__init__.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py new file mode 100644 index 00000000..b3da04f4 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py @@ -0,0 +1,29 @@ + +from django.db import models +from django.db.models.base import Model +from django.db.models.fields import BLANK_CHOICE_DASH, CharField + +# Create your models here. +# TodItem Model +priority_choices = [ + ('high', 'High'), + ('medium', 'Medium'), + ('low', 'Low') +] + + +class Priority(models.Model): + name = models.CharField(max_length=6, choices=priority_choices,default='medium') + + def __str__(self): + return self.name + + + +class Todoitem(models.Model): + text = models.CharField(max_length=200) + priority = models.ForeignKey(Priority, on_delete=models.CASCADE) + created_date = models.DateTimeField(null=True, blank=True) + + def __str__(self): + return self.text # when I added the self.created_date, it gave me an error when adding a new todo item \ No newline at end of file diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/static/myapp/style.css b/Code/Arek/Django/lab1/todo-lab/todo/myapp/static/myapp/style.css new file mode 100644 index 00000000..c437792a --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/static/myapp/style.css @@ -0,0 +1,13 @@ +body{ + background-color: lightgreen; +} + +#todo-div{ + padding: 20px 20px; + margin: 40px 0px; + font-size: larger; +} +label{ + margin: 20px 20px; +} + diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/templates/myapp/mytemplate.html b/Code/Arek/Django/lab1/todo-lab/todo/myapp/templates/myapp/mytemplate.html new file mode 100644 index 00000000..5e73df69 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/templates/myapp/mytemplate.html @@ -0,0 +1,56 @@ + + + + {% load static %} + + + + + + + + +

      Todo List

      +
      +
      + {%csrf_token %} + + + + + + + + +
      + +
      + +
      + {% for myitem in myitems %} +
      {{ myitem.text }}
      + {% endfor %} + + + +
      + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/tests.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/tests.py new file mode 100644 index 00000000..7ce503c2 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/urls.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/urls.py new file mode 100644 index 00000000..99244ae5 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/urls.py @@ -0,0 +1,10 @@ +from django.urls import path +from . import views + + +app_name='myapp' +urlpatterns = [ + path('indexView/', views.indexView, name='indexView'), + path('newtodo/', views.add_todo, name='add_todo') + +] \ No newline at end of file diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py new file mode 100644 index 00000000..d69fb26b --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py @@ -0,0 +1,45 @@ +from django.shortcuts import render, reverse + +from django.http import HttpResponseRedirect +from .models import Priority, Todoitem + +# Create your views here. + + +def indexView(request): + # need to reference the polls/views.py from the demo folder + + + + items = Todoitem.objects.all() + context = { + 'myitems': items + } + + + + return render(request, 'myapp/mytemplate.html', context ) #if i return more than one thing it just displays the whole html code + +def add_todo(request): + form = request.POST + select_choice = form['choice-field'] + new_todo = form['new-todo'] + + new_priority = Priority() #creating a new row for priority + new_todo_item = Todoitem() #creating a new todo item in the DB + + new_priority.name = select_choice + new_priority.save() + + new_todo_item.text = new_todo + new_todo_item.priority = Priority.name + new_todo_item.save() #saving the new rows in the database + + + + return HttpResponseRedirect(reverse('myapp:indexView')) #this just redirects back to the main page + #to show all the todo items + + + + \ No newline at end of file diff --git a/Code/Arek/Django/lab1/todo-lab/todo/todo/__init__.py b/Code/Arek/Django/lab1/todo-lab/todo/todo/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/Code/Arek/Django/lab1/todo-lab/todo/todo/asgi.py b/Code/Arek/Django/lab1/todo-lab/todo/todo/asgi.py new file mode 100644 index 00000000..54e3b5e2 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/todo/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for todo project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo.settings') + +application = get_asgi_application() diff --git a/Code/Arek/Django/lab1/todo-lab/todo/todo/settings.py b/Code/Arek/Django/lab1/todo-lab/todo/todo/settings.py new file mode 100644 index 00000000..1074fb93 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/todo/settings.py @@ -0,0 +1,124 @@ +""" +Django settings for todo project. + +Generated by 'django-admin startproject' using Django 4.0. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-lpdnoln(#8j)&wpt@(_(8cw*64jk^wx44=s=g7w_x-s#ia%q=e' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'myapp' +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'todo.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'todo.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Code/Arek/Django/lab1/todo-lab/todo/todo/urls.py b/Code/Arek/Django/lab1/todo-lab/todo/todo/urls.py new file mode 100644 index 00000000..e8c2eeb8 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/todo/urls.py @@ -0,0 +1,22 @@ +"""todo URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path('admin/', admin.site.urls), + path('myapp/', include('myapp.urls')) +] diff --git a/Code/Arek/Django/lab1/todo-lab/todo/todo/wsgi.py b/Code/Arek/Django/lab1/todo-lab/todo/todo/wsgi.py new file mode 100644 index 00000000..586f90bb --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/todo/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for todo project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo.settings') + +application = get_wsgi_application() diff --git a/Code/Arek/Django/lab1/todo-lab/todo_lab/__init__.py b/Code/Arek/Django/lab1/todo-lab/todo_lab/__init__.py new file mode 100644 index 00000000..b794fd40 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo_lab/__init__.py @@ -0,0 +1 @@ +__version__ = '0.1.0' From 15fcfda6512d32f8d22f300879884dd9c6733385 Mon Sep 17 00:00:00 2001 From: arek8675 Date: Mon, 3 Jan 2022 17:45:09 -0800 Subject: [PATCH 17/27] saving changes --- Code/Arek/Django/lab1/todo-lab/poetry.lock | 245 ++++++++++++++++++ Code/Arek/Django/lab1/todo-lab/pyproject.toml | 1 + .../Django/lab1/todo-lab/todo/myapp/views.py | 2 +- 3 files changed, 247 insertions(+), 1 deletion(-) create mode 100644 Code/Arek/Django/lab1/todo-lab/poetry.lock diff --git a/Code/Arek/Django/lab1/todo-lab/poetry.lock b/Code/Arek/Django/lab1/todo-lab/poetry.lock new file mode 100644 index 00000000..fbf0430a --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/poetry.lock @@ -0,0 +1,245 @@ +[[package]] +name = "asgiref" +version = "3.4.1" +description = "ASGI specs, helper code, and adapters" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"] + +[[package]] +name = "atomicwrites" +version = "1.4.0" +description = "Atomic file writes." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "attrs" +version = "21.4.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] + +[[package]] +name = "backports.zoneinfo" +version = "0.2.1" +description = "Backport of the standard library zoneinfo module" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +tzdata = ["tzdata"] + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "django" +version = "4.0" +description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +asgiref = ">=3.4.1,<4" +"backports.zoneinfo" = {version = "*", markers = "python_version < \"3.9\""} +sqlparse = ">=0.2.2" +tzdata = {version = "*", markers = "sys_platform == \"win32\""} + +[package.extras] +argon2 = ["argon2-cffi (>=19.1.0)"] +bcrypt = ["bcrypt"] + +[[package]] +name = "more-itertools" +version = "8.12.0" +description = "More routines for operating on iterables, beyond itertools" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[package]] +name = "pluggy" +version = "0.13.1" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +dev = ["pre-commit", "tox"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "pyparsing" +version = "3.0.6" +description = "Python parsing module" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pytest" +version = "5.4.3" +description = "pytest: simple powerful testing with Python" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} +attrs = ">=17.4.0" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +more-itertools = ">=4.0.0" +packaging = "*" +pluggy = ">=0.12,<1.0" +py = ">=1.5.0" +wcwidth = "*" + +[package.extras] +checkqa-mypy = ["mypy (==v0.761)"] +testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] + +[[package]] +name = "sqlparse" +version = "0.4.2" +description = "A non-validating SQL parser." +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "tzdata" +version = "2021.5" +description = "Provider of IANA time zone data" +category = "main" +optional = false +python-versions = ">=2" + +[[package]] +name = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" + +[metadata] +lock-version = "1.1" +python-versions = "^3.8" +content-hash = "58a32e8bca919507ef353a72045ff67eceae09379a4dfd71ebd2adb8ee6061f9" + +[metadata.files] +asgiref = [ + {file = "asgiref-3.4.1-py3-none-any.whl", hash = "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214"}, + {file = "asgiref-3.4.1.tar.gz", hash = "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9"}, +] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, + {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, +] +"backports.zoneinfo" = [ + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl", hash = "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08"}, + {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl", hash = "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b"}, + {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-win32.whl", hash = "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328"}, + {file = "backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6"}, + {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +django = [ + {file = "Django-4.0-py3-none-any.whl", hash = "sha256:59304646ebc6a77b9b6a59adc67d51ecb03c5e3d63ed1f14c909cdfda84e8010"}, + {file = "Django-4.0.tar.gz", hash = "sha256:d5a8a14da819a8b9237ee4d8c78dfe056ff6e8a7511987be627192225113ee75"}, +] +more-itertools = [ + {file = "more-itertools-8.12.0.tar.gz", hash = "sha256:7dc6ad46f05f545f900dd59e8dfb4e84a4827b97b3cfecb175ea0c7d247f6064"}, + {file = "more_itertools-8.12.0-py3-none-any.whl", hash = "sha256:43e6dd9942dffd72661a2c4ef383ad7da1e6a3e968a927ad7a6083ab410a688b"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pluggy = [ + {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, + {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pyparsing = [ + {file = "pyparsing-3.0.6-py3-none-any.whl", hash = "sha256:04ff808a5b90911829c55c4e26f75fa5ca8a2f5f36aa3a51f68e27033341d3e4"}, + {file = "pyparsing-3.0.6.tar.gz", hash = "sha256:d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81"}, +] +pytest = [ + {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, + {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, +] +sqlparse = [ + {file = "sqlparse-0.4.2-py3-none-any.whl", hash = "sha256:48719e356bb8b42991bdbb1e8b83223757b93789c00910a616a071910ca4a64d"}, + {file = "sqlparse-0.4.2.tar.gz", hash = "sha256:0c00730c74263a94e5a9919ade150dfc3b19c574389985446148402998287dae"}, +] +tzdata = [ + {file = "tzdata-2021.5-py2.py3-none-any.whl", hash = "sha256:3eee491e22ebfe1e5cfcc97a4137cd70f092ce59144d81f8924a844de05ba8f5"}, + {file = "tzdata-2021.5.tar.gz", hash = "sha256:68dbe41afd01b867894bbdfd54fa03f468cfa4f0086bfb4adcd8de8f24f3ee21"}, +] +wcwidth = [ + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, +] diff --git a/Code/Arek/Django/lab1/todo-lab/pyproject.toml b/Code/Arek/Django/lab1/todo-lab/pyproject.toml index 9a317adf..6ac361f3 100644 --- a/Code/Arek/Django/lab1/todo-lab/pyproject.toml +++ b/Code/Arek/Django/lab1/todo-lab/pyproject.toml @@ -6,6 +6,7 @@ authors = ["arek8675 "] [tool.poetry.dependencies] python = "^3.8" +Django = "^4.0" [tool.poetry.dev-dependencies] pytest = "^5.2" diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py index d69fb26b..da307f8f 100644 --- a/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py @@ -32,7 +32,7 @@ def add_todo(request): new_priority.save() new_todo_item.text = new_todo - new_todo_item.priority = Priority.name + new_todo_item.save() #saving the new rows in the database From fafd17bd4e9df486571403d405ae533e8d6afd25 Mon Sep 17 00:00:00 2001 From: arek8675 Date: Mon, 3 Jan 2022 19:24:53 -0800 Subject: [PATCH 18/27] removed un needed fileds causing constraints --- Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py index b3da04f4..6097bf70 100644 --- a/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/models.py @@ -13,7 +13,7 @@ class Priority(models.Model): - name = models.CharField(max_length=6, choices=priority_choices,default='medium') + name = models.CharField(max_length=6, choices=priority_choices) def __str__(self): return self.name From 0ff06b033676377495b8ae65c9d59086e9d2387c Mon Sep 17 00:00:00 2001 From: arek8675 Date: Mon, 3 Jan 2022 19:25:44 -0800 Subject: [PATCH 19/27] made code simpler with .get_or_create method and fixed issue of priotiry foreign key giving a dropdown --- .../Django/lab1/todo-lab/todo/myapp/views.py | 32 ++++++------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py index da307f8f..581d9f20 100644 --- a/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/views.py @@ -1,44 +1,32 @@ -from django.shortcuts import render, reverse +from django.shortcuts import render, reverse, redirect from django.http import HttpResponseRedirect from .models import Priority, Todoitem -# Create your views here. - def indexView(request): - # need to reference the polls/views.py from the demo folder - - - + items = Todoitem.objects.all() context = { 'myitems': items } - - - return render(request, 'myapp/mytemplate.html', context ) #if i return more than one thing it just displays the whole html code + return render(request, 'myapp/mytemplate.html', context ) def add_todo(request): form = request.POST select_choice = form['choice-field'] new_todo = form['new-todo'] - new_priority = Priority() #creating a new row for priority - new_todo_item = Todoitem() #creating a new todo item in the DB - - new_priority.name = select_choice - new_priority.save() - - new_todo_item.text = new_todo - - new_todo_item.save() #saving the new rows in the database + new_priority,created = Priority.objects.get_or_create(name=select_choice) #creating a new row for priority + # we put ,created next to new_priority, so that we only get the first part of the tuple + #.create also does .save() for you + #.get or create returns a tuple (obj, created=boolean) + new_todo_item = Todoitem.objects.create(text=new_todo, priority=new_priority) - - - return HttpResponseRedirect(reverse('myapp:indexView')) #this just redirects back to the main page + return redirect('myapp:indexView') #this just redirects back to the main page #to show all the todo items + # instead of Http response redirect you can just import redirect with django shortcuts From 9dc34c15d2668d1d59dde8d50f9d14837bd77853 Mon Sep 17 00:00:00 2001 From: arek8675 Date: Mon, 3 Jan 2022 19:26:15 -0800 Subject: [PATCH 20/27] Submitting Lab1 --- .../todo/myapp/migrations/0001_initial.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/0001_initial.py diff --git a/Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/0001_initial.py b/Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/0001_initial.py new file mode 100644 index 00000000..17d1faf3 --- /dev/null +++ b/Code/Arek/Django/lab1/todo-lab/todo/myapp/migrations/0001_initial.py @@ -0,0 +1,31 @@ +# Generated by Django 4.0 on 2022-01-04 03:15 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Priority', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(choices=[('high', 'High'), ('medium', 'Medium'), ('low', 'Low')], max_length=6)), + ], + ), + migrations.CreateModel( + name='Todoitem', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('text', models.CharField(max_length=200)), + ('created_date', models.DateTimeField(blank=True, null=True)), + ('priority', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='myapp.priority')), + ], + ), + ] From ff406145657ed9e5d02a4da052a20d91af759724 Mon Sep 17 00:00:00 2001 From: Keegan Good Date: Tue, 4 Jan 2022 18:33:40 -0800 Subject: [PATCH 21/27] update, detail and logout urls, views and templates --- .../demo/picster/picster_proj/settings.py | 8 +- .../picster/static/images/avatars/leaves.jpg | Bin 0 -> 131129 bytes .../static/images/avatars/winter_forest.jpg | Bin 0 -> 81137 bytes 4 Django/demo/picster/templates/base.html | 14 ++- .../picster/templates/partials/_navbar.html | 42 ++++++++ .../demo/picster/templates/users/detail.html | 68 ++++++++++++ .../demo/picster/templates/users/login.html | 25 +++++ .../picster/templates/users/register.html | 2 +- .../demo/picster/templates/users/update.html | 25 +++++ 4 Django/demo/picster/users_app/urls.py | 6 +- 4 Django/demo/picster/users_app/views.py | 97 +++++++++++++++++- extra.html | 1 - 12 files changed, 279 insertions(+), 9 deletions(-) create mode 100644 4 Django/demo/picster/static/images/avatars/leaves.jpg create mode 100644 4 Django/demo/picster/static/images/avatars/winter_forest.jpg create mode 100644 4 Django/demo/picster/templates/partials/_navbar.html create mode 100644 4 Django/demo/picster/templates/users/detail.html create mode 100644 4 Django/demo/picster/templates/users/login.html create mode 100644 4 Django/demo/picster/templates/users/update.html diff --git a/4 Django/demo/picster/picster_proj/settings.py b/4 Django/demo/picster/picster_proj/settings.py index 3960c26c..b5db3262 100644 --- a/4 Django/demo/picster/picster_proj/settings.py +++ b/4 Django/demo/picster/picster_proj/settings.py @@ -122,10 +122,16 @@ # direct django to the project-level static folder STATICFILES_DIRS = [str(BASE_DIR.joinpath('static'))] +# root directory for media files +MEDIA_ROOT = 'static/' + # Default primary key field type # https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' # redefine the default auth user model from our users app -AUTH_USER_MODEL = 'users_app.User' \ No newline at end of file +AUTH_USER_MODEL = 'users_app.User' + +# tell django where to redirect if not logged in +LOGIN_URL = '/users/login' \ No newline at end of file diff --git a/4 Django/demo/picster/static/images/avatars/leaves.jpg b/4 Django/demo/picster/static/images/avatars/leaves.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8a8b84db211818f67671bcb1e1d7a9d6b4275581 GIT binary patch literal 131129 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 K|zyuy0@h>FuMtOe6R`B2oE4@nUb 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 q}@4xm6>j&dzDv{jM)a=Y5pLeTY|Vz3nb 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 literal 0 HcmV?d00001 diff --git a/4 Django/demo/picster/templates/base.html b/4 Django/demo/picster/templates/base.html index 8c2f848b..29e90067 100644 --- a/4 Django/demo/picster/templates/base.html +++ b/4 Django/demo/picster/templates/base.html @@ -33,10 +33,20 @@ Picster -
      + {% include 'partials/_navbar.html' %} +
      {% if errors %} - {{errors}} +
      + {% for error in errors %} +
      + +
      + {% endfor %} +
      {% endif %} {% block content %} diff --git a/4 Django/demo/picster/templates/partials/_navbar.html b/4 Django/demo/picster/templates/partials/_navbar.html new file mode 100644 index 00000000..b9d84fae --- /dev/null +++ b/4 Django/demo/picster/templates/partials/_navbar.html @@ -0,0 +1,42 @@ +{%load static%} + \ No newline at end of file diff --git a/4 Django/demo/picster/templates/users/detail.html b/4 Django/demo/picster/templates/users/detail.html new file mode 100644 index 00000000..6bb4ecec --- /dev/null +++ b/4 Django/demo/picster/templates/users/detail.html @@ -0,0 +1,68 @@ +{% extends 'base.html' %} +{% load static %} +{% block content %} + +
      +
      +

      {{user.username}}

      + {% if request.user == user %} + + + + {% endif %} + {{user.username}}'s avatar +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      First + {% if user.first_name %} + {{user.first_name}} + {% else %} + Not Provided + {% endif %} +
      Last{% if user.last_name %} + {{user.last_name}} + {% else %} + Not Provided + {% endif %}
      Joined{{user.date_joined|date}}
      Pics0
      Followers0
      Following0
      +
      +
      + +

      Pics

      +
      + +
      + + +{% endblock content %} \ No newline at end of file diff --git a/4 Django/demo/picster/templates/users/login.html b/4 Django/demo/picster/templates/users/login.html new file mode 100644 index 00000000..f51b400f --- /dev/null +++ b/4 Django/demo/picster/templates/users/login.html @@ -0,0 +1,25 @@ +{% extends 'base.html' %} + +{% block content %} +

      Log in

      + + +
      + + +
      + + {{form.username}} +
      + +
      + + {{form.password}} +
      + + {% csrf_token %} + + +
      + +{% endblock content %} \ No newline at end of file diff --git a/4 Django/demo/picster/templates/users/register.html b/4 Django/demo/picster/templates/users/register.html index f368d84b..a72a94c7 100644 --- a/4 Django/demo/picster/templates/users/register.html +++ b/4 Django/demo/picster/templates/users/register.html @@ -1,7 +1,7 @@ {% extends 'base.html' %} {% block content %} -

      Register

      +

      Register

      diff --git a/4 Django/demo/picster/templates/users/update.html b/4 Django/demo/picster/templates/users/update.html new file mode 100644 index 00000000..4c1e7135 --- /dev/null +++ b/4 Django/demo/picster/templates/users/update.html @@ -0,0 +1,25 @@ +{% extends 'base.html' %} +{% load static %} + + +{% block content %} + +
      +
      +

      {{user.username}}

      + {{user.username}}'s avatar +
      + + +
      + + {% csrf_token %} + {{form}} + + +
      + +
      + +{% endblock content %} \ No newline at end of file diff --git a/4 Django/demo/picster/users_app/urls.py b/4 Django/demo/picster/users_app/urls.py index 056b73f3..d8e54a93 100644 --- a/4 Django/demo/picster/users_app/urls.py +++ b/4 Django/demo/picster/users_app/urls.py @@ -4,5 +4,9 @@ app_name = 'users_app' urlpatterns = [ - path('register/', views.register, name='register') + path('register/', views.register, name='register'), + path('login/', views.login, name='login'), + path('logout/', views.logout, name='logout'), + path('/', views.detail, name='detail'), + path('update//', views.update, name='update'), ] \ No newline at end of file diff --git a/4 Django/demo/picster/users_app/views.py b/4 Django/demo/picster/users_app/views.py index 884c2797..cfbe5824 100644 --- a/4 Django/demo/picster/users_app/views.py +++ b/4 Django/demo/picster/users_app/views.py @@ -1,4 +1,11 @@ -from django.shortcuts import render, redirect, reverse +from django.shortcuts import get_object_or_404, render, redirect, reverse +from django.contrib.auth import ( + get_user_model, # returns the AUTH_USER_MODEL variable's value from settings.py + authenticate, + login as django_login, + logout as django_logout +) +from django.contrib.auth.decorators import login_required from .forms import UserForm, UserAuthForm @@ -39,7 +46,91 @@ def register(request): else: context = { 'form': UserAuthForm(), - 'errors': form.errors + 'errors': [value for value in form.errors.values()] } - return render(request, 'users/register.html', context) \ No newline at end of file + return render(request, 'users/register.html', context) + + +def login(request): + if request.method == 'GET': + # blank form + form = UserAuthForm() + return render(request, 'users/login.html', {'form': form}) + + elif request.method == 'POST': + # get the form data from the request + form = request.POST + + username = form['username'] + password = form['password'] + + # attempt authentication with the given credentials + user = authenticate(request, username=username, password=password) + + # if the form credentials are not valid, render the login page with an error + if user is None: + context = { + 'form': UserAuthForm(), + 'errors': ['Invalid Username or Password'] + } + + return render(request, 'users/login.html', context) + + else: + + # login the user + django_login(request, user) + + # redirect to the user's detail page + return redirect(reverse('users_app:detail', kwargs={'username': user.username})) + + +def detail(request, username): + # find the desired user + user = get_object_or_404(get_user_model(), username=username) + return render(request, 'users/detail.html', {'user': user}) + +@login_required +def update(request, username): + user = get_object_or_404(get_user_model(), username=username) + + if request.method == 'GET': + # create a UserForm with the current user data + form = UserForm(instance=user) + + return render(request, 'users/update.html', {'form': form}) + + elif request.method == 'POST': + # create a UserForm with the form data and + # the User instance to which to apply the changes + form = UserForm(request.POST, instance=user) + + # the file from the form will be within request.FILES + # add the filename to the initial form data + new_avatar = request.FILES.get('avatar') + + # if a file was uploaded, add it to the form + if new_avatar: + form.initial['avatar'] = new_avatar + + if form.is_valid(): + # update the user instance with the new data + form.save() + + # redirect to the user's detail page + return redirect(reverse('users_app:detail', kwargs={'username': user.username})) + + else: + errors = [value for value in form.errors.values()] + context = { + 'user': user, + 'errors': errors + } + + return render(request, 'users/update.html', context) + +def logout(request): + django_logout(request) + + return redirect(reverse('users_app:login')) \ No newline at end of file diff --git a/extra.html b/extra.html index 43e40d3a..f4c43533 100644 --- a/extra.html +++ b/extra.html @@ -27,7 +27,6 @@ - From d17506f2053f225f4d6ee8cf97f6d2aca221d36e Mon Sep 17 00:00:00 2001 From: Keegan Good Date: Tue, 4 Jan 2022 18:35:52 -0800 Subject: [PATCH 22/27] adjusted styling --- 4 Django/demo/picster/templates/base.html | 2 +- 4 Django/demo/picster/templates/partials/_navbar.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/4 Django/demo/picster/templates/base.html b/4 Django/demo/picster/templates/base.html index 29e90067..09ea8673 100644 --- a/4 Django/demo/picster/templates/base.html +++ b/4 Django/demo/picster/templates/base.html @@ -34,7 +34,7 @@ {% include 'partials/_navbar.html' %} -
      +
      {% if errors %}
      diff --git a/4 Django/demo/picster/templates/partials/_navbar.html b/4 Django/demo/picster/templates/partials/_navbar.html index b9d84fae..378b601f 100644 --- a/4 Django/demo/picster/templates/partials/_navbar.html +++ b/4 Django/demo/picster/templates/partials/_navbar.html @@ -10,7 +10,7 @@