Skip to content

Instantly share code, notes, and snippets.

@limcheekin
Created January 8, 2025 06:30
Show Gist options
  • Select an option

  • Save limcheekin/d26bbaef6453d742669891aa5259cc29 to your computer and use it in GitHub Desktop.

Select an option

Save limcheekin/d26bbaef6453d742669891aa5259cc29 to your computer and use it in GitHub Desktop.
Generating a QR-Code with just HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
<title>QR Code Generator & Reader</title>
<script type="text/javascript">
var QRCode;
!function() {
function t(e) {
this.mode = i.MODE_8BIT_BYTE,
this.data = e,
this.parsedData = [];
for (var t = 0, r = this.data.length; t < r; t++) {
var n = []
, a = this.data.charCodeAt(t);
65536 < a ? (n[0] = 240 | (1835008 & a) >>> 18,
n[1] = 128 | (258048 & a) >>> 12,
n[2] = 128 | (4032 & a) >>> 6,
n[3] = 128 | 63 & a) : 2048 < a ? (n[0] = 224 | (61440 & a) >>> 12,
n[1] = 128 | (4032 & a) >>> 6,
n[2] = 128 | 63 & a) : 128 < a ? (n[0] = 192 | (1984 & a) >>> 6,
n[1] = 128 | 63 & a) : n[0] = a,
this.parsedData.push(n)
}
this.parsedData = Array.prototype.concat.apply([], this.parsedData),
this.parsedData.length != this.data.length && (this.parsedData.unshift(191),
this.parsedData.unshift(187),
this.parsedData.unshift(239))
}
function h(e, t) {
this.typeNumber = e,
this.errorCorrectLevel = t,
this.modules = null,
this.moduleCount = 0,
this.dataCache = null,
this.dataList = []
}
function g(e, t) {
if (null == e.length)
throw new Error(e.length + "/" + t);
for (var r = 0; r < e.length && 0 == e[r]; )
r++;
this.num = new Array(e.length - r + t);
for (var n = 0; n < e.length - r; n++)
this.num[n] = e[n + r]
}
function c(e, t) {
this.totalCount = e,
this.dataCount = t
}
function s() {
this.buffer = [],
this.length = 0
}
function n() {
var e = !1
, t = navigator.userAgent;
return /android/i.test(t) && (e = !0,
(t = t.toString().match(/android ([0-9]\.[0-9])/i)) && t[1] && (e = parseFloat(t[1]))),
e
}
function r(e, t) {
for (var r, n = 1, a = (r = e,
(e = encodeURI(r).toString().replace(/\%[0-9a-fA-F]{2}/g, "a")).length + (e.length != r ? 3 : 0)), i = 0, o = y.length; i <= o; i++) {
var _ = 0;
switch (t) {
case d.L:
_ = y[i][0];
break;
case d.M:
_ = y[i][1];
break;
case d.Q:
_ = y[i][2];
break;
case d.H:
_ = y[i][3]
}
if (a <= _)
break;
n++
}
if (y.length < n)
throw new Error("Too long data");
return n
}
t.prototype = {
getLength: function(e) {
return this.parsedData.length
},
write: function(e) {
for (var t = 0, r = this.parsedData.length; t < r; t++)
e.put(this.parsedData[t], 8)
}
},
h.prototype = {
addData: function(e) {
e = new t(e);
this.dataList.push(e),
this.dataCache = null
},
isDark: function(e, t) {
if (e < 0 || this.moduleCount <= e || t < 0 || this.moduleCount <= t)
throw new Error(e + "," + t);
return this.modules[e][t]
},
getModuleCount: function() {
return this.moduleCount
},
make: function() {
this.makeImpl(!1, this.getBestMaskPattern())
},
makeImpl: function(e, t) {
this.moduleCount = 4 * this.typeNumber + 17,
this.modules = new Array(this.moduleCount);
for (var r = 0; r < this.moduleCount; r++) {
this.modules[r] = new Array(this.moduleCount);
for (var n = 0; n < this.moduleCount; n++)
this.modules[r][n] = null
}
this.setupPositionProbePattern(0, 0),
this.setupPositionProbePattern(this.moduleCount - 7, 0),
this.setupPositionProbePattern(0, this.moduleCount - 7),
this.setupPositionAdjustPattern(),
this.setupTimingPattern(),
this.setupTypeInfo(e, t),
7 <= this.typeNumber && this.setupTypeNumber(e),
null == this.dataCache && (this.dataCache = h.createData(this.typeNumber, this.errorCorrectLevel, this.dataList)),
this.mapData(this.dataCache, t)
},
setupPositionProbePattern: function(e, t) {
for (var r = -1; r <= 7; r++)
if (!(e + r <= -1 || this.moduleCount <= e + r))
for (var n = -1; n <= 7; n++)
t + n <= -1 || this.moduleCount <= t + n || (this.modules[e + r][t + n] = 0 <= r && r <= 6 && (0 == n || 6 == n) || 0 <= n && n <= 6 && (0 == r || 6 == r) || 2 <= r && r <= 4 && 2 <= n && n <= 4)
},
getBestMaskPattern: function() {
for (var e = 0, t = 0, r = 0; r < 8; r++) {
this.makeImpl(!0, r);
var n = m.getLostPoint(this);
(0 == r || n < e) && (e = n,
t = r)
}
return t
},
createMovieClip: function(e, t, r) {
var n = e.createEmptyMovieClip(t, r);
this.make();
for (var a = 0; a < this.modules.length; a++)
for (var i = +a, o = 0; o < this.modules[a].length; o++) {
var _ = +o;
this.modules[a][o] && (n.beginFill(0, 100),
n.moveTo(_, i),
n.lineTo(1 + _, i),
n.lineTo(1 + _, 1 + i),
n.lineTo(_, 1 + i),
n.endFill())
}
return n
},
setupTimingPattern: function() {
for (var e = 8; e < this.moduleCount - 8; e++)
null == this.modules[e][6] && (this.modules[e][6] = e % 2 == 0);
for (var t = 8; t < this.moduleCount - 8; t++)
null == this.modules[6][t] && (this.modules[6][t] = t % 2 == 0)
},
setupPositionAdjustPattern: function() {
for (var e = m.getPatternPosition(this.typeNumber), t = 0; t < e.length; t++)
for (var r = 0; r < e.length; r++) {
var n = e[t]
, a = e[r];
if (null == this.modules[n][a])
for (var i = -2; i <= 2; i++)
for (var o = -2; o <= 2; o++)
this.modules[n + i][a + o] = -2 == i || 2 == i || -2 == o || 2 == o || 0 == i && 0 == o
}
},
setupTypeNumber: function(e) {
for (var t = m.getBCHTypeNumber(this.typeNumber), r = 0; r < 18; r++) {
var n = !e && 1 == (t >> r & 1);
this.modules[Math.floor(r / 3)][r % 3 + this.moduleCount - 8 - 3] = n
}
for (r = 0; r < 18; r++) {
n = !e && 1 == (t >> r & 1);
this.modules[r % 3 + this.moduleCount - 8 - 3][Math.floor(r / 3)] = n
}
},
setupTypeInfo: function(e, t) {
for (var t = this.errorCorrectLevel << 3 | t, r = m.getBCHTypeInfo(t), n = 0; n < 15; n++) {
var a = !e && 1 == (r >> n & 1);
n < 6 ? this.modules[n][8] = a : n < 8 ? this.modules[n + 1][8] = a : this.modules[this.moduleCount - 15 + n][8] = a
}
for (n = 0; n < 15; n++) {
a = !e && 1 == (r >> n & 1);
n < 8 ? this.modules[8][this.moduleCount - n - 1] = a : n < 9 ? this.modules[8][15 - n - 1 + 1] = a : this.modules[8][15 - n - 1] = a
}
this.modules[this.moduleCount - 8][8] = !e
},
mapData: function(e, t) {
for (var r = -1, n = this.moduleCount - 1, a = 7, i = 0, o = this.moduleCount - 1; 0 < o; o -= 2)
for (6 == o && o--; ; ) {
for (var _, h = 0; h < 2; h++)
null == this.modules[n][o - h] && (_ = !1,
i < e.length && (_ = 1 == (e[i] >>> a & 1)),
m.getMask(t, n, o - h) && (_ = !_),
this.modules[n][o - h] = _,
-1 == --a && (i++,
a = 7));
if ((n += r) < 0 || this.moduleCount <= n) {
n -= r,
r = -r;
break
}
}
}
},
h.PAD0 = 236,
h.PAD1 = 17,
h.createData = function(e, t, r) {
for (var n = c.getRSBlocks(e, t), a = new s, i = 0; i < r.length; i++) {
var o = r[i];
a.put(o.mode, 4),
a.put(o.getLength(), m.getLengthInBits(o.mode, e)),
o.write(a)
}
for (var _ = 0, i = 0; i < n.length; i++)
_ += n[i].dataCount;
if (a.getLengthInBits() > 8 * _)
throw new Error("code length overflow. (" + a.getLengthInBits() + ">" + 8 * _ + ")");
for (a.getLengthInBits() + 4 <= 8 * _ && a.put(0, 4); a.getLengthInBits() % 8 != 0; )
a.putBit(!1);
for (; !(a.getLengthInBits() >= 8 * _ || (a.put(h.PAD0, 8),
a.getLengthInBits() >= 8 * _)); )
a.put(h.PAD1, 8);
return h.createBytes(a, n)
}
,
h.createBytes = function(e, t) {
for (var r = 0, n = 0, a = 0, i = new Array(t.length), o = new Array(t.length), _ = 0; _ < t.length; _++) {
var h = t[_].dataCount
, s = t[_].totalCount - h
, n = Math.max(n, h)
, a = Math.max(a, s);
i[_] = new Array(h);
for (var c = 0; c < i[_].length; c++)
i[_][c] = 255 & e.buffer[c + r];
r += h;
var s = m.getErrorCorrectPolynomial(s)
, d = new g(i[_],s.getLength() - 1).mod(s);
o[_] = new Array(s.getLength() - 1);
for (c = 0; c < o[_].length; c++) {
var w = c + d.getLength() - o[_].length;
o[_][c] = 0 <= w ? d.get(w) : 0
}
}
for (var f = 0, c = 0; c < t.length; c++)
f += t[c].totalCount;
for (var u = new Array(f), l = 0, c = 0; c < n; c++)
for (_ = 0; _ < t.length; _++)
c < i[_].length && (u[l++] = i[_][c]);
for (c = 0; c < a; c++)
for (_ = 0; _ < t.length; _++)
c < o[_].length && (u[l++] = o[_][c]);
return u
}
;
for (var i = {
MODE_NUMBER: 1,
MODE_ALPHA_NUM: 2,
MODE_8BIT_BYTE: 4,
MODE_KANJI: 8
}, d = {
L: 1,
M: 0,
Q: 3,
H: 2
}, a = 0, o = 1, _ = 2, w = 3, f = 4, u = 5, l = 6, v = 7, m = {
PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],
G15: 1335,
G18: 7973,
G15_MASK: 21522,
getBCHTypeInfo: function(e) {
for (var t = e << 10; 0 <= m.getBCHDigit(t) - m.getBCHDigit(m.G15); )
t ^= m.G15 << m.getBCHDigit(t) - m.getBCHDigit(m.G15);
return (e << 10 | t) ^ m.G15_MASK
},
getBCHTypeNumber: function(e) {
for (var t = e << 12; 0 <= m.getBCHDigit(t) - m.getBCHDigit(m.G18); )
t ^= m.G18 << m.getBCHDigit(t) - m.getBCHDigit(m.G18);
return e << 12 | t
},
getBCHDigit: function(e) {
for (var t = 0; 0 != e; )
t++,
e >>>= 1;
return t
},
getPatternPosition: function(e) {
return m.PATTERN_POSITION_TABLE[e - 1]
},
getMask: function(e, t, r) {
switch (e) {
case a:
return (t + r) % 2 == 0;
case o:
return t % 2 == 0;
case _:
return r % 3 == 0;
case w:
return (t + r) % 3 == 0;
case f:
return (Math.floor(t / 2) + Math.floor(r / 3)) % 2 == 0;
case u:
return t * r % 2 + t * r % 3 == 0;
case l:
return (t * r % 2 + t * r % 3) % 2 == 0;
case v:
return (t * r % 3 + (t + r) % 2) % 2 == 0;
default:
throw new Error("bad maskPattern:" + e)
}
},
getErrorCorrectPolynomial: function(e) {
for (var t = new g([1],0), r = 0; r < e; r++)
t = t.multiply(new g([1, p.gexp(r)],0));
return t
},
getLengthInBits: function(e, t) {
if (1 <= t && t < 10)
switch (e) {
case i.MODE_NUMBER:
return 10;
case i.MODE_ALPHA_NUM:
return 9;
case i.MODE_8BIT_BYTE:
case i.MODE_KANJI:
return 8;
default:
throw new Error("mode:" + e)
}
else if (t < 27)
switch (e) {
case i.MODE_NUMBER:
return 12;
case i.MODE_ALPHA_NUM:
return 11;
case i.MODE_8BIT_BYTE:
return 16;
case i.MODE_KANJI:
return 10;
default:
throw new Error("mode:" + e)
}
else {
if (!(t < 41))
throw new Error("type:" + t);
switch (e) {
case i.MODE_NUMBER:
return 14;
case i.MODE_ALPHA_NUM:
return 13;
case i.MODE_8BIT_BYTE:
return 16;
case i.MODE_KANJI:
return 12;
default:
throw new Error("mode:" + e)
}
}
},
getLostPoint: function(e) {
for (var t = e.getModuleCount(), r = 0, n = 0; n < t; n++)
for (var a = 0; a < t; a++) {
for (var i = 0, o = e.isDark(n, a), _ = -1; _ <= 1; _++)
if (!(n + _ < 0 || t <= n + _))
for (var h = -1; h <= 1; h++)
a + h < 0 || t <= a + h || 0 == _ && 0 == h || o != e.isDark(n + _, a + h) || i++;
5 < i && (r += 3 + i - 5)
}
for (n = 0; n < t - 1; n++)
for (a = 0; a < t - 1; a++) {
var s = 0;
e.isDark(n, a) && s++,
e.isDark(n + 1, a) && s++,
e.isDark(n, a + 1) && s++,
e.isDark(n + 1, a + 1) && s++,
0 != s && 4 != s || (r += 3)
}
for (n = 0; n < t; n++)
for (a = 0; a < t - 6; a++)
e.isDark(n, a) && !e.isDark(n, a + 1) && e.isDark(n, a + 2) && e.isDark(n, a + 3) && e.isDark(n, a + 4) && !e.isDark(n, a + 5) && e.isDark(n, a + 6) && (r += 40);
for (a = 0; a < t; a++)
for (n = 0; n < t - 6; n++)
e.isDark(n, a) && !e.isDark(n + 1, a) && e.isDark(n + 2, a) && e.isDark(n + 3, a) && e.isDark(n + 4, a) && !e.isDark(n + 5, a) && e.isDark(n + 6, a) && (r += 40);
for (var c = 0, a = 0; a < t; a++)
for (n = 0; n < t; n++)
e.isDark(n, a) && c++;
return r + 10 * (Math.abs(100 * c / t / t - 50) / 5)
}
}, p = {
glog: function(e) {
if (e < 1)
throw new Error("glog(" + e + ")");
return p.LOG_TABLE[e]
},
gexp: function(e) {
for (; e < 0; )
e += 255;
for (; 256 <= e; )
e -= 255;
return p.EXP_TABLE[e]
},
EXP_TABLE: new Array(256),
LOG_TABLE: new Array(256)
}, e = 0; e < 8; e++)
p.EXP_TABLE[e] = 1 << e;
for (e = 8; e < 256; e++)
p.EXP_TABLE[e] = p.EXP_TABLE[e - 4] ^ p.EXP_TABLE[e - 5] ^ p.EXP_TABLE[e - 6] ^ p.EXP_TABLE[e - 8];
for (e = 0; e < 255; e++)
p.LOG_TABLE[p.EXP_TABLE[e]] = e;
g.prototype = {
get: function(e) {
return this.num[e]
},
getLength: function() {
return this.num.length
},
multiply: function(e) {
for (var t = new Array(this.getLength() + e.getLength() - 1), r = 0; r < this.getLength(); r++)
for (var n = 0; n < e.getLength(); n++)
t[r + n] ^= p.gexp(p.glog(this.get(r)) + p.glog(e.get(n)));
return new g(t,0)
},
mod: function(e) {
if (this.getLength() - e.getLength() < 0)
return this;
for (var t = p.glog(this.get(0)) - p.glog(e.get(0)), r = new Array(this.getLength()), n = 0; n < this.getLength(); n++)
r[n] = this.get(n);
for (n = 0; n < e.getLength(); n++)
r[n] ^= p.gexp(p.glog(e.get(n)) + t);
return new g(r,0).mod(e)
}
},
c.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]],
c.getRSBlocks = function(e, t) {
var r = c.getRsBlockTable(e, t);
if (null == r)
throw new Error("bad rs block @ typeNumber:" + e + "/errorCorrectLevel:" + t);
for (var n = r.length / 3, a = [], i = 0; i < n; i++)
for (var o = r[3 * i + 0], _ = r[3 * i + 1], h = r[3 * i + 2], s = 0; s < o; s++)
a.push(new c(_,h));
return a
}
,
c.getRsBlockTable = function(e, t) {
switch (t) {
case d.L:
return c.RS_BLOCK_TABLE[4 * (e - 1) + 0];
case d.M:
return c.RS_BLOCK_TABLE[4 * (e - 1) + 1];
case d.Q:
return c.RS_BLOCK_TABLE[4 * (e - 1) + 2];
case d.H:
return c.RS_BLOCK_TABLE[4 * (e - 1) + 3];
default:
return
}
}
,
s.prototype = {
get: function(e) {
var t = Math.floor(e / 8);
return 1 == (this.buffer[t] >>> 7 - e % 8 & 1)
},
put: function(e, t) {
for (var r = 0; r < t; r++)
this.putBit(1 == (e >>> t - r - 1 & 1))
},
getLengthInBits: function() {
return this.length
},
putBit: function(e) {
var t = Math.floor(this.length / 8);
this.buffer.length <= t && this.buffer.push(0),
e && (this.buffer[t] |= 128 >>> this.length % 8),
this.length++
}
};
var y = [[17, 14, 11, 7], [32, 26, 20, 14], [53, 42, 32, 24], [78, 62, 46, 34], [106, 84, 60, 44], [134, 106, 74, 58], [154, 122, 86, 64], [192, 152, 108, 84], [230, 180, 130, 98], [271, 213, 151, 119], [321, 251, 177, 137], [367, 287, 203, 155], [425, 331, 241, 177], [458, 362, 258, 194], [520, 412, 292, 220], [586, 450, 322, 250], [644, 504, 364, 280], [718, 560, 394, 310], [792, 624, 442, 338], [858, 666, 482, 382], [929, 711, 509, 403], [1003, 779, 565, 439], [1091, 857, 611, 461], [1171, 911, 661, 511], [1273, 997, 715, 535], [1367, 1059, 751, 593], [1465, 1125, 805, 625], [1528, 1190, 868, 658], [1628, 1264, 908, 698], [1732, 1370, 982, 742], [1840, 1452, 1030, 790], [1952, 1538, 1112, 842], [2068, 1628, 1168, 898], [2188, 1722, 1228, 958], [2303, 1809, 1283, 983], [2431, 1911, 1351, 1051], [2563, 1989, 1423, 1093], [2699, 2099, 1499, 1139], [2809, 2213, 1579, 1219], [2953, 2331, 1663, 1273]]
, b = (C.prototype.draw = function(e) {
function t(e, t) {
var r, n = document.createElementNS("http://www.w3.org/2000/svg", e);
for (r in t)
t.hasOwnProperty(r) && n.setAttribute(r, t[r]);
return n
}
var r = this._htOption
, n = this._el
, a = e.getModuleCount();
Math.floor(r.width / a),
Math.floor(r.height / a),
this.clear();
var i = t("svg", {
viewBox: "0 0 " + String(a) + " " + String(a),
width: "100%",
height: "100%",
fill: r.colorLight
});
i.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink"),
n.appendChild(i),
i.appendChild(t("rect", {
fill: r.colorLight,
width: "100%",
height: "100%"
})),
i.appendChild(t("rect", {
fill: r.colorDark,
width: "1",
height: "1",
id: "template"
}));
for (var o, _ = 0; _ < a; _++)
for (var h = 0; h < a; h++)
e.isDark(_, h) && ((o = t("use", {
x: String(h),
y: String(_)
})).setAttributeNS("http://www.w3.org/1999/xlink", "href", "#template"),
i.appendChild(o))
}
,
C.prototype.clear = function() {
for (; this._el.hasChildNodes(); )
this._el.removeChild(this._el.lastChild)
}
,
C)
, q = "svg" === document.documentElement.tagName.toLowerCase() ? b : "undefined" != typeof CanvasRenderingContext2D ? function() {
function e() {
this._elImage.src = this._elCanvas.toDataURL("image/png"),
this._elImage.style.display = "block",
this._elCanvas.style.display = "none"
}
function t(e, t) {
var r = this;
if (r._fFail = t,
r._fSuccess = e,
null === r._bSupportDataURI) {
t = document.createElement("img"),
e = function() {
r._bSupportDataURI = !1,
r._fFail && r._fFail.call(r)
}
;
return t.onabort = e,
t.onerror = e,
t.onload = function() {
r._bSupportDataURI = !0,
r._fSuccess && r._fSuccess.call(r)
}
,
void (t.src = "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")
}
!0 === r._bSupportDataURI && r._fSuccess ? r._fSuccess.call(r) : !1 === r._bSupportDataURI && r._fFail && r._fFail.call(r)
}
var c, d;
this._android && this._android <= 2.1 && (c = 1 / window.devicePixelRatio,
d = CanvasRenderingContext2D.prototype.drawImage,
CanvasRenderingContext2D.prototype.drawImage = function(e, t, r, n, a, i, o, _, h) {
if ("nodeName"in e && /img/i.test(e.nodeName))
for (var s = arguments.length - 1; 1 <= s; s--)
arguments[s] = arguments[s] * c;
else
void 0 === _ && (arguments[1] *= c,
arguments[2] *= c,
arguments[3] *= c,
arguments[4] *= c);
d.apply(this, arguments)
}
);
function r(e, t) {
this._bIsPainted = !1,
this._android = n(),
this._htOption = t,
this._elCanvas = document.createElement("canvas"),
this._elCanvas.width = t.width,
this._elCanvas.height = t.height,
e.appendChild(this._elCanvas),
this._el = e,
this._oContext = this._elCanvas.getContext("2d"),
this._bIsPainted = !1,
this._elImage = document.createElement("img"),
this._elImage.alt = "Scan me!",
this._elImage.style.display = "none",
this._el.appendChild(this._elImage),
this._bSupportDataURI = null
}
return r.prototype.draw = function(e) {
var t = this._elImage
, r = this._oContext
, n = this._htOption
, a = e.getModuleCount()
, i = n.width / a
, o = n.height / a
, _ = Math.round(i)
, h = Math.round(o);
t.style.display = "none",
this.clear();
for (var s = 0; s < a; s++)
for (var c = 0; c < a; c++) {
var d = e.isDark(s, c)
, w = c * i
, f = s * o;
r.strokeStyle = d ? n.colorDark : n.colorLight,
r.lineWidth = 1,
r.fillStyle = d ? n.colorDark : n.colorLight,
r.fillRect(w, f, i, o),
r.strokeRect(Math.floor(w) + .5, Math.floor(f) + .5, _, h),
r.strokeRect(Math.ceil(w) - .5, Math.ceil(f) - .5, _, h)
}
this._bIsPainted = !0
}
,
r.prototype.makeImage = function() {
this._bIsPainted && t.call(this, e)
}
,
r.prototype.isPainted = function() {
return this._bIsPainted
}
,
r.prototype.clear = function() {
this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height),
this._bIsPainted = !1
}
,
r.prototype.round = function(e) {
return e && Math.floor(1e3 * e) / 1e3
}
,
r
}() : (A.prototype.draw = function(e) {
for (var t = this._htOption, r = this._el, n = e.getModuleCount(), a = Math.floor(t.width / n), i = Math.floor(t.height / n), o = ['<table style="border:0;border-collapse:collapse;">'], _ = 0; _ < n; _++) {
o.push("<tr>");
for (var h = 0; h < n; h++)
o.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + a + "px;height:" + i + "px;background-color:" + (e.isDark(_, h) ? t.colorDark : t.colorLight) + ';"></td>');
o.push("</tr>")
}
o.push("</table>"),
r.innerHTML = o.join("");
var s = r.childNodes[0]
, c = (t.width - s.offsetWidth) / 2
, r = (t.height - s.offsetHeight) / 2;
0 < c && 0 < r && (s.style.margin = r + "px " + c + "px")
}
,
A.prototype.clear = function() {
this._el.innerHTML = ""
}
,
A);
function A(e, t) {
this._el = e,
this._htOption = t
}
function C(e, t) {
this._el = e,
this._htOption = t
}
(QRCode = function(e, t) {
if (this._htOption = {
width: 256,
height: 256,
typeNumber: 4,
colorDark: "#000000",
colorLight: "#ffffff",
correctLevel: d.H
},
"string" == typeof t && (t = {
text: t
}),
t)
for (var r in t)
this._htOption[r] = t[r];
"string" == typeof e && (e = document.getElementById(e)),
this._htOption.useSVG && (q = b),
this._android = n(),
this._el = e,
this._oQRCode = null,
this._oDrawing = new q(this._el,this._htOption),
this._htOption.text && this.makeCode(this._htOption.text)
}
).prototype.makeCode = function(e) {
this._oQRCode = new h(r(e, this._htOption.correctLevel),this._htOption.correctLevel),
this._oQRCode.addData(e),
this._oQRCode.make(),
this._el.title = e,
this._oDrawing.draw(this._oQRCode),
this.makeImage()
}
,
QRCode.prototype.makeImage = function() {
"function" == typeof this._oDrawing.makeImage && (!this._android || 3 <= this._android) && this._oDrawing.makeImage()
}
,
QRCode.prototype.clear = function() {
this._oDrawing.clear()
}
,
QRCode.CorrectLevel = d
}();
var _aa = {};
function _a1(e, t) {
this.count = e,
this._fc = t,
this.__defineGetter__("Count", function() {
return this.count
}),
this.__defineGetter__("_dm", function() {
return this._fc
})
}
function _a2(e, t, r) {
this._bm = e,
this._do = r ? new Array(t,r) : new Array(t),
this.__defineGetter__("_bo", function() {
return this._bm
}),
this.__defineGetter__("_dn", function() {
return this._bm * this._fo
}),
this.__defineGetter__("_fo", function() {
for (var e = 0, t = 0; t < this._do.length; t++)
e += this._do[t].length;
return e
}),
this._fb = function() {
return this._do
}
}
function _a3(e, t, r, n, a, i) {
this._bs = e,
this._ar = t,
this._do = new Array(r,n,a,i);
for (var o = 0, _ = r._bo, h = r._fb(), s = 0; s < h.length; s++) {
var c = h[s];
o += c.Count * (c._dm + _)
}
this._br = o,
this.__defineGetter__("_fd", function() {
return this._bs
}),
this.__defineGetter__("_as", function() {
return this._ar
}),
this.__defineGetter__("_dp", function() {
return this._br
}),
this.__defineGetter__("_cr", function() {
return 17 + 4 * this._bs
}),
this._aq = function() {
var e = this._cr
, t = new _ac(e);
t._bq(0, 0, 9, 9),
t._bq(e - 8, 0, 8, 9),
t._bq(0, e - 8, 9, 8);
for (var r = this._ar.length, n = 0; n < r; n++)
for (var a = this._ar[n] - 2, i = 0; i < r; i++)
0 == n && (0 == i || i == r - 1) || n == r - 1 && 0 == i || t._bq(this._ar[i] - 2, a, 5, 5);
return t._bq(6, 9, 1, e - 17),
t._bq(9, 6, e - 17, 1),
6 < this._bs && (t._bq(e - 11, 0, 3, 6),
t._bq(0, e - 11, 6, 3)),
t
}
,
this._bu = function(e) {
return this._do[e.ordinal()]
}
}
function _ay() {
return new Array(new _a3(1,new Array,new _a2(7,new _a1(1,19)),new _a2(10,new _a1(1,16)),new _a2(13,new _a1(1,13)),new _a2(17,new _a1(1,9))),new _a3(2,new Array(6,18),new _a2(10,new _a1(1,34)),new _a2(16,new _a1(1,28)),new _a2(22,new _a1(1,22)),new _a2(28,new _a1(1,16))),new _a3(3,new Array(6,22),new _a2(15,new _a1(1,55)),new _a2(26,new _a1(1,44)),new _a2(18,new _a1(2,17)),new _a2(22,new _a1(2,13))),new _a3(4,new Array(6,26),new _a2(20,new _a1(1,80)),new _a2(18,new _a1(2,32)),new _a2(26,new _a1(2,24)),new _a2(16,new _a1(4,9))),new _a3(5,new Array(6,30),new _a2(26,new _a1(1,108)),new _a2(24,new _a1(2,43)),new _a2(18,new _a1(2,15),new _a1(2,16)),new _a2(22,new _a1(2,11),new _a1(2,12))),new _a3(6,new Array(6,34),new _a2(18,new _a1(2,68)),new _a2(16,new _a1(4,27)),new _a2(24,new _a1(4,19)),new _a2(28,new _a1(4,15))),new _a3(7,new Array(6,22,38),new _a2(20,new _a1(2,78)),new _a2(18,new _a1(4,31)),new _a2(18,new _a1(2,14),new _a1(4,15)),new _a2(26,new _a1(4,13),new _a1(1,14))),new _a3(8,new Array(6,24,42),new _a2(24,new _a1(2,97)),new _a2(22,new _a1(2,38),new _a1(2,39)),new _a2(22,new _a1(4,18),new _a1(2,19)),new _a2(26,new _a1(4,14),new _a1(2,15))),new _a3(9,new Array(6,26,46),new _a2(30,new _a1(2,116)),new _a2(22,new _a1(3,36),new _a1(2,37)),new _a2(20,new _a1(4,16),new _a1(4,17)),new _a2(24,new _a1(4,12),new _a1(4,13))),new _a3(10,new Array(6,28,50),new _a2(18,new _a1(2,68),new _a1(2,69)),new _a2(26,new _a1(4,43),new _a1(1,44)),new _a2(24,new _a1(6,19),new _a1(2,20)),new _a2(28,new _a1(6,15),new _a1(2,16))),new _a3(11,new Array(6,30,54),new _a2(20,new _a1(4,81)),new _a2(30,new _a1(1,50),new _a1(4,51)),new _a2(28,new _a1(4,22),new _a1(4,23)),new _a2(24,new _a1(3,12),new _a1(8,13))),new _a3(12,new Array(6,32,58),new _a2(24,new _a1(2,92),new _a1(2,93)),new _a2(22,new _a1(6,36),new _a1(2,37)),new _a2(26,new _a1(4,20),new _a1(6,21)),new _a2(28,new _a1(7,14),new _a1(4,15))),new _a3(13,new Array(6,34,62),new _a2(26,new _a1(4,107)),new _a2(22,new _a1(8,37),new _a1(1,38)),new _a2(24,new _a1(8,20),new _a1(4,21)),new _a2(22,new _a1(12,11),new _a1(4,12))),new _a3(14,new Array(6,26,46,66),new _a2(30,new _a1(3,115),new _a1(1,116)),new _a2(24,new _a1(4,40),new _a1(5,41)),new _a2(20,new _a1(11,16),new _a1(5,17)),new _a2(24,new _a1(11,12),new _a1(5,13))),new _a3(15,new Array(6,26,48,70),new _a2(22,new _a1(5,87),new _a1(1,88)),new _a2(24,new _a1(5,41),new _a1(5,42)),new _a2(30,new _a1(5,24),new _a1(7,25)),new _a2(24,new _a1(11,12),new _a1(7,13))),new _a3(16,new Array(6,26,50,74),new _a2(24,new _a1(5,98),new _a1(1,99)),new _a2(28,new _a1(7,45),new _a1(3,46)),new _a2(24,new _a1(15,19),new _a1(2,20)),new _a2(30,new _a1(3,15),new _a1(13,16))),new _a3(17,new Array(6,30,54,78),new _a2(28,new _a1(1,107),new _a1(5,108)),new _a2(28,new _a1(10,46),new _a1(1,47)),new _a2(28,new _a1(1,22),new _a1(15,23)),new _a2(28,new _a1(2,14),new _a1(17,15))),new _a3(18,new Array(6,30,56,82),new _a2(30,new _a1(5,120),new _a1(1,121)),new _a2(26,new _a1(9,43),new _a1(4,44)),new _a2(28,new _a1(17,22),new _a1(1,23)),new _a2(28,new _a1(2,14),new _a1(19,15))),new _a3(19,new Array(6,30,58,86),new _a2(28,new _a1(3,113),new _a1(4,114)),new _a2(26,new _a1(3,44),new _a1(11,45)),new _a2(26,new _a1(17,21),new _a1(4,22)),new _a2(26,new _a1(9,13),new _a1(16,14))),new _a3(20,new Array(6,34,62,90),new _a2(28,new _a1(3,107),new _a1(5,108)),new _a2(26,new _a1(3,41),new _a1(13,42)),new _a2(30,new _a1(15,24),new _a1(5,25)),new _a2(28,new _a1(15,15),new _a1(10,16))),new _a3(21,new Array(6,28,50,72,94),new _a2(28,new _a1(4,116),new _a1(4,117)),new _a2(26,new _a1(17,42)),new _a2(28,new _a1(17,22),new _a1(6,23)),new _a2(30,new _a1(19,16),new _a1(6,17))),new _a3(22,new Array(6,26,50,74,98),new _a2(28,new _a1(2,111),new _a1(7,112)),new _a2(28,new _a1(17,46)),new _a2(30,new _a1(7,24),new _a1(16,25)),new _a2(24,new _a1(34,13))),new _a3(23,new Array(6,30,54,78,102),new _a2(30,new _a1(4,121),new _a1(5,122)),new _a2(28,new _a1(4,47),new _a1(14,48)),new _a2(30,new _a1(11,24),new _a1(14,25)),new _a2(30,new _a1(16,15),new _a1(14,16))),new _a3(24,new Array(6,28,54,80,106),new _a2(30,new _a1(6,117),new _a1(4,118)),new _a2(28,new _a1(6,45),new _a1(14,46)),new _a2(30,new _a1(11,24),new _a1(16,25)),new _a2(30,new _a1(30,16),new _a1(2,17))),new _a3(25,new Array(6,32,58,84,110),new _a2(26,new _a1(8,106),new _a1(4,107)),new _a2(28,new _a1(8,47),new _a1(13,48)),new _a2(30,new _a1(7,24),new _a1(22,25)),new _a2(30,new _a1(22,15),new _a1(13,16))),new _a3(26,new Array(6,30,58,86,114),new _a2(28,new _a1(10,114),new _a1(2,115)),new _a2(28,new _a1(19,46),new _a1(4,47)),new _a2(28,new _a1(28,22),new _a1(6,23)),new _a2(30,new _a1(33,16),new _a1(4,17))),new _a3(27,new Array(6,34,62,90,118),new _a2(30,new _a1(8,122),new _a1(4,123)),new _a2(28,new _a1(22,45),new _a1(3,46)),new _a2(30,new _a1(8,23),new _a1(26,24)),new _a2(30,new _a1(12,15),new _a1(28,16))),new _a3(28,new Array(6,26,50,74,98,122),new _a2(30,new _a1(3,117),new _a1(10,118)),new _a2(28,new _a1(3,45),new _a1(23,46)),new _a2(30,new _a1(4,24),new _a1(31,25)),new _a2(30,new _a1(11,15),new _a1(31,16))),new _a3(29,new Array(6,30,54,78,102,126),new _a2(30,new _a1(7,116),new _a1(7,117)),new _a2(28,new _a1(21,45),new _a1(7,46)),new _a2(30,new _a1(1,23),new _a1(37,24)),new _a2(30,new _a1(19,15),new _a1(26,16))),new _a3(30,new Array(6,26,52,78,104,130),new _a2(30,new _a1(5,115),new _a1(10,116)),new _a2(28,new _a1(19,47),new _a1(10,48)),new _a2(30,new _a1(15,24),new _a1(25,25)),new _a2(30,new _a1(23,15),new _a1(25,16))),new _a3(31,new Array(6,30,56,82,108,134),new _a2(30,new _a1(13,115),new _a1(3,116)),new _a2(28,new _a1(2,46),new _a1(29,47)),new _a2(30,new _a1(42,24),new _a1(1,25)),new _a2(30,new _a1(23,15),new _a1(28,16))),new _a3(32,new Array(6,34,60,86,112,138),new _a2(30,new _a1(17,115)),new _a2(28,new _a1(10,46),new _a1(23,47)),new _a2(30,new _a1(10,24),new _a1(35,25)),new _a2(30,new _a1(19,15),new _a1(35,16))),new _a3(33,new Array(6,30,58,86,114,142),new _a2(30,new _a1(17,115),new _a1(1,116)),new _a2(28,new _a1(14,46),new _a1(21,47)),new _a2(30,new _a1(29,24),new _a1(19,25)),new _a2(30,new _a1(11,15),new _a1(46,16))),new _a3(34,new Array(6,34,62,90,118,146),new _a2(30,new _a1(13,115),new _a1(6,116)),new _a2(28,new _a1(14,46),new _a1(23,47)),new _a2(30,new _a1(44,24),new _a1(7,25)),new _a2(30,new _a1(59,16),new _a1(1,17))),new _a3(35,new Array(6,30,54,78,102,126,150),new _a2(30,new _a1(12,121),new _a1(7,122)),new _a2(28,new _a1(12,47),new _a1(26,48)),new _a2(30,new _a1(39,24),new _a1(14,25)),new _a2(30,new _a1(22,15),new _a1(41,16))),new _a3(36,new Array(6,24,50,76,102,128,154),new _a2(30,new _a1(6,121),new _a1(14,122)),new _a2(28,new _a1(6,47),new _a1(34,48)),new _a2(30,new _a1(46,24),new _a1(10,25)),new _a2(30,new _a1(2,15),new _a1(64,16))),new _a3(37,new Array(6,28,54,80,106,132,158),new _a2(30,new _a1(17,122),new _a1(4,123)),new _a2(28,new _a1(29,46),new _a1(14,47)),new _a2(30,new _a1(49,24),new _a1(10,25)),new _a2(30,new _a1(24,15),new _a1(46,16))),new _a3(38,new Array(6,32,58,84,110,136,162),new _a2(30,new _a1(4,122),new _a1(18,123)),new _a2(28,new _a1(13,46),new _a1(32,47)),new _a2(30,new _a1(48,24),new _a1(14,25)),new _a2(30,new _a1(42,15),new _a1(32,16))),new _a3(39,new Array(6,26,54,82,110,138,166),new _a2(30,new _a1(20,117),new _a1(4,118)),new _a2(28,new _a1(40,47),new _a1(7,48)),new _a2(30,new _a1(43,24),new _a1(22,25)),new _a2(30,new _a1(10,15),new _a1(67,16))),new _a3(40,new Array(6,30,58,86,114,142,170),new _a2(30,new _a1(19,118),new _a1(6,119)),new _a2(28,new _a1(18,47),new _a1(31,48)),new _a2(30,new _a1(34,24),new _a1(34,25)),new _a2(30,new _a1(20,15),new _a1(61,16))))
}
function _ae(e, t, r, n, a, i, o, _, h) {
this.a11 = e,
this.a12 = n,
this.a13 = o,
this.a21 = t,
this.a22 = a,
this.a23 = _,
this.a31 = r,
this.a32 = i,
this.a33 = h,
this._ad = function(e) {
for (var t = e.length, r = this.a11, n = this.a12, a = this.a13, i = this.a21, o = this.a22, _ = this.a23, h = this.a31, s = this.a32, c = this.a33, d = 0; d < t; d += 2) {
var w = e[d]
, f = e[d + 1]
, u = a * w + _ * f + c;
e[d] = (r * w + i * f + h) / u,
e[d + 1] = (n * w + o * f + s) / u
}
}
,
this._fp = function(e, t) {
for (var r = e.length, n = 0; n < r; n++) {
var a = e[n]
, i = t[n]
, o = this.a13 * a + this.a23 * i + this.a33;
e[n] = (this.a11 * a + this.a21 * i + this.a31) / o,
t[n] = (this.a12 * a + this.a22 * i + this.a32) / o
}
}
,
this._fr = function() {
return new _ae(this.a22 * this.a33 - this.a23 * this.a32,this.a23 * this.a31 - this.a21 * this.a33,this.a21 * this.a32 - this.a22 * this.a31,this.a13 * this.a32 - this.a12 * this.a33,this.a11 * this.a33 - this.a13 * this.a31,this.a12 * this.a31 - this.a11 * this.a32,this.a12 * this.a23 - this.a13 * this.a22,this.a13 * this.a21 - this.a11 * this.a23,this.a11 * this.a22 - this.a12 * this.a21)
}
,
this.times = function(e) {
return new _ae(this.a11 * e.a11 + this.a21 * e.a12 + this.a31 * e.a13,this.a11 * e.a21 + this.a21 * e.a22 + this.a31 * e.a23,this.a11 * e.a31 + this.a21 * e.a32 + this.a31 * e.a33,this.a12 * e.a11 + this.a22 * e.a12 + this.a32 * e.a13,this.a12 * e.a21 + this.a22 * e.a22 + this.a32 * e.a23,this.a12 * e.a31 + this.a22 * e.a32 + this.a32 * e.a33,this.a13 * e.a11 + this.a23 * e.a12 + this.a33 * e.a13,this.a13 * e.a21 + this.a23 * e.a22 + this.a33 * e.a23,this.a13 * e.a31 + this.a23 * e.a32 + this.a33 * e.a33)
}
}
function _bg(e, t) {
this.bits = e,
this.points = t
}
function Detector(e) {
this.image = e,
this._am = null,
this._bi = function(e, t, r, n) {
var a = Math.abs(n - t) > Math.abs(r - e);
a && (g = e,
e = t,
t = g,
g = r,
r = n,
n = g);
for (var i = Math.abs(r - e), o = Math.abs(n - t), _ = -i >> 1, h = t < n ? 1 : -1, s = e < r ? 1 : -1, c = 0, d = e, w = t; d != r; d += s) {
var f = a ? w : d
, u = a ? d : w;
if (1 == c ? this.image[f + u * qrcode.width] && c++ : this.image[f + u * qrcode.width] || c++,
3 == c) {
f = d - e,
u = w - t;
return Math.sqrt(f * f + u * u)
}
if (0 < (_ += o)) {
if (w == n)
break;
w += h,
_ -= i
}
}
var l = r - e
, g = n - t;
return Math.sqrt(l * l + g * g)
}
,
this._bh = function(e, t, r, n) {
var a = this._bi(e, t, r, n)
, i = 1
, r = e - (r - e);
r < 0 ? (i = e / (e - r),
r = 0) : r >= qrcode.width && (i = (qrcode.width - 1 - e) / (r - e),
r = qrcode.width - 1);
n = Math.floor(t - (n - t) * i),
i = 1;
return n < 0 ? (i = t / (t - n),
n = 0) : n >= qrcode.height && (i = (qrcode.height - 1 - t) / (n - t),
n = qrcode.height - 1),
r = Math.floor(e + (r - e) * i),
(a += this._bi(e, t, r, n)) - 1
}
,
this._bj = function(e, t) {
var r = this._bh(Math.floor(e.X), Math.floor(e.Y), Math.floor(t.X), Math.floor(t.Y))
, e = this._bh(Math.floor(t.X), Math.floor(t.Y), Math.floor(e.X), Math.floor(e.Y));
return isNaN(r) ? e / 7 : isNaN(e) ? r / 7 : (r + e) / 14
}
,
this._bk = function(e, t, r) {
return (this._bj(e, t) + this._bj(e, r)) / 2
}
,
this.distance = function(e, t) {
var r = e.X - t.X
, t = e.Y - t.Y;
return Math.sqrt(r * r + t * t)
}
,
this._bx = function(e, t, r, n) {
var a = 7 + (Math.round(this.distance(e, t) / n) + Math.round(this.distance(e, r) / n) >> 1);
switch (3 & a) {
case 0:
a++;
break;
case 2:
a--;
break;
case 3:
throw "Error"
}
return a
}
,
this._bl = function(e, t, r, n) {
var a = Math.floor(n * e)
, i = Math.max(0, t - a)
, n = Math.min(qrcode.width - 1, t + a);
if (n - i < 3 * e)
throw "Error";
t = Math.max(0, r - a),
a = Math.min(qrcode.height - 1, r + a);
return new _ak(this.image,i,t,n - i,a - t,e,this._am).find()
}
,
this.createTransform = function(e, t, r, n, a) {
var i, o, _ = a - 3.5, n = a = null != n ? (i = n.X,
o = n.Y,
_ - 3) : (i = t.X - e.X + r.X,
o = t.Y - e.Y + r.Y,
_);
return _ae._ag(3.5, 3.5, _, 3.5, n, a, 3.5, _, e.X, e.Y, t.X, t.Y, i, o, r.X, r.Y)
}
,
this._bz = function(e, t, r) {
return _aa._af(e, r, t)
}
,
this._cd = function(e) {
var t = e._gq
, r = e._gs
, n = e._gp
, a = this._bk(t, r, n);
if (a < 1)
throw "Error";
var i = this._bx(t, r, n, a)
, o = _a3._at(i)
, e = o._cr - 7
, _ = null;
if (0 < o._as.length)
for (var o = r.X - t.X + n.X, h = r.Y - t.Y + n.Y, e = 1 - 3 / e, s = Math.floor(t.X + e * (o - t.X)), c = Math.floor(t.Y + e * (h - t.Y)), d = 4; d <= 16; d <<= 1) {
_ = this._bl(a, s, c, d);
break
}
h = this.createTransform(t, r, n, _, i),
i = this._bz(this.image, h, i),
r = null == _ ? new Array(n,t,r) : new Array(n,t,r,_);
return new _bg(i,r)
}
,
this.detect = function() {
var e = (new _cc)._ce(this.image);
return this._cd(e)
}
}
_aa._ab = function(e, t) {
for (var r = qrcode.width, n = qrcode.height, a = !0, i = 0; i < t.length && a; i += 2) {
var o = Math.floor(t[i])
, _ = Math.floor(t[i + 1]);
if (o < -1 || r < o || _ < -1 || n < _)
throw "Error._ab ";
a = !1,
-1 == o ? a = !(t[i] = 0) : o == r && (t[i] = r - 1,
a = !0),
-1 == _ ? a = !(t[i + 1] = 0) : _ == n && (t[i + 1] = n - 1,
a = !0)
}
a = !0;
for (i = t.length - 2; 0 <= i && a; i -= 2) {
o = Math.floor(t[i]),
_ = Math.floor(t[i + 1]);
if (o < -1 || r < o || _ < -1 || n < _)
throw "Error._ab ";
a = !1,
-1 == o ? a = !(t[i] = 0) : o == r && (t[i] = r - 1,
a = !0),
-1 == _ ? a = !(t[i + 1] = 0) : _ == n && (t[i + 1] = n - 1,
a = !0)
}
}
,
_aa._af = function(e, t, r) {
for (var n = new _ac(t), a = new Array(t << 1), i = 0; i < t; i++) {
for (var o = a.length, _ = i + .5, h = 0; h < o; h += 2)
a[h] = .5 + (h >> 1),
a[h + 1] = _;
r._ad(a),
_aa._ab(e, a);
try {
for (h = 0; h < o; h += 2)
e[Math.floor(a[h]) + qrcode.width * Math.floor(a[h + 1])] && n._dq(h >> 1, i)
} catch (e) {
throw "Error._ab"
}
}
return n
}
,
_aa._ah = function(e, t, r, n, a, i, o, _, h, s, c, d, w, f, u, l, g, v) {
v = _ae._ag(r, n, a, i, o, _, h, s, c, d, w, f, u, l, g, v);
return _aa._af(e, t, v)
}
,
_a3._bv = new Array(31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017),
_a3.VERSIONS = _ay(),
_a3._av = function(e) {
if (e < 1 || 40 < e)
throw "bad arguments";
return _a3.VERSIONS[e - 1]
}
,
_a3._at = function(e) {
if (e % 4 != 1)
throw "Error _at";
try {
return _a3._av(e - 17 >> 2)
} catch (e) {
throw "Error _av"
}
}
,
_a3._aw = function(e) {
for (var t = 4294967295, r = 0, n = 0; n < _a3._bv.length; n++) {
var a = _a3._bv[n];
if (a == e)
return this._av(n + 7);
a = _ax._gj(e, a);
a < t && (r = n + 7,
t = a)
}
return t <= 3 ? this._av(r) : null
}
,
_ae._ag = function(e, t, r, n, a, i, o, _, h, s, c, d, w, f, u, l) {
_ = this._be(e, t, r, n, a, i, o, _);
return this._bf(h, s, c, d, w, f, u, l).times(_)
}
,
_ae._bf = function(e, t, r, n, a, i, o, _) {
var h = _ - i
, s = t - n + i - _;
if (0 == h && 0 == s)
return new _ae(r - e,a - r,e,n - t,i - n,t,0,0,1);
var c = r - a
, d = o - a
, w = e - r + a - o
, a = n - i
, i = c * h - d * a
, d = (w * h - d * s) / i
, i = (c * s - w * a) / i;
return new _ae(r - e + d * r,o - e + i * o,e,n - t + d * n,_ - t + i * _,t,d,i,1)
}
,
_ae._be = function(e, t, r, n, a, i, o, _) {
return this._bf(e, t, r, n, a, i, o, _)._fr()
}
;
var _ca = 21522
, _cb = new Array(new Array(21522,0),new Array(20773,1),new Array(24188,2),new Array(23371,3),new Array(17913,4),new Array(16590,5),new Array(20375,6),new Array(19104,7),new Array(30660,8),new Array(29427,9),new Array(32170,10),new Array(30877,11),new Array(26159,12),new Array(25368,13),new Array(27713,14),new Array(26998,15),new Array(5769,16),new Array(5054,17),new Array(7399,18),new Array(6608,19),new Array(1890,20),new Array(597,21),new Array(3340,22),new Array(2107,23),new Array(13663,24),new Array(12392,25),new Array(16177,26),new Array(14854,27),new Array(9396,28),new Array(8579,29),new Array(11994,30),new Array(11245,31))
, _ch = new Array(0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4);
function _ax(e) {
this._cf = _cg.forBits(e >> 3 & 3),
this._fe = 7 & e,
this.__defineGetter__("_cg", function() {
return this._cf
}),
this.__defineGetter__("_dx", function() {
return this._fe
}),
this.GetHashCode = function() {
return this._cf.ordinal() << 3 | this._fe
}
,
this.Equals = function(e) {
return this._cf == e._cf && this._fe == e._fe
}
}
function _cg(e, t, r) {
this._ff = e,
this.bits = t,
this.name = r,
this.__defineGetter__("Bits", function() {
return this.bits
}),
this.__defineGetter__("Name", function() {
return this.name
}),
this.ordinal = function() {
return this._ff
}
}
_ax._gj = function(e, t) {
return _ch[15 & (e ^= t)] + _ch[15 & _ew(e, 4)] + _ch[15 & _ew(e, 8)] + _ch[15 & _ew(e, 12)] + _ch[15 & _ew(e, 16)] + _ch[15 & _ew(e, 20)] + _ch[15 & _ew(e, 24)] + _ch[15 & _ew(e, 28)]
}
,
_ax._ci = function(e) {
var t = _ax._cj(e);
return null != t ? t : _ax._cj(e ^ _ca)
}
,
_ax._cj = function(e) {
for (var t = 4294967295, r = 0, n = 0; n < _cb.length; n++) {
var a = _cb[n]
, i = a[0];
if (i == e)
return new _ax(a[1]);
i = this._gj(e, i);
i < t && (r = a[1],
t = i)
}
return t <= 3 ? new _ax(r) : null
}
,
_cg.forBits = function(e) {
if (e < 0 || e >= FOR_BITS.length)
throw "bad arguments";
return FOR_BITS[e]
}
;
var L = new _cg(0,1,"L")
, M = new _cg(1,0,"M")
, Q = new _cg(2,3,"Q")
, H = new _cg(3,2,"H")
, FOR_BITS = new Array(M,L,H,Q);
function _ac(e, t) {
if (t = t || e,
e < 1 || t < 1)
throw "Both dimensions must be greater than 0";
this.width = e,
this.height = t;
var r = e >> 5;
0 != (31 & e) && r++,
this.rowSize = r,
this.bits = new Array(r * t);
for (var n = 0; n < this.bits.length; n++)
this.bits[n] = 0;
this.__defineGetter__("Width", function() {
return this.width
}),
this.__defineGetter__("Height", function() {
return this.height
}),
this.__defineGetter__("Dimension", function() {
if (this.width != this.height)
throw "Can't call getDimension() on a non-square matrix";
return this.width
}),
this._ds = function(e, t) {
t = t * this.rowSize + (e >> 5);
return 0 != (1 & _ew(this.bits[t], 31 & e))
}
,
this._dq = function(e, t) {
t = t * this.rowSize + (e >> 5);
this.bits[t] |= 1 << (31 & e)
}
,
this.flip = function(e, t) {
t = t * this.rowSize + (e >> 5);
this.bits[t] ^= 1 << (31 & e)
}
,
this.clear = function() {
for (var e = this.bits.length, t = 0; t < e; t++)
this.bits[t] = 0
}
,
this._bq = function(e, t, r, n) {
if (t < 0 || e < 0)
throw "Left and top must be nonnegative";
if (n < 1 || r < 1)
throw "Height and width must be at least 1";
var a = e + r
, i = t + n;
if (i > this.height || a > this.width)
throw "The region must fit inside the matrix";
for (var o = t; o < i; o++)
for (var _ = o * this.rowSize, h = e; h < a; h++)
this.bits[_ + (h >> 5)] |= 1 << (31 & h)
}
}
function _dl(e, t) {
this._dv = e,
this._dw = t,
this.__defineGetter__("_du", function() {
return this._dv
}),
this.__defineGetter__("Codewords", function() {
return this._dw
})
}
function _cl(e) {
var t = e.Dimension;
if (t < 21 || 1 != (3 & t))
throw "Error _cl";
this._au = e,
this._cp = null,
this._co = null,
this._dk = function(e, t, r) {
return this._au._ds(e, t) ? r << 1 | 1 : r << 1
}
,
this._cm = function() {
if (null != this._co)
return this._co;
for (var e = 0, t = 0; t < 6; t++)
e = this._dk(t, 8, e);
e = this._dk(7, 8, e),
e = this._dk(8, 8, e),
e = this._dk(8, 7, e);
for (var r = 5; 0 <= r; r--)
e = this._dk(8, r, e);
if (this._co = _ax._ci(e),
null != this._co)
return this._co;
for (var n = this._au.Dimension, e = 0, a = n - 8, t = n - 1; a <= t; t--)
e = this._dk(t, 8, e);
for (r = n - 7; r < n; r++)
e = this._dk(8, r, e);
if (this._co = _ax._ci(e),
null != this._co)
return this._co;
throw "Error _cm"
}
,
this._cq = function() {
if (null != this._cp)
return this._cp;
var e = this._au.Dimension
, t = e - 17 >> 2;
if (t <= 6)
return _a3._av(t);
for (var r = 0, n = e - 11, a = 5; 0 <= a; a--)
for (var i = e - 9; n <= i; i--)
r = this._dk(i, a, r);
if (this._cp = _a3._aw(r),
null != this._cp && this._cp._cr == e)
return this._cp;
r = 0;
for (i = 5; 0 <= i; i--)
for (a = e - 9; n <= a; a--)
r = this._dk(i, a, r);
if (this._cp = _a3._aw(r),
null != this._cp && this._cp._cr == e)
return this._cp;
throw "Error _cq"
}
,
this._gk = function() {
var e = this._cm()
, t = this._cq()
, e = _dx._gl(e._dx)
, r = this._au.Dimension;
e._dj(this._au, r);
for (var n = t._aq(), a = !0, i = new Array(t._dp), o = 0, _ = 0, h = 0, s = r - 1; 0 < s; s -= 2) {
6 == s && s--;
for (var c = 0; c < r; c++)
for (var d = a ? r - 1 - c : c, w = 0; w < 2; w++)
n._ds(s - w, d) || (h++,
_ <<= 1,
this._au._ds(s - w, d) && (_ |= 1),
8 == h && (i[o++] = _,
_ = h = 0));
a ^= !0
}
if (o != t._dp)
throw "Error _gk";
return i
}
}
_dl._gn = function(e, t, r) {
if (e.length != t._dp)
throw "bad arguments";
for (var n = t._bu(r), a = 0, i = n._fb(), o = 0; o < i.length; o++)
a += i[o].Count;
for (var _ = new Array(a), h = 0, s = 0; s < i.length; s++)
for (var c = i[s], o = 0; o < c.Count; o++) {
var d = c._dm
, w = n._bo + d;
_[h++] = new _dl(d,new Array(w))
}
for (var f = _[0]._dw.length, u = _.length - 1; 0 <= u; ) {
if (_[u]._dw.length == f)
break;
u--
}
u++;
for (var l = f - n._bo, g = 0, o = 0; o < l; o++)
for (s = 0; s < h; s++)
_[s]._dw[o] = e[g++];
for (s = u; s < h; s++)
_[s]._dw[l] = e[g++];
for (var v = _[0]._dw.length, o = l; o < v; o++)
for (s = 0; s < h; s++) {
var m = s < u ? o : o + 1;
_[s]._dw[m] = e[g++]
}
return _
}
;
var _dx = {};
function _fg() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
return 0 == (e + t & 1)
}
}
function _fh() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
return 0 == (1 & e)
}
}
function _fi() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
return t % 3 == 0
}
}
function _fj() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
return (e + t) % 3 == 0
}
}
function _fk() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
return 0 == (_ew(e, 1) + t / 3 & 1)
}
}
function _fl() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
t *= e;
return (1 & t) + t % 3 == 0
}
}
function _fm() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
t *= e;
return 0 == ((1 & t) + t % 3 & 1)
}
}
function _fn() {
this._dj = function(e, t) {
for (var r = 0; r < t; r++)
for (var n = 0; n < t; n++)
this._fw(r, n) && e.flip(n, r)
}
,
this._fw = function(e, t) {
return 0 == ((e + t & 1) + e * t % 3 & 1)
}
}
function _db(e) {
this._fa = e,
this.decode = function(e, t) {
for (var r = new _bp(this._fa,e), n = new Array(t), a = 0; a < n.length; a++)
n[a] = 0;
for (var i = !0, a = 0; a < t; a++) {
var o = r.evaluateAt(this._fa.exp(a));
0 != (n[n.length - 1 - a] = o) && (i = !1)
}
if (!i)
for (var _ = new _bp(this._fa,n), h = this._eb(this._fa._ba(t, 1), _, t), _ = h[0], h = h[1], s = this._ey(_), c = this._di(h, s, !1), a = 0; a < s.length; a++) {
var d = e.length - 1 - this._fa.log(s[a]);
if (d < 0)
throw "ReedSolomonException Bad error location";
e[d] = _az._bd(e[d], c[a])
}
}
,
this._eb = function(e, t, r) {
var n;
e._ec < t._ec && (n = e,
e = t,
t = n);
for (var a = e, i = t, o = this._fa.One, _ = this._fa.Zero, h = this._fa.Zero, s = this._fa.One; i._ec >= Math.floor(r / 2); ) {
var c = a
, d = o
, w = h
, o = _
, h = s;
if ((a = i).Zero)
throw "r_{i-1} was zero";
i = c;
for (var f = this._fa.Zero, c = a._ex(a._ec), u = this._fa.inverse(c); i._ec >= a._ec && !i.Zero; )
var l = i._ec - a._ec
, g = this._fa.multiply(i._ex(i._ec), u)
, f = f._bd(this._fa._ba(l, g))
, i = i._bd(a._dc(l, g));
_ = f.multiply1(o)._bd(d),
s = f.multiply1(h)._bd(w)
}
e = s._ex(0);
if (0 == e)
throw "ReedSolomonException sigmaTilde(0) was zero";
t = this._fa.inverse(e),
e = s.multiply2(t),
t = i.multiply2(t);
return new Array(e,t)
}
,
this._ey = function(e) {
var t = e._ec;
if (1 == t)
return new Array(e._ex(1));
for (var r = new Array(t), n = 0, a = 1; a < 256 && n < t; a++)
0 == e.evaluateAt(a) && (r[n] = this._fa.inverse(a),
n++);
if (n != t)
throw "Error locator degree does not match number of roots";
return r
}
,
this._di = function(e, t, r) {
for (var n = t.length, a = new Array(n), i = 0; i < n; i++) {
for (var o = this._fa.inverse(t[i]), _ = 1, h = 0; h < n; h++)
i != h && (_ = this._fa.multiply(_, _az._bd(1, this._fa.multiply(t[h], o))));
a[i] = this._fa.multiply(e.evaluateAt(o), this._fa.inverse(_)),
r && (a[i] = this._fa.multiply(a[i], o))
}
return a
}
}
function _bp(_, e) {
if (null == e || 0 == e.length)
throw "bad arguments";
this._fa = _;
var t = e.length;
if (1 < t && 0 == e[0]) {
for (var r = 1; r < t && 0 == e[r]; )
r++;
if (r == t)
this._dd = _.Zero._dd;
else {
this._dd = new Array(t - r);
for (var n = 0; n < this._dd.length; n++)
this._dd[n] = 0;
for (var a = 0; a < this._dd.length; a++)
this._dd[a] = e[r + a]
}
} else
this._dd = e;
this.__defineGetter__("Zero", function() {
return 0 == this._dd[0]
}),
this.__defineGetter__("_ec", function() {
return this._dd.length - 1
}),
this.__defineGetter__("Coefficients", function() {
return this._dd
}),
this._ex = function(e) {
return this._dd[this._dd.length - 1 - e]
}
,
this.evaluateAt = function(e) {
if (0 == e)
return this._ex(0);
var t = this._dd.length;
if (1 == e) {
for (var r = 0, n = 0; n < t; n++)
r = _az._bd(r, this._dd[n]);
return r
}
for (var a = this._dd[0], n = 1; n < t; n++)
a = _az._bd(this._fa.multiply(e, a), this._dd[n]);
return a
}
,
this._bd = function(e) {
if (this._fa != e._fa)
throw "GF256Polys do not have same _az _fa";
if (this.Zero)
return e;
if (e.Zero)
return this;
var t = this._dd
, r = e._dd;
t.length > r.length && (e = t,
t = r,
r = e);
for (var n = new Array(r.length), a = r.length - t.length, i = 0; i < a; i++)
n[i] = r[i];
for (var o = a; o < r.length; o++)
n[o] = _az._bd(t[o - a], r[o]);
return new _bp(_,n)
}
,
this.multiply1 = function(e) {
if (this._fa != e._fa)
throw "GF256Polys do not have same _az _fa";
if (this.Zero || e.Zero)
return this._fa.Zero;
for (var t = this._dd, r = t.length, n = e._dd, a = n.length, i = new Array(r + a - 1), o = 0; o < r; o++)
for (var _ = t[o], h = 0; h < a; h++)
i[o + h] = _az._bd(i[o + h], this._fa.multiply(_, n[h]));
return new _bp(this._fa,i)
}
,
this.multiply2 = function(e) {
if (0 == e)
return this._fa.Zero;
if (1 == e)
return this;
for (var t = this._dd.length, r = new Array(t), n = 0; n < t; n++)
r[n] = this._fa.multiply(this._dd[n], e);
return new _bp(this._fa,r)
}
,
this._dc = function(e, t) {
if (e < 0)
throw "bad arguments";
if (0 == t)
return this._fa.Zero;
for (var r = this._dd.length, n = new Array(r + e), a = 0; a < n.length; a++)
n[a] = 0;
for (a = 0; a < r; a++)
n[a] = this._fa.multiply(this._dd[a], t);
return new _bp(this._fa,n)
}
,
this.divide = function(e) {
if (this._fa != e._fa)
throw "GF256Polys do not have same _az _fa";
if (e.Zero)
throw "Divide by 0";
for (var t = this._fa.Zero, r = this, n = e._ex(e._ec), a = this._fa.inverse(n); r._ec >= e._ec && !r.Zero; )
var i = r._ec - e._ec
, o = this._fa.multiply(r._ex(r._ec), a)
, _ = e._dc(i, o)
, o = this._fa._ba(i, o)
, t = t._bd(o)
, r = r._bd(_);
return new Array(t,r)
}
}
function _az(e) {
this._gh = new Array(256),
this._gi = new Array(256);
for (var t = 1, r = 0; r < 256; r++)
this._gh[r] = t,
256 <= (t <<= 1) && (t ^= e);
for (r = 0; r < 255; r++)
this._gi[this._gh[r]] = r;
var n = new Array(1);
n[0] = 0,
this.zero = new _bp(this,new Array(n));
n = new Array(1);
n[0] = 1,
this.one = new _bp(this,new Array(n)),
this.__defineGetter__("Zero", function() {
return this.zero
}),
this.__defineGetter__("One", function() {
return this.one
}),
this._ba = function(e, t) {
if (e < 0)
throw "bad arguments";
if (0 == t)
return this.zero;
for (var r = new Array(e + 1), n = 0; n < r.length; n++)
r[n] = 0;
return r[0] = t,
new _bp(this,r)
}
,
this.exp = function(e) {
return this._gh[e]
}
,
this.log = function(e) {
if (0 == e)
throw "bad arguments";
return this._gi[e]
}
,
this.inverse = function(e) {
if (0 == e)
throw "System.ArithmeticException";
return this._gh[255 - this._gi[e]]
}
,
this.multiply = function(e, t) {
return 0 == e || 0 == t ? 0 : 1 == e ? t : 1 == t ? e : this._gh[(this._gi[e] + this._gi[t]) % 255]
}
}
_dx._gl = function(e) {
if (e < 0 || 7 < e)
throw "bad arguments";
return _dx._dy[e]
}
,
_dx._dy = new Array(new _fg,new _fh,new _fi,new _fj,new _fk,new _fl,new _fm,new _fn),
_az._bb = new _az(285),
_az._bc = new _az(301),
_az._bd = function(e, t) {
return e ^ t
}
;
var Decoder = {};
Decoder.rsDecoder = new _db(_az._bb),
Decoder.correctErrors = function(e, t) {
for (var r = e.length, n = new Array(r), a = 0; a < r; a++)
n[a] = 255 & e[a];
var i = e.length - t;
try {
Decoder.rsDecoder.decode(n, i)
} catch (e) {
throw e
}
for (a = 0; a < t; a++)
e[a] = n[a]
}
,
Decoder.decode = function(e) {
for (var t = new _cl(e), r = t._cq(), e = t._cm()._cg, t = t._gk(), n = _dl._gn(t, r, e), a = 0, i = 0; i < n.length; i++)
a += n[i]._du;
for (var o = new Array(a), _ = 0, h = 0; h < n.length; h++) {
var s = n[h]
, c = s.Codewords
, d = s._du;
Decoder.correctErrors(c, d);
for (i = 0; i < d; i++)
o[_++] = c[i]
}
return new QRCodeDataBlockReader(o,r._fd,e.Bits)
}
;
var qrcode = {};
function _ew(e, t) {
return 0 <= e ? e >> t : (e >> t) + (2 << ~t)
}
qrcode.imagedata = null,
qrcode.width = 0,
qrcode.height = 0,
qrcode.qrCodeSymbol = null,
qrcode.debug = !1,
qrcode.maxImgSize = 1048576,
qrcode._eo = [[10, 9, 8, 8], [12, 11, 16, 10], [14, 13, 16, 12]],
qrcode.callback = null,
qrcode.vidSuccess = function(e) {
qrcode.localstream = e,
qrcode.webkit ? qrcode.video.src = window.webkitURL.createObjectURL(e) : qrcode.moz ? (qrcode.video.mozSrcObject = e,
qrcode.video.play()) : qrcode.video.src = e,
qrcode.gUM = !0,
qrcode.canvas_qr2 = document.createElement("canvas"),
qrcode.canvas_qr2.id = "qr-canvas",
qrcode.qrcontext2 = qrcode.canvas_qr2.getContext("2d"),
qrcode.canvas_qr2.width = qrcode.video.videoWidth,
qrcode.canvas_qr2.height = qrcode.video.videoHeight,
setTimeout(qrcode.captureToCanvas, 500)
}
,
qrcode.vidError = function(e) {
qrcode.gUM = !1
}
,
qrcode.captureToCanvas = function() {
if (qrcode.gUM)
try {
if (0 == qrcode.video.videoWidth)
return void setTimeout(qrcode.captureToCanvas, 500);
qrcode.canvas_qr2.width = qrcode.video.videoWidth,
qrcode.canvas_qr2.height = qrcode.video.videoHeight,
qrcode.qrcontext2.drawImage(qrcode.video, 0, 0);
try {
qrcode.decode()
} catch (e) {
console.log(e),
setTimeout(qrcode.captureToCanvas, 500)
}
} catch (e) {
console.log(e),
setTimeout(qrcode.captureToCanvas, 500)
}
}
,
qrcode.setWebcam = function(e) {
var t = navigator;
qrcode.video = document.getElementById(e);
var r = !0;
if (navigator.mediaDevices && navigator.mediaDevices.enumerateDevices)
try {
navigator.mediaDevices.enumerateDevices().then(function(e) {
e.forEach(function(e) {
console.log("deb1"),
"videoinput" === e.kind && -1 < e.label.toLowerCase().search("back") && (r = [{
sourceId: e.deviceId
}]),
console.log(e.kind + ": " + e.label + " id = " + e.deviceId)
})
})
} catch (e) {
console.log(e)
}
else
console.log("no navigator.mediaDevices.enumerateDevices");
t.getUserMedia ? t.getUserMedia({
video: r,
audio: !1
}, qrcode.vidSuccess, qrcode.vidError) : t.webkitGetUserMedia ? (qrcode.webkit = !0,
t.webkitGetUserMedia({
video: r,
audio: !1
}, qrcode.vidSuccess, qrcode.vidError)) : t.mozGetUserMedia && (qrcode.moz = !0,
t.mozGetUserMedia({
video: r,
audio: !1
}, qrcode.vidSuccess, qrcode.vidError))
}
,
qrcode.decode = function(e) {
var t, r;
if (0 == arguments.length)
return r = qrcode.canvas_qr2 ? (t = qrcode.canvas_qr2,
qrcode.qrcontext2) : (t = document.getElementById("qr-canvas")).getContext("2d"),
qrcode.width = t.width,
qrcode.height = t.height,
qrcode.imagedata = r.getImageData(0, 0, qrcode.width, qrcode.height),
qrcode.result = qrcode.process(r),
null != qrcode.callback && qrcode.callback(qrcode.result),
qrcode.result;
var i = new Image;
i.crossOrigin = "Anonymous",
i.onload = function() {
var e = document.getElementById("out-canvas");
null != e && ((t = e.getContext("2d")).clearRect(0, 0, 320, 240),
t.drawImage(i, 0, 0, 320, 240));
var t, r = document.createElement("canvas"), n = r.getContext("2d"), a = i.height, e = i.width;
i.width * i.height > qrcode.maxImgSize && (e = (t = i.width / i.height) * (a = Math.sqrt(qrcode.maxImgSize / t))),
r.width = e,
r.height = a,
n.drawImage(i, 0, 0, r.width, r.height),
qrcode.width = r.width,
qrcode.height = r.height;
try {
qrcode.imagedata = n.getImageData(0, 0, r.width, r.height)
} catch (e) {
return qrcode.result = "Cross domain image reading not supported in your browser! Save it to your computer then drag and drop the file!",
void (null != qrcode.callback && qrcode.callback(qrcode.result))
}
try {
qrcode.result = qrcode.process(n)
} catch (e) {
console.log(e),
qrcode.result = "error decoding QR Code"
}
null != qrcode.callback && qrcode.callback(qrcode.result)
}
,
i.onerror = function() {
null != qrcode.callback && qrcode.callback("Failed to load the image")
}
,
i.src = e
}
,
qrcode.isUrl = function(e) {
return /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(e)
}
,
qrcode.decode_url = function(t) {
var r = "";
try {
r = escape(t)
} catch (e) {
console.log(e),
r = t
}
var n = "";
try {
n = decodeURIComponent(r)
} catch (e) {
console.log(e),
n = r
}
return n
}
,
qrcode.decode_utf8 = function(e) {
return qrcode.isUrl(e) ? qrcode.decode_url(e) : e
}
,
qrcode.process = function(e) {
var t = (new Date).getTime()
, r = qrcode.grayScaleToBitmap(qrcode.grayscale());
if (qrcode.debug) {
for (var n = 0; n < qrcode.height; n++)
for (var a = 0; a < qrcode.width; a++) {
var i = 4 * a + n * qrcode.width * 4;
qrcode.imagedata.data[i] = (r[a + n * qrcode.width],
0),
qrcode.imagedata.data[i + 1] = (r[a + n * qrcode.width],
0),
qrcode.imagedata.data[i + 2] = r[a + n * qrcode.width] ? 255 : 0
}
e.putImageData(qrcode.imagedata, 0, 0)
}
var o = new Detector(r).detect();
if (qrcode.debug) {
for (n = 0; n < o.bits.Height; n++)
for (a = 0; a < o.bits.Width; a++) {
i = 4 * a * 2 + 2 * n * qrcode.width * 4;
qrcode.imagedata.data[i] = (o.bits._ds(a, n),
0),
qrcode.imagedata.data[i + 1] = (o.bits._ds(a, n),
0),
qrcode.imagedata.data[i + 2] = o.bits._ds(a, n) ? 255 : 0
}
e.putImageData(qrcode.imagedata, 0, 0)
}
for (var _ = Decoder.decode(o.bits).DataByte, h = "", s = 0; s < _.length; s++)
for (var c = 0; c < _[s].length; c++)
h += String.fromCharCode(_[s][c]);
t = (new Date).getTime() - t;
return console.log(t),
qrcode.decode_utf8(h)
}
,
qrcode.getPixel = function(e, t) {
if (qrcode.width < e)
throw "point error";
if (qrcode.height < t)
throw "point error";
t = 4 * e + t * qrcode.width * 4;
return (33 * qrcode.imagedata.data[t] + 34 * qrcode.imagedata.data[1 + t] + 33 * qrcode.imagedata.data[2 + t]) / 100
}
,
qrcode.binarize = function(e) {
for (var t = new Array(qrcode.width * qrcode.height), r = 0; r < qrcode.height; r++)
for (var n = 0; n < qrcode.width; n++) {
var a = qrcode.getPixel(n, r);
t[n + r * qrcode.width] = a <= e
}
return t
}
,
qrcode._em = function(e) {
for (var t = Math.floor(qrcode.width / 4), r = Math.floor(qrcode.height / 4), n = new Array(4), a = 0; a < 4; a++) {
n[a] = new Array(4);
for (var i = 0; i < 4; i++)
n[a][i] = new Array(0,0)
}
for (var o = 0; o < 4; o++)
for (var _ = 0; _ < 4; _++) {
n[_][o][0] = 255;
for (var h = 0; h < r; h++)
for (var s = 0; s < t; s++) {
var c = e[t * _ + s + (r * o + h) * qrcode.width];
c < n[_][o][0] && (n[_][o][0] = c),
c > n[_][o][1] && (n[_][o][1] = c)
}
}
for (var d = new Array(4), w = 0; w < 4; w++)
d[w] = new Array(4);
for (o = 0; o < 4; o++)
for (_ = 0; _ < 4; _++)
d[_][o] = Math.floor((n[_][o][0] + n[_][o][1]) / 2);
return d
}
,
qrcode.grayScaleToBitmap = function(e) {
for (var t = qrcode._em(e), r = t.length, n = Math.floor(qrcode.width / r), a = Math.floor(qrcode.height / r), i = new ArrayBuffer(qrcode.width * qrcode.height), o = new Uint8Array(i), _ = 0; _ < r; _++)
for (var h = 0; h < r; h++)
for (var s = 0; s < a; s++)
for (var c = 0; c < n; c++)
o[n * h + c + (a * _ + s) * qrcode.width] = e[n * h + c + (a * _ + s) * qrcode.width] < t[h][_];
return o
}
,
qrcode.grayscale = function() {
for (var e = new ArrayBuffer(qrcode.width * qrcode.height), t = new Uint8Array(e), r = 0; r < qrcode.height; r++)
for (var n = 0; n < qrcode.width; n++) {
var a = qrcode.getPixel(n, r);
t[n + r * qrcode.width] = a
}
return t
}
;
var _gf = 3
, _eh = 57
, _el = 8
, _eg = 2;
function _cz(e, t, r) {
this.x = e,
this.y = t,
this.count = 1,
this._aj = r,
this.__defineGetter__("_ei", function() {
return this._aj
}),
this.__defineGetter__("Count", function() {
return this.count
}),
this.__defineGetter__("X", function() {
return this.x
}),
this.__defineGetter__("Y", function() {
return this.y
}),
this._ek = function() {
this.count++
}
,
this._ev = function(e, t, r) {
if (Math.abs(t - this.y) <= e && Math.abs(r - this.x) <= e) {
e = Math.abs(e - this._aj);
return e <= 1 || e / this._aj <= 1
}
return !1
}
}
function _es(e) {
this._go = e[0],
this._gu = e[1],
this._gr = e[2],
this.__defineGetter__("_gp", function() {
return this._go
}),
this.__defineGetter__("_gq", function() {
return this._gu
}),
this.__defineGetter__("_gs", function() {
return this._gr
})
}
function _cc() {
this.image = null,
this._cv = [],
this._ge = !1,
this._al = new Array(0,0,0,0,0),
this._am = null,
this.__defineGetter__("_da", function() {
return this._al[0] = 0,
this._al[1] = 0,
this._al[2] = 0,
this._al[3] = 0,
this._al[4] = 0,
this._al
}),
this._ao = function(e) {
for (var t = 0, r = 0; r < 5; r++) {
var n = e[r];
if (0 == n)
return !1;
t += n
}
if (t < 7)
return !1;
var a = Math.floor((t << _el) / 7)
, i = Math.floor(a / 2);
return Math.abs(a - (e[0] << _el)) < i && Math.abs(a - (e[1] << _el)) < i && Math.abs(3 * a - (e[2] << _el)) < 3 * i && Math.abs(a - (e[3] << _el)) < i && Math.abs(a - (e[4] << _el)) < i
}
,
this._an = function(e, t) {
return t - e[4] - e[3] - e[2] / 2
}
,
this._ap = function(e, t, r, n) {
for (var a = this.image, i = qrcode.height, o = this._da, _ = e; 0 <= _ && a[t + _ * qrcode.width]; )
o[2]++,
_--;
if (_ < 0)
return NaN;
for (; 0 <= _ && !a[t + _ * qrcode.width] && o[1] <= r; )
o[1]++,
_--;
if (_ < 0 || o[1] > r)
return NaN;
for (; 0 <= _ && a[t + _ * qrcode.width] && o[0] <= r; )
o[0]++,
_--;
if (o[0] > r)
return NaN;
for (_ = e + 1; _ < i && a[t + _ * qrcode.width]; )
o[2]++,
_++;
if (_ == i)
return NaN;
for (; _ < i && !a[t + _ * qrcode.width] && o[3] < r; )
o[3]++,
_++;
if (_ == i || o[3] >= r)
return NaN;
for (; _ < i && a[t + _ * qrcode.width] && o[4] < r; )
o[4]++,
_++;
if (o[4] >= r)
return NaN;
e = o[0] + o[1] + o[2] + o[3] + o[4];
return !(5 * Math.abs(e - n) >= 2 * n) && this._ao(o) ? this._an(o, _) : NaN
}
,
this._ej = function(e, t, r, n) {
for (var a = this.image, i = qrcode.width, o = this._da, _ = e; 0 <= _ && a[_ + t * qrcode.width]; )
o[2]++,
_--;
if (_ < 0)
return NaN;
for (; 0 <= _ && !a[_ + t * qrcode.width] && o[1] <= r; )
o[1]++,
_--;
if (_ < 0 || o[1] > r)
return NaN;
for (; 0 <= _ && a[_ + t * qrcode.width] && o[0] <= r; )
o[0]++,
_--;
if (o[0] > r)
return NaN;
for (_ = e + 1; _ < i && a[_ + t * qrcode.width]; )
o[2]++,
_++;
if (_ == i)
return NaN;
for (; _ < i && !a[_ + t * qrcode.width] && o[3] < r; )
o[3]++,
_++;
if (_ == i || o[3] >= r)
return NaN;
for (; _ < i && a[_ + t * qrcode.width] && o[4] < r; )
o[4]++,
_++;
if (o[4] >= r)
return NaN;
e = o[0] + o[1] + o[2] + o[3] + o[4];
return !(5 * Math.abs(e - n) >= n) && this._ao(o) ? this._an(o, _) : NaN
}
,
this._cu = function(e, t, r) {
var n = e[0] + e[1] + e[2] + e[3] + e[4]
, a = this._an(e, r)
, i = this._ap(t, Math.floor(a), e[2], n);
if (isNaN(i) || (a = this._ej(Math.floor(a), Math.floor(i), e[2], n),
isNaN(a)))
return !1;
for (var o = n / 7, _ = !1, h = this._cv.length, s = 0; s < h; s++) {
var c = this._cv[s];
if (c._ev(o, i, a)) {
c._ek(),
_ = !0;
break
}
}
return _ || (n = new _cz(a,i,o),
this._cv.push(n),
null != this._am && this._am._ep(n)),
!0
}
,
this._ee = function() {
var e = this._cv.length;
if (e < 3)
throw "Couldn't find enough finder patterns (found " + e + ")";
if (3 < e) {
for (var t = 0, r = 0, n = 0; n < e; n++) {
var a = this._cv[n]._ei;
t += a,
r += a * a
}
var i = t / e;
this._cv.sort(function(e, t) {
t = Math.abs(t._ei - i),
e = Math.abs(e._ei - i);
return t < e ? -1 : t == e ? 0 : 1
});
for (var o = Math.sqrt(r / e - i * i), _ = Math.max(.2 * i, o), n = this._cv.length - 1; 0 <= n; n--) {
var h = this._cv[n];
Math.abs(h._ei - i) > _ && this._cv.splice(n, 1)
}
}
return 3 < this._cv.length && this._cv.sort(function(e, t) {
return e.count > t.count ? -1 : e.count < t.count ? 1 : 0
}),
new Array(this._cv[0],this._cv[1],this._cv[2])
}
,
this._eq = function() {
var e = this._cv.length;
if (e <= 1)
return 0;
for (var t = null, r = 0; r < e; r++) {
var n = this._cv[r];
if (n.Count >= _eg) {
if (null != t)
return this._ge = !0,
Math.floor((Math.abs(t.X - n.X) - Math.abs(t.Y - n.Y)) / 2);
t = n
}
}
return 0
}
,
this._cx = function() {
for (var e = 0, t = 0, r = this._cv.length, n = 0; n < r; n++) {
var a = this._cv[n];
a.Count >= _eg && (e++,
t += a._ei)
}
if (e < 3)
return !1;
for (var i = t / r, o = 0, n = 0; n < r; n++)
a = this._cv[n],
o += Math.abs(a._ei - i);
return o <= .05 * t
}
,
this._ce = function(e) {
this.image = e;
var t = qrcode.height
, r = qrcode.width;
(s = Math.floor(3 * t / (4 * _eh))) < _gf && (s = _gf);
for (var n = !1, a = new Array(5), i = s - 1; i < t && !n; i += s) {
a[0] = 0,
a[1] = 0,
a[2] = 0,
a[3] = 0;
for (var o = a[4] = 0, _ = 0; _ < r; _++)
if (e[_ + i * qrcode.width])
1 == (1 & o) && o++,
a[o]++;
else if (0 == (1 & o))
if (4 == o)
if (this._ao(a)) {
if (this._cu(a, i, _)) {
var h, s = 2;
this._ge ? n = this._cx() : (h = this._eq()) > a[2] && (i += h - a[2] - s,
_ = r - 1)
} else {
for (; _++,
_ < r && !e[_ + i * qrcode.width]; )
;
_--
}
a[o = 0] = 0,
a[1] = 0,
a[2] = 0,
a[3] = 0,
a[4] = 0
} else
a[0] = a[2],
a[1] = a[3],
a[2] = a[4],
a[3] = 1,
a[4] = 0,
o = 3;
else
a[++o]++;
else
a[o]++;
this._ao(a) && this._cu(a, i, r) && (s = a[0],
this._ge && (n = this._cx()))
}
var c = this._ee();
return qrcode._er(c),
new _es(c)
}
}
function _ai(e, t, r) {
this.x = e,
this.y = t,
this.count = 1,
this._aj = r,
this.__defineGetter__("_ei", function() {
return this._aj
}),
this.__defineGetter__("Count", function() {
return this.count
}),
this.__defineGetter__("X", function() {
return Math.floor(this.x)
}),
this.__defineGetter__("Y", function() {
return Math.floor(this.y)
}),
this._ek = function() {
this.count++
}
,
this._ev = function(e, t, r) {
if (Math.abs(t - this.y) <= e && Math.abs(r - this.x) <= e) {
e = Math.abs(e - this._aj);
return e <= 1 || e / this._aj <= 1
}
return !1
}
}
function _ak(c, e, d, w, t, r, n) {
this.image = c,
this._cv = new Array,
this.startX = e,
this.startY = d,
this.width = w,
this.height = t,
this._ef = r,
this._al = new Array(0,0,0),
this._am = n,
this._an = function(e, t) {
return t - e[2] - e[1] / 2
}
,
this._ao = function(e) {
for (var t = this._ef, r = t / 2, n = 0; n < 3; n++)
if (Math.abs(t - e[n]) >= r)
return !1;
return !0
}
,
this._ap = function(e, t, r, n) {
var a = this.image
, i = qrcode.height
, o = this._al;
o[0] = 0,
o[1] = 0,
o[2] = 0;
for (var _ = e; 0 <= _ && a[t + _ * qrcode.width] && o[1] <= r; )
o[1]++,
_--;
if (_ < 0 || o[1] > r)
return NaN;
for (; 0 <= _ && !a[t + _ * qrcode.width] && o[0] <= r; )
o[0]++,
_--;
if (o[0] > r)
return NaN;
for (_ = e + 1; _ < i && a[t + _ * qrcode.width] && o[1] <= r; )
o[1]++,
_++;
if (_ == i || o[1] > r)
return NaN;
for (; _ < i && !a[t + _ * qrcode.width] && o[2] <= r; )
o[2]++,
_++;
if (o[2] > r)
return NaN;
e = o[0] + o[1] + o[2];
return !(5 * Math.abs(e - n) >= 2 * n) && this._ao(o) ? this._an(o, _) : NaN
}
,
this._cu = function(e, t, r) {
var n = e[0] + e[1] + e[2]
, a = this._an(e, r)
, i = this._ap(t, Math.floor(a), 2 * e[1], n);
if (!isNaN(i)) {
for (var o = (e[0] + e[1] + e[2]) / 3, _ = this._cv.length, h = 0; h < _; h++)
if (this._cv[h]._ev(o, i, a))
return new _ai(a,i,o);
e = new _ai(a,i,o);
this._cv.push(e),
null != this._am && this._am._ep(e)
}
return null
}
,
this.find = function() {
for (var e = this.startX, t = this.height, r = e + w, n = d + (t >> 1), a = new Array(0,0,0), i = 0; i < t; i++) {
var o = n + (0 == (1 & i) ? i + 1 >> 1 : -(i + 1 >> 1));
a[0] = 0,
a[1] = 0,
a[2] = 0;
for (var _ = e; _ < r && !c[_ + qrcode.width * o]; )
_++;
for (var h, s = 0; _ < r; ) {
if (c[_ + o * qrcode.width])
if (1 == s)
a[s]++;
else if (2 == s) {
if (this._ao(a))
if (null != (h = this._cu(a, o, _)))
return h;
a[0] = a[2],
a[1] = 1,
a[2] = 0,
s = 1
} else
a[++s]++;
else
1 == s && s++,
a[s]++;
_++
}
if (this._ao(a))
if (null != (h = this._cu(a, o, r)))
return h
}
if (0 != this._cv.length)
return this._cv[0];
throw "Couldn't find enough alignment patterns"
}
}
function QRCodeDataBlockReader(e, t, r) {
this._ed = 0,
this._cw = 7,
this.dataLength = 0,
this.blocks = e,
this._en = r,
t <= 9 ? this.dataLengthMode = 0 : 10 <= t && t <= 26 ? this.dataLengthMode = 1 : 27 <= t && t <= 40 && (this.dataLengthMode = 2),
this._gd = function(e) {
var t = 0;
if (e < this._cw + 1) {
for (var r = 0, n = 0; n < e; n++)
r += 1 << n;
return r <<= this._cw - e + 1,
t = (this.blocks[this._ed] & r) >> this._cw - e + 1,
this._cw -= e,
t
}
if (e < this._cw + 1 + 8) {
for (var a = 0, n = 0; n < this._cw + 1; n++)
a += 1 << n;
return t = (this.blocks[this._ed] & a) << e - (this._cw + 1),
this._ed++,
t += this.blocks[this._ed] >> 8 - (e - (this._cw + 1)),
this._cw = this._cw - e % 8,
this._cw < 0 && (this._cw = 8 + this._cw),
t
}
if (e < this._cw + 1 + 16) {
for (var a = 0, i = 0, n = 0; n < this._cw + 1; n++)
a += 1 << n;
var o = (this.blocks[this._ed] & a) << e - (this._cw + 1);
this._ed++;
var _ = this.blocks[this._ed] << e - (this._cw + 1 + 8);
this._ed++;
for (n = 0; n < e - (this._cw + 1 + 8); n++)
i += 1 << n;
i <<= 8 - (e - (this._cw + 1 + 8));
t = o + _ + ((this.blocks[this._ed] & i) >> 8 - (e - (this._cw + 1 + 8)));
return this._cw = this._cw - (e - 8) % 8,
this._cw < 0 && (this._cw = 8 + this._cw),
t
}
return 0
}
,
this.NextMode = function() {
return this._ed > this.blocks.length - this._en - 2 ? 0 : this._gd(4)
}
,
this.getDataLength = function(e) {
for (var t = 0; e >> t != 1; )
t++;
return this._gd(qrcode._eo[this.dataLengthMode][t])
}
,
this.getRomanAndFigureString = function(e) {
var t, r = e, n = 0, a = "", i = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":");
do {} while (1 < r ? (t = (n = this._gd(11)) % 45,
a += i[Math.floor(n / 45)],
a += i[t],
r -= 2) : 1 == r && (a += i[n = this._gd(6)],
--r),
0 < r);
return a
}
,
this.getFigureString = function(e) {
for (var t = e, r = 0, n = ""; 3 <= t ? ((r = this._gd(10)) < 100 && (n += "0"),
r < 10 && (n += "0"),
t -= 3) : 2 == t ? ((r = this._gd(7)) < 10 && (n += "0"),
t -= 2) : 1 == t && (r = this._gd(4),
--t),
n += r,
0 < t; )
;
return n
}
,
this.get8bitByteArray = function(e) {
for (var t, r = e, n = new Array; t = this._gd(8),
n.push(t),
r--,
0 < r; )
;
return n
}
,
this.getKanjiString = function(e) {
var t, r = e, n = "";
do {
var a = ((t = this._gd(13)) / 192 << 8) + t % 192
, i = 0
, i = 33088 + a <= 40956 ? 33088 + a : 49472 + a
} while (n += String.fromCharCode(i),
0 < --r);
return n
}
,
this.parseECIValue = function() {
var e = 0
, t = this._gd(8);
return 0 == (128 & t) && (e = 127 & t),
128 == (192 & t) && (e = (63 & t) << 8 | this._gd(8)),
192 == (224 & t) && (e = (31 & t) << 16 | this._gd(8)),
e
}
,
this.__defineGetter__("DataByte", function() {
for (var e = new Array; ; ) {
var t = this.NextMode();
if (0 == t) {
if (0 < e.length)
break;
throw "Empty data block"
}
if (1 != t && 2 != t && 4 != t && 8 != t && 7 != t)
throw "Invalid mode: " + t + " in (block:" + this._ed + " bit:" + this._cw + ")";
if (7 == t)
var r = this.parseECIValue();
else {
var n = this.getDataLength(t);
if (n < 1)
throw "Invalid data length: " + n;
switch (t) {
case 1:
for (var a = this.getFigureString(n), i = new Array(a.length), o = 0; o < a.length; o++)
i[o] = a.charCodeAt(o);
e.push(i);
break;
case 2:
for (a = this.getRomanAndFigureString(n),
i = new Array(a.length),
o = 0; o < a.length; o++)
i[o] = a.charCodeAt(o);
e.push(i);
break;
case 4:
r = this.get8bitByteArray(n);
e.push(r);
break;
case 8:
a = this.getKanjiString(n);
e.push(a)
}
}
}
return e
})
}
qrcode._er = function(e) {
function t(e, t) {
var r = e.X - t.X
, t = e.Y - t.Y;
return Math.sqrt(r * r + t * t)
}
var r, n, a, i, o, _, h = t(e[0], e[1]), s = t(e[1], e[2]), c = t(e[0], e[2]);
h = h <= s && c <= s ? (r = e[0],
n = e[1],
e[2]) : s <= c && h <= c ? (r = e[1],
n = e[0],
e[2]) : (r = e[2],
n = e[0],
e[1]),
a = n,
o = h,
_ = (i = r).x,
i = i.y,
(o.x - _) * (a.y - i) - (o.y - i) * (a.x - _) < 0 && (c = n,
n = h,
h = c),
e[0] = n,
e[1] = r,
e[2] = h
}
;
var gCtx = null
, gCanvas = null
, c = 0
, stype = 0
, gUM = !1
, webkit = !1
, moz = !1
, imghtml = '<div id="qrfile"><canvas id="out-canvas" width="314" height="250"></canvas><div id="imghelp"><small>Drag and Drop a QRCode here<br>or Select a file<input type="file" onchange="handleFiles(this.files)"/></small></div></div>';
function dragenter(e) {
e.stopPropagation(),
e.preventDefault()
}
function dragover(e) {
e.stopPropagation(),
e.preventDefault()
}
function drop(e) {
e.stopPropagation(),
e.preventDefault();
var t = e.dataTransfer
, e = t.files;
0 < e.length ? handleFiles(e) : t.getData("URL") && qrcode.decode(t.getData("URL"))
}
function handleFiles(e) {
for (var t = 0; t < e.length; t++) {
var r = new FileReader;
r.onload = (e[t],
function(e) {
gCtx.clearRect(0, 0, gCanvas.width, gCanvas.height),
qrcode.decode(e.target.result)
}
),
r.readAsDataURL(e[t])
}
}
function initCanvas(e, t) {
(gCanvas = document.getElementById("qr-canvas")).style.width = e + "px",
gCanvas.style.height = t + "px",
gCanvas.width = e,
gCanvas.height = t,
(gCtx = gCanvas.getContext("2d")).clearRect(0, 0, e, t)
}
function captureToCanvas() {
if (1 == stype && gUM)
try {
gCtx.drawImage(v, 0, 0);
try {
qrcode.decode()
} catch (e) {
console.log(e),
setTimeout(captureToCanvas, 500)
}
} catch (e) {
console.log(e),
setTimeout(captureToCanvas, 500)
}
}
function htmlEntities(e) {
return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;")
}
function read(e) {
var t = "<br>";
0 !== e.indexOf("http://") && 0 !== e.indexOf("https://") || (t += "<a target='_blank' href='" + e + "'>" + e + "</a><br>"),
t += "<b>" + htmlEntities(e) + "</b><br><br>",
document.getElementById("qr-result").innerHTML = t
}
function isCanvasSupported() {
var e = document.createElement("canvas");
return !(!e.getContext || !e.getContext("2d"))
}
function success(e) {
gUM = !0,
setTimeout(captureToCanvas, 500)
}
const error = e=>gUM = !1;
function load() {
isCanvasSupported() && window.File && window.FileReader ? (initCanvas(800, 600),
qrcode.callback = read,
document.getElementById("qr-mainbody").style.display = "inline",
setimg()) : (document.getElementById("qr-mainbody").style.display = "inline",
document.getElementById("qr-mainbody").innerHTML = '<p id="mp1">QR code scanner for HTML5 capable browsers</p><br><br><p id="mp2">sorry your browser is not supported</p><br><br><p id="mp1">try <a href="http://www.mozilla.com/firefox"><img src="firefox.png"/></a> or <a href="http://chrome.google.com"><img src="chrome_logo.gif"/></a> or <a href="http://www.opera.com"><img src="Opera-logo.png"/></a></p>')
}
function setimg() {
var e;
document.getElementById("qr-result").innerHTML = "",
2 != stype && (document.getElementById("qr-outdiv").innerHTML = imghtml,
(e = document.getElementById("qrfile")).addEventListener("dragenter", dragenter, !1),
e.addEventListener("dragover", dragover, !1),
e.addEventListener("drop", drop, !1),
stype = 2)
}
</script>
<style>
:root {
--blue: #007bff;
--indigo: #6610f2;
--purple: #6f42c1;
--pink: #e83e8c;
--red: #dc3545;
--orange: #fd7e14;
--yellow: #ffc107;
--green: #28a745;
--teal: #20c997;
--cyan: #17a2b8;
--white: #fff;
--gray: #6c757d;
--gray-dark: #343a40;
--primary: #007bff;
--secondary: #6c757d;
--success: #28a745;
--info: #17a2b8;
--warning: #ffc107;
--danger: #dc3545;
--light: #f8f9fa;
--dark: #343a40;
--breakpoint-xs: 0;
--breakpoint-sm: 576px;
--breakpoint-md: 768px;
--breakpoint-lg: 992px;
--breakpoint-xl: 1200px;
--font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace
}
*,::after,::before {
box-sizing: border-box
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: transparent
}
article,aside,figcaption,figure,footer,header,hgroup,main,nav,section {
display: block
}
body {
margin: 0;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff
}
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0!important
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible
}
h1,h2,h3,h4,h5,h6 {
margin-top: 0;
margin-bottom: .5rem
}
p {
margin-top: 0;
margin-bottom: 1rem
}
abbr[data-original-title],abbr[title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit
}
dl,ol,ul {
margin-top: 0;
margin-bottom: 1rem
}
ol ol,ol ul,ul ol,ul ul {
margin-bottom: 0
}
dt {
font-weight: 700
}
dd {
margin-bottom: .5rem;
margin-left: 0
}
blockquote {
margin: 0 0 1rem
}
b,strong {
font-weight: bolder
}
small {
font-size: 80%
}
sub,sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline
}
sub {
bottom: -.25em
}
sup {
top: -.5em
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent
}
a:hover {
color: #0056b3;
text-decoration: underline
}
a:not([href]):not([class]) {
color: inherit;
text-decoration: none
}
a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none
}
code,kbd,pre,samp {
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1em
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar
}
figure {
margin: 0 0 1rem
}
img {
vertical-align: middle;
border-style: none
}
svg {
overflow: hidden;
vertical-align: middle
}
table {
border-collapse: collapse
}
caption {
padding-top: .75rem;
padding-bottom: .75rem;
color: #6c757d;
text-align: left;
caption-side: bottom
}
th {
text-align: inherit
}
label {
display: inline-block;
margin-bottom: .5rem
}
button {
border-radius: 0
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color
}
button,input,optgroup,select,textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit
}
button,input {
overflow: visible
}
button,select {
text-transform: none
}
[role=button] {
cursor: pointer
}
select {
word-wrap: normal
}
[type=button],[type=reset],[type=submit],button {
-webkit-appearance: button
}
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) {
cursor: pointer
}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
padding: 0;
border-style: none
}
input[type=checkbox],input[type=radio] {
box-sizing: border-box;
padding: 0
}
textarea {
overflow: auto;
resize: vertical
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal
}
progress {
vertical-align: baseline
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
height: auto
}
[type=search] {
outline-offset: -2px;
-webkit-appearance: none
}
[type=search]::-webkit-search-decoration {
-webkit-appearance: none
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button
}
output {
display: inline-block
}
summary {
display: list-item;
cursor: pointer
}
template {
display: none
}
[hidden] {
display: none!important
}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
margin-bottom: .5rem;
font-weight: 500;
line-height: 1.2
}
.h1,h1 {
font-size: 2.5rem
}
.h2,h2 {
font-size: 2rem
}
.h3,h3 {
font-size: 1.75rem
}
.h4,h4 {
font-size: 1.5rem
}
.h5,h5 {
font-size: 1.25rem
}
.h6,h6 {
font-size: 1rem
}
.lead {
font-size: 1.25rem;
font-weight: 300
}
.display-1 {
font-size: 6rem;
font-weight: 300;
line-height: 1.2
}
.display-2 {
font-size: 5.5rem;
font-weight: 300;
line-height: 1.2
}
.display-3 {
font-size: 4.5rem;
font-weight: 300;
line-height: 1.2
}
.display-4 {
font-size: 3.5rem;
font-weight: 300;
line-height: 1.2
}
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0,0,0,.1)
}
.small,small {
font-size: 80%;
font-weight: 400
}
.mark,mark {
padding: .2em;
background-color: #fcf8e3
}
.list-unstyled {
padding-left: 0;
list-style: none
}
.list-inline {
padding-left: 0;
list-style: none
}
.list-inline-item {
display: inline-block
}
.list-inline-item:not(:last-child) {
margin-right: .5rem
}
.initialism {
font-size: 90%;
text-transform: uppercase
}
.blockquote {
margin-bottom: 1rem;
font-size: 1.25rem
}
.blockquote-footer {
display: block;
font-size: 80%;
color: #6c757d
}
.blockquote-footer::before {
content: "\2014\00A0"
}
.img-fluid {
max-width: 100%;
height: auto
}
.img-thumbnail {
padding: .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: 90%;
color: #6c757d
}
code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 4px
}
a>code {
color: inherit
}
kbd {
padding: .2rem .4rem;
font-size: 87.5%;
color: #fff;
background-color: #212529;
border-radius: .2rem
}
kbd kbd {
padding: 0;
font-size: 100%;
font-weight: 700
}
pre {
display: block;
font-size: 87.5%;
color: #212529
}
pre code {
font-size: inherit;
color: inherit;
word-break: normal
}
.pre-scrollable {
max-height: 340px;
overflow-y: scroll
}
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto
}
@media (min-width: 576px) {
.container,.container-sm {
max-width:540px
}
}
@media (min-width: 768px) {
.container,.container-md,.container-sm {
max-width:720px
}
}
@media (min-width: 992px) {
.container,.container-lg,.container-md,.container-sm {
max-width:960px
}
}
@media (min-width: 1200px) {
.container,.container-lg,.container-md,.container-sm,.container-xl {
max-width:1140px
}
}
.row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -15px;
margin-left: -15px
}
.no-gutters {
margin-right: 0;
margin-left: 0
}
.no-gutters>.col,.no-gutters>[class*=col-] {
padding-right: 0;
padding-left: 0
}
.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto {
position: relative;
width: 100%;
padding-right: 15px;
padding-left: 15px
}
.col {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%
}
.row-cols-1>* {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.row-cols-2>* {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.row-cols-3>* {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.row-cols-4>* {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.row-cols-5>* {
-ms-flex: 0 0 20%;
flex: 0 0 20%;
max-width: 20%
}
.row-cols-6>* {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%
}
.col-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%
}
.col-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.col-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.col-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%
}
.col-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.col-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%
}
.col-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%
}
.col-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%
}
.col-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%
}
.col-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%
}
.col-12 {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.order-first {
-ms-flex-order: -1;
order: -1
}
.order-last {
-ms-flex-order: 13;
order: 13
}
.order-0 {
-ms-flex-order: 0;
order: 0
}
.order-1 {
-ms-flex-order: 1;
order: 1
}
.order-2 {
-ms-flex-order: 2;
order: 2
}
.order-3 {
-ms-flex-order: 3;
order: 3
}
.order-4 {
-ms-flex-order: 4;
order: 4
}
.order-5 {
-ms-flex-order: 5;
order: 5
}
.order-6 {
-ms-flex-order: 6;
order: 6
}
.order-7 {
-ms-flex-order: 7;
order: 7
}
.order-8 {
-ms-flex-order: 8;
order: 8
}
.order-9 {
-ms-flex-order: 9;
order: 9
}
.order-10 {
-ms-flex-order: 10;
order: 10
}
.order-11 {
-ms-flex-order: 11;
order: 11
}
.order-12 {
-ms-flex-order: 12;
order: 12
}
.offset-1 {
margin-left: 8.333333%
}
.offset-2 {
margin-left: 16.666667%
}
.offset-3 {
margin-left: 25%
}
.offset-4 {
margin-left: 33.333333%
}
.offset-5 {
margin-left: 41.666667%
}
.offset-6 {
margin-left: 50%
}
.offset-7 {
margin-left: 58.333333%
}
.offset-8 {
margin-left: 66.666667%
}
.offset-9 {
margin-left: 75%
}
.offset-10 {
margin-left: 83.333333%
}
.offset-11 {
margin-left: 91.666667%
}
@media (min-width: 576px) {
.col-sm {
-ms-flex-preferred-size:0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%
}
.row-cols-sm-1>* {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.row-cols-sm-2>* {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.row-cols-sm-3>* {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.row-cols-sm-4>* {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.row-cols-sm-5>* {
-ms-flex: 0 0 20%;
flex: 0 0 20%;
max-width: 20%
}
.row-cols-sm-6>* {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-sm-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%
}
.col-sm-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%
}
.col-sm-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-sm-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.col-sm-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.col-sm-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%
}
.col-sm-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.col-sm-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%
}
.col-sm-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%
}
.col-sm-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%
}
.col-sm-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%
}
.col-sm-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%
}
.col-sm-12 {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.order-sm-first {
-ms-flex-order: -1;
order: -1
}
.order-sm-last {
-ms-flex-order: 13;
order: 13
}
.order-sm-0 {
-ms-flex-order: 0;
order: 0
}
.order-sm-1 {
-ms-flex-order: 1;
order: 1
}
.order-sm-2 {
-ms-flex-order: 2;
order: 2
}
.order-sm-3 {
-ms-flex-order: 3;
order: 3
}
.order-sm-4 {
-ms-flex-order: 4;
order: 4
}
.order-sm-5 {
-ms-flex-order: 5;
order: 5
}
.order-sm-6 {
-ms-flex-order: 6;
order: 6
}
.order-sm-7 {
-ms-flex-order: 7;
order: 7
}
.order-sm-8 {
-ms-flex-order: 8;
order: 8
}
.order-sm-9 {
-ms-flex-order: 9;
order: 9
}
.order-sm-10 {
-ms-flex-order: 10;
order: 10
}
.order-sm-11 {
-ms-flex-order: 11;
order: 11
}
.order-sm-12 {
-ms-flex-order: 12;
order: 12
}
.offset-sm-0 {
margin-left: 0
}
.offset-sm-1 {
margin-left: 8.333333%
}
.offset-sm-2 {
margin-left: 16.666667%
}
.offset-sm-3 {
margin-left: 25%
}
.offset-sm-4 {
margin-left: 33.333333%
}
.offset-sm-5 {
margin-left: 41.666667%
}
.offset-sm-6 {
margin-left: 50%
}
.offset-sm-7 {
margin-left: 58.333333%
}
.offset-sm-8 {
margin-left: 66.666667%
}
.offset-sm-9 {
margin-left: 75%
}
.offset-sm-10 {
margin-left: 83.333333%
}
.offset-sm-11 {
margin-left: 91.666667%
}
}
@media (min-width: 768px) {
.col-md {
-ms-flex-preferred-size:0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%
}
.row-cols-md-1>* {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.row-cols-md-2>* {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.row-cols-md-3>* {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.row-cols-md-4>* {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.row-cols-md-5>* {
-ms-flex: 0 0 20%;
flex: 0 0 20%;
max-width: 20%
}
.row-cols-md-6>* {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-md-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%
}
.col-md-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%
}
.col-md-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-md-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.col-md-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.col-md-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%
}
.col-md-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.col-md-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%
}
.col-md-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%
}
.col-md-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%
}
.col-md-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%
}
.col-md-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%
}
.col-md-12 {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.order-md-first {
-ms-flex-order: -1;
order: -1
}
.order-md-last {
-ms-flex-order: 13;
order: 13
}
.order-md-0 {
-ms-flex-order: 0;
order: 0
}
.order-md-1 {
-ms-flex-order: 1;
order: 1
}
.order-md-2 {
-ms-flex-order: 2;
order: 2
}
.order-md-3 {
-ms-flex-order: 3;
order: 3
}
.order-md-4 {
-ms-flex-order: 4;
order: 4
}
.order-md-5 {
-ms-flex-order: 5;
order: 5
}
.order-md-6 {
-ms-flex-order: 6;
order: 6
}
.order-md-7 {
-ms-flex-order: 7;
order: 7
}
.order-md-8 {
-ms-flex-order: 8;
order: 8
}
.order-md-9 {
-ms-flex-order: 9;
order: 9
}
.order-md-10 {
-ms-flex-order: 10;
order: 10
}
.order-md-11 {
-ms-flex-order: 11;
order: 11
}
.order-md-12 {
-ms-flex-order: 12;
order: 12
}
.offset-md-0 {
margin-left: 0
}
.offset-md-1 {
margin-left: 8.333333%
}
.offset-md-2 {
margin-left: 16.666667%
}
.offset-md-3 {
margin-left: 25%
}
.offset-md-4 {
margin-left: 33.333333%
}
.offset-md-5 {
margin-left: 41.666667%
}
.offset-md-6 {
margin-left: 50%
}
.offset-md-7 {
margin-left: 58.333333%
}
.offset-md-8 {
margin-left: 66.666667%
}
.offset-md-9 {
margin-left: 75%
}
.offset-md-10 {
margin-left: 83.333333%
}
.offset-md-11 {
margin-left: 91.666667%
}
}
@media (min-width: 992px) {
.col-lg {
-ms-flex-preferred-size:0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%
}
.row-cols-lg-1>* {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.row-cols-lg-2>* {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.row-cols-lg-3>* {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.row-cols-lg-4>* {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.row-cols-lg-5>* {
-ms-flex: 0 0 20%;
flex: 0 0 20%;
max-width: 20%
}
.row-cols-lg-6>* {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-lg-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%
}
.col-lg-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%
}
.col-lg-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-lg-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.col-lg-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.col-lg-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%
}
.col-lg-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.col-lg-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%
}
.col-lg-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%
}
.col-lg-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%
}
.col-lg-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%
}
.col-lg-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%
}
.col-lg-12 {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.order-lg-first {
-ms-flex-order: -1;
order: -1
}
.order-lg-last {
-ms-flex-order: 13;
order: 13
}
.order-lg-0 {
-ms-flex-order: 0;
order: 0
}
.order-lg-1 {
-ms-flex-order: 1;
order: 1
}
.order-lg-2 {
-ms-flex-order: 2;
order: 2
}
.order-lg-3 {
-ms-flex-order: 3;
order: 3
}
.order-lg-4 {
-ms-flex-order: 4;
order: 4
}
.order-lg-5 {
-ms-flex-order: 5;
order: 5
}
.order-lg-6 {
-ms-flex-order: 6;
order: 6
}
.order-lg-7 {
-ms-flex-order: 7;
order: 7
}
.order-lg-8 {
-ms-flex-order: 8;
order: 8
}
.order-lg-9 {
-ms-flex-order: 9;
order: 9
}
.order-lg-10 {
-ms-flex-order: 10;
order: 10
}
.order-lg-11 {
-ms-flex-order: 11;
order: 11
}
.order-lg-12 {
-ms-flex-order: 12;
order: 12
}
.offset-lg-0 {
margin-left: 0
}
.offset-lg-1 {
margin-left: 8.333333%
}
.offset-lg-2 {
margin-left: 16.666667%
}
.offset-lg-3 {
margin-left: 25%
}
.offset-lg-4 {
margin-left: 33.333333%
}
.offset-lg-5 {
margin-left: 41.666667%
}
.offset-lg-6 {
margin-left: 50%
}
.offset-lg-7 {
margin-left: 58.333333%
}
.offset-lg-8 {
margin-left: 66.666667%
}
.offset-lg-9 {
margin-left: 75%
}
.offset-lg-10 {
margin-left: 83.333333%
}
.offset-lg-11 {
margin-left: 91.666667%
}
}
@media (min-width: 1200px) {
.col-xl {
-ms-flex-preferred-size:0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
max-width: 100%
}
.row-cols-xl-1>* {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.row-cols-xl-2>* {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.row-cols-xl-3>* {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.row-cols-xl-4>* {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.row-cols-xl-5>* {
-ms-flex: 0 0 20%;
flex: 0 0 20%;
max-width: 20%
}
.row-cols-xl-6>* {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-xl-auto {
-ms-flex: 0 0 auto;
flex: 0 0 auto;
width: auto;
max-width: 100%
}
.col-xl-1 {
-ms-flex: 0 0 8.333333%;
flex: 0 0 8.333333%;
max-width: 8.333333%
}
.col-xl-2 {
-ms-flex: 0 0 16.666667%;
flex: 0 0 16.666667%;
max-width: 16.666667%
}
.col-xl-3 {
-ms-flex: 0 0 25%;
flex: 0 0 25%;
max-width: 25%
}
.col-xl-4 {
-ms-flex: 0 0 33.333333%;
flex: 0 0 33.333333%;
max-width: 33.333333%
}
.col-xl-5 {
-ms-flex: 0 0 41.666667%;
flex: 0 0 41.666667%;
max-width: 41.666667%
}
.col-xl-6 {
-ms-flex: 0 0 50%;
flex: 0 0 50%;
max-width: 50%
}
.col-xl-7 {
-ms-flex: 0 0 58.333333%;
flex: 0 0 58.333333%;
max-width: 58.333333%
}
.col-xl-8 {
-ms-flex: 0 0 66.666667%;
flex: 0 0 66.666667%;
max-width: 66.666667%
}
.col-xl-9 {
-ms-flex: 0 0 75%;
flex: 0 0 75%;
max-width: 75%
}
.col-xl-10 {
-ms-flex: 0 0 83.333333%;
flex: 0 0 83.333333%;
max-width: 83.333333%
}
.col-xl-11 {
-ms-flex: 0 0 91.666667%;
flex: 0 0 91.666667%;
max-width: 91.666667%
}
.col-xl-12 {
-ms-flex: 0 0 100%;
flex: 0 0 100%;
max-width: 100%
}
.order-xl-first {
-ms-flex-order: -1;
order: -1
}
.order-xl-last {
-ms-flex-order: 13;
order: 13
}
.order-xl-0 {
-ms-flex-order: 0;
order: 0
}
.order-xl-1 {
-ms-flex-order: 1;
order: 1
}
.order-xl-2 {
-ms-flex-order: 2;
order: 2
}
.order-xl-3 {
-ms-flex-order: 3;
order: 3
}
.order-xl-4 {
-ms-flex-order: 4;
order: 4
}
.order-xl-5 {
-ms-flex-order: 5;
order: 5
}
.order-xl-6 {
-ms-flex-order: 6;
order: 6
}
.order-xl-7 {
-ms-flex-order: 7;
order: 7
}
.order-xl-8 {
-ms-flex-order: 8;
order: 8
}
.order-xl-9 {
-ms-flex-order: 9;
order: 9
}
.order-xl-10 {
-ms-flex-order: 10;
order: 10
}
.order-xl-11 {
-ms-flex-order: 11;
order: 11
}
.order-xl-12 {
-ms-flex-order: 12;
order: 12
}
.offset-xl-0 {
margin-left: 0
}
.offset-xl-1 {
margin-left: 8.333333%
}
.offset-xl-2 {
margin-left: 16.666667%
}
.offset-xl-3 {
margin-left: 25%
}
.offset-xl-4 {
margin-left: 33.333333%
}
.offset-xl-5 {
margin-left: 41.666667%
}
.offset-xl-6 {
margin-left: 50%
}
.offset-xl-7 {
margin-left: 58.333333%
}
.offset-xl-8 {
margin-left: 66.666667%
}
.offset-xl-9 {
margin-left: 75%
}
.offset-xl-10 {
margin-left: 83.333333%
}
.offset-xl-11 {
margin-left: 91.666667%
}
}
.table {
width: 100%;
margin-bottom: 1rem;
color: #212529
}
.table td,.table th {
padding: .75rem;
vertical-align: top;
border-top: 1px solid #dee2e6
}
.table thead th {
vertical-align: bottom;
border-bottom: 2px solid #dee2e6
}
.table tbody+tbody {
border-top: 2px solid #dee2e6
}
.table-sm td,.table-sm th {
padding: .3rem
}
.table-bordered {
border: 1px solid #dee2e6
}
.table-bordered td,.table-bordered th {
border: 1px solid #dee2e6
}
.table-bordered thead td,.table-bordered thead th {
border-bottom-width: 2px
}
.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th {
border: 0
}
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0,0,0,.05)
}
.table-hover tbody tr:hover {
color: #212529;
background-color: rgba(0,0,0,.075)
}
.table-primary,.table-primary>td,.table-primary>th {
background-color: #b8daff
}
.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th {
border-color: #7abaff
}
.table-hover .table-primary:hover {
background-color: #9fcdff
}
.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th {
background-color: #9fcdff
}
.table-secondary,.table-secondary>td,.table-secondary>th {
background-color: #d6d8db
}
.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th {
border-color: #b3b7bb
}
.table-hover .table-secondary:hover {
background-color: #c8cbcf
}
.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th {
background-color: #c8cbcf
}
.table-success,.table-success>td,.table-success>th {
background-color: #c3e6cb
}
.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th {
border-color: #8fd19e
}
.table-hover .table-success:hover {
background-color: #b1dfbb
}
.table-hover .table-success:hover>td,.table-hover .table-success:hover>th {
background-color: #b1dfbb
}
.table-info,.table-info>td,.table-info>th {
background-color: #bee5eb
}
.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th {
border-color: #86cfda
}
.table-hover .table-info:hover {
background-color: #abdde5
}
.table-hover .table-info:hover>td,.table-hover .table-info:hover>th {
background-color: #abdde5
}
.table-warning,.table-warning>td,.table-warning>th {
background-color: #ffeeba
}
.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th {
border-color: #ffdf7e
}
.table-hover .table-warning:hover {
background-color: #ffe8a1
}
.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th {
background-color: #ffe8a1
}
.table-danger,.table-danger>td,.table-danger>th {
background-color: #f5c6cb
}
.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th {
border-color: #ed969e
}
.table-hover .table-danger:hover {
background-color: #f1b0b7
}
.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th {
background-color: #f1b0b7
}
.table-light,.table-light>td,.table-light>th {
background-color: #fdfdfe
}
.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th {
border-color: #fbfcfc
}
.table-hover .table-light:hover {
background-color: #ececf6
}
.table-hover .table-light:hover>td,.table-hover .table-light:hover>th {
background-color: #ececf6
}
.table-dark,.table-dark>td,.table-dark>th {
background-color: #c6c8ca
}
.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th {
border-color: #95999c
}
.table-hover .table-dark:hover {
background-color: #b9bbbe
}
.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th {
background-color: #b9bbbe
}
.table-active,.table-active>td,.table-active>th {
background-color: rgba(0,0,0,.075)
}
.table-hover .table-active:hover {
background-color: rgba(0,0,0,.075)
}
.table-hover .table-active:hover>td,.table-hover .table-active:hover>th {
background-color: rgba(0,0,0,.075)
}
.table .thead-dark th {
color: #fff;
background-color: #343a40;
border-color: #454d55
}
.table .thead-light th {
color: #495057;
background-color: #e9ecef;
border-color: #dee2e6
}
.table-dark {
color: #fff;
background-color: #343a40
}
.table-dark td,.table-dark th,.table-dark thead th {
border-color: #454d55
}
.table-dark.table-bordered {
border: 0
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(33,37,41,.05)
}
.table-dark.table-hover tbody tr:hover {
color: #fff;
background-color: rgba(33,37,41,.075)
}
@media (max-width: 575.98px) {
.table-responsive-sm {
display:block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
.table-responsive-sm>.table-bordered {
border: 0
}
}
@media (max-width: 767.98px) {
.table-responsive-md {
display:block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
.table-responsive-md>.table-bordered {
border: 0
}
}
@media (max-width: 991.98px) {
.table-responsive-lg {
display:block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
.table-responsive-lg>.table-bordered {
border: 0
}
}
@media (max-width: 1199.98px) {
.table-responsive-xl {
display:block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
.table-responsive-xl>.table-bordered {
border: 0
}
}
.table-responsive {
display: block;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
.table-responsive>.table-bordered {
border: 0
}
.form-control {
display: block;
width: 100%;
height: calc(1.5em + .75rem + 2px);
padding: .375rem .75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: .25rem;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
.form-control {
transition: none
}
}
.form-control::-ms-expand {
background-color: transparent;
border: 0
}
.form-control:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #495057
}
.form-control:focus {
color: #495057;
background-color: #fff;
border-color: #80bdff;
outline: 0;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.form-control::-webkit-input-placeholder {
color: #6c757d;
opacity: 1
}
.form-control::-moz-placeholder {
color: #6c757d;
opacity: 1
}
.form-control:-ms-input-placeholder {
color: #6c757d;
opacity: 1
}
.form-control::-ms-input-placeholder {
color: #6c757d;
opacity: 1
}
.form-control::placeholder {
color: #6c757d;
opacity: 1
}
.form-control:disabled,.form-control[readonly] {
background-color: #e9ecef;
opacity: 1
}
input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none
}
select.form-control:focus::-ms-value {
color: #495057;
background-color: #fff
}
.form-control-file,.form-control-range {
display: block;
width: 100%
}
.col-form-label {
padding-top: calc(.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;
line-height: 1.5
}
.col-form-label-sm {
padding-top: calc(.25rem + 1px);
padding-bottom: calc(.25rem + 1px);
font-size: .875rem;
line-height: 1.5
}
.form-control-plaintext {
display: block;
width: 100%;
padding: .375rem 0;
margin-bottom: 0;
font-size: 1rem;
line-height: 1.5;
color: #212529;
background-color: transparent;
border: solid transparent;
border-width: 1px 0
}
.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm {
padding-right: 0;
padding-left: 0
}
.form-control-sm {
height: calc(1.5em + .5rem + 2px);
padding: .25rem .5rem;
font-size: .875rem;
line-height: 1.5;
border-radius: .2rem
}
.form-control-lg {
height: calc(1.5em + 1rem + 2px);
padding: .5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: .3rem
}
select.form-control[multiple],select.form-control[size] {
height: auto
}
textarea.form-control {
height: auto
}
.form-group {
margin-bottom: 1rem
}
.form-text {
display: block;
margin-top: .25rem
}
.form-row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-right: -5px;
margin-left: -5px
}
.form-row>.col,.form-row>[class*=col-] {
padding-right: 5px;
padding-left: 5px
}
.form-check {
position: relative;
display: block;
padding-left: 1.25rem
}
.form-check-input {
position: absolute;
margin-top: .3rem;
margin-left: -1.25rem
}
.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label {
color: #6c757d
}
.form-check-label {
margin-bottom: 0
}
.form-check-inline {
display: -ms-inline-flexbox;
display: inline-flex;
-ms-flex-align: center;
align-items: center;
padding-left: 0;
margin-right: .75rem
}
.form-check-inline .form-check-input {
position: static;
margin-top: 0;
margin-right: .3125rem;
margin-left: 0
}
.valid-feedback {
display: none;
width: 100%;
margin-top: .25rem;
font-size: 80%;
color: #28a745
}
.valid-tooltip {
position: absolute;
top: 100%;
left: 0;
z-index: 5;
display: none;
max-width: 100%;
padding: .25rem .5rem;
margin-top: .1rem;
font-size: .875rem;
line-height: 1.5;
color: #fff;
background-color: rgba(40,167,69,.9);
border-radius: .25rem
}
.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip {
display: block
}
.form-control.is-valid,.was-validated .form-control:valid {
border-color: #28a745;
padding-right: calc(1.5em + .75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right calc(.375em + .1875rem) center;
background-size: calc(.75em + .375rem) calc(.75em + .375rem)
}
.form-control.is-valid:focus,.was-validated .form-control:valid:focus {
border-color: #28a745;
box-shadow: 0 0 0 .2rem rgba(40,167,69,.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)
}
.custom-select.is-valid,.was-validated .custom-select:valid {
border-color: #28a745;
padding-right: calc(.75em + 2.3125rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)
}
.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus {
border-color: #28a745;
box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
}
.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label {
color: #28a745
}
.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip {
display: block
}
.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label {
color: #28a745
}
.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before {
border-color: #28a745
}
.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before {
border-color: #34ce57;
background-color: #34ce57
}
.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before {
box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
}
.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before {
border-color: #28a745
}
.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label {
border-color: #28a745
}
.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label {
border-color: #28a745;
box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
}
.invalid-feedback {
display: none;
width: 100%;
margin-top: .25rem;
font-size: 80%;
color: #dc3545
}
.invalid-tooltip {
position: absolute;
top: 100%;
left: 0;
z-index: 5;
display: none;
max-width: 100%;
padding: .25rem .5rem;
margin-top: .1rem;
font-size: .875rem;
line-height: 1.5;
color: #fff;
background-color: rgba(220,53,69,.9);
border-radius: .25rem
}
.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip {
display: block
}
.form-control.is-invalid,.was-validated .form-control:invalid {
border-color: #dc3545;
padding-right: calc(1.5em + .75rem);
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' 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)
}
.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus {
border-color: #dc3545;
box-shadow: 0 0 0 .2rem rgba(220,53,69,.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)
}
.custom-select.is-invalid,.was-validated .custom-select:invalid {
border-color: #dc3545;
padding-right: calc(.75em + 2.3125rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)
}
.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus {
border-color: #dc3545;
box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
}
.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label {
color: #dc3545
}
.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip {
display: block
}
.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label {
color: #dc3545
}
.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before {
border-color: #dc3545
}
.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before {
border-color: #e4606d;
background-color: #e4606d
}
.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before {
box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
}
.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before {
border-color: #dc3545
}
.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label {
border-color: #dc3545
}
.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label {
border-color: #dc3545;
box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
}
.form-inline {
display: -ms-flexbox;
display: flex;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-ms-flex-align: center;
align-items: center
}
.form-inline .form-check {
width: 100%
}
@media (min-width: 576px) {
.form-inline label {
display:-ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: center;
justify-content: center;
margin-bottom: 0
}
.form-inline .form-group {
display: -ms-flexbox;
display: flex;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
-ms-flex-align: center;
align-items: center;
margin-bottom: 0
}
.form-inline .form-control {
display: inline-block;
width: auto;
vertical-align: middle
}
.form-inline .form-control-plaintext {
display: inline-block
}
.form-inline .custom-select,.form-inline .input-group {
width: auto
}
.form-inline .form-check {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: center;
justify-content: center;
width: auto;
padding-left: 0
}
.form-inline .form-check-input {
position: relative;
-ms-flex-negative: 0;
flex-shrink: 0;
margin-top: 0;
margin-right: .25rem;
margin-left: 0
}
.form-inline .custom-control {
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: center;
justify-content: center
}
.form-inline .custom-control-label {
margin-bottom: 0
}
}
.btn {
display: inline-block;
font-weight: 400;
color: #212529;
text-align: center;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
padding: .375rem .75rem;
font-size: 1rem;
line-height: 1.5;
border-radius: .25rem;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
.btn {
transition: none
}
}
.btn:hover {
color: #212529;
text-decoration: none
}
.btn.focus,.btn:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.btn.disabled,.btn:disabled {
opacity: .65
}
.btn:not(:disabled):not(.disabled) {
cursor: pointer
}
a.btn.disabled,fieldset:disabled a.btn {
pointer-events: none
}
.btn-primary {
color: #fff;
background-color: #007bff;
border-color: #007bff
}
.btn-primary:hover {
color: #fff;
background-color: #0069d9;
border-color: #0062cc
}
.btn-primary.focus,.btn-primary:focus {
color: #fff;
background-color: #0069d9;
border-color: #0062cc;
box-shadow: 0 0 0 .2rem rgba(38,143,255,.5)
}
.btn-primary.disabled,.btn-primary:disabled {
color: #fff;
background-color: #007bff;
border-color: #007bff
}
.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle {
color: #fff;
background-color: #0062cc;
border-color: #005cbf
}
.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(38,143,255,.5)
}
.btn-secondary {
color: #fff;
background-color: #6c757d;
border-color: #6c757d
}
.btn-secondary:hover {
color: #fff;
background-color: #5a6268;
border-color: #545b62
}
.btn-secondary.focus,.btn-secondary:focus {
color: #fff;
background-color: #5a6268;
border-color: #545b62;
box-shadow: 0 0 0 .2rem rgba(130,138,145,.5)
}
.btn-secondary.disabled,.btn-secondary:disabled {
color: #fff;
background-color: #6c757d;
border-color: #6c757d
}
.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle {
color: #fff;
background-color: #545b62;
border-color: #4e555b
}
.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(130,138,145,.5)
}
.btn-success {
color: #fff;
background-color: #28a745;
border-color: #28a745
}
.btn-success:hover {
color: #fff;
background-color: #218838;
border-color: #1e7e34
}
.btn-success.focus,.btn-success:focus {
color: #fff;
background-color: #218838;
border-color: #1e7e34;
box-shadow: 0 0 0 .2rem rgba(72,180,97,.5)
}
.btn-success.disabled,.btn-success:disabled {
color: #fff;
background-color: #28a745;
border-color: #28a745
}
.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle {
color: #fff;
background-color: #1e7e34;
border-color: #1c7430
}
.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(72,180,97,.5)
}
.btn-info {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8
}
.btn-info:hover {
color: #fff;
background-color: #138496;
border-color: #117a8b
}
.btn-info.focus,.btn-info:focus {
color: #fff;
background-color: #138496;
border-color: #117a8b;
box-shadow: 0 0 0 .2rem rgba(58,176,195,.5)
}
.btn-info.disabled,.btn-info:disabled {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8
}
.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle {
color: #fff;
background-color: #117a8b;
border-color: #10707f
}
.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(58,176,195,.5)
}
.btn-warning {
color: #212529;
background-color: #ffc107;
border-color: #ffc107
}
.btn-warning:hover {
color: #212529;
background-color: #e0a800;
border-color: #d39e00
}
.btn-warning.focus,.btn-warning:focus {
color: #212529;
background-color: #e0a800;
border-color: #d39e00;
box-shadow: 0 0 0 .2rem rgba(222,170,12,.5)
}
.btn-warning.disabled,.btn-warning:disabled {
color: #212529;
background-color: #ffc107;
border-color: #ffc107
}
.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle {
color: #212529;
background-color: #d39e00;
border-color: #c69500
}
.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(222,170,12,.5)
}
.btn-danger {
color: #fff;
background-color: #dc3545;
border-color: #dc3545
}
.btn-danger:hover {
color: #fff;
background-color: #c82333;
border-color: #bd2130
}
.btn-danger.focus,.btn-danger:focus {
color: #fff;
background-color: #c82333;
border-color: #bd2130;
box-shadow: 0 0 0 .2rem rgba(225,83,97,.5)
}
.btn-danger.disabled,.btn-danger:disabled {
color: #fff;
background-color: #dc3545;
border-color: #dc3545
}
.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle {
color: #fff;
background-color: #bd2130;
border-color: #b21f2d
}
.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(225,83,97,.5)
}
.btn-light {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa
}
.btn-light:hover {
color: #212529;
background-color: #e2e6ea;
border-color: #dae0e5
}
.btn-light.focus,.btn-light:focus {
color: #212529;
background-color: #e2e6ea;
border-color: #dae0e5;
box-shadow: 0 0 0 .2rem rgba(216,217,219,.5)
}
.btn-light.disabled,.btn-light:disabled {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa
}
.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle {
color: #212529;
background-color: #dae0e5;
border-color: #d3d9df
}
.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(216,217,219,.5)
}
.btn-dark {
color: #fff;
background-color: #343a40;
border-color: #343a40
}
.btn-dark:hover {
color: #fff;
background-color: #23272b;
border-color: #1d2124
}
.btn-dark.focus,.btn-dark:focus {
color: #fff;
background-color: #23272b;
border-color: #1d2124;
box-shadow: 0 0 0 .2rem rgba(82,88,93,.5)
}
.btn-dark.disabled,.btn-dark:disabled {
color: #fff;
background-color: #343a40;
border-color: #343a40
}
.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle {
color: #fff;
background-color: #1d2124;
border-color: #171a1d
}
.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(82,88,93,.5)
}
.btn-outline-primary {
color: #007bff;
border-color: #007bff
}
.btn-outline-primary:hover {
color: #fff;
background-color: #007bff;
border-color: #007bff
}
.btn-outline-primary.focus,.btn-outline-primary:focus {
box-shadow: 0 0 0 .2rem rgba(0,123,255,.5)
}
.btn-outline-primary.disabled,.btn-outline-primary:disabled {
color: #007bff;
background-color: transparent
}
.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle {
color: #fff;
background-color: #007bff;
border-color: #007bff
}
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(0,123,255,.5)
}
.btn-outline-secondary {
color: #6c757d;
border-color: #6c757d
}
.btn-outline-secondary:hover {
color: #fff;
background-color: #6c757d;
border-color: #6c757d
}
.btn-outline-secondary.focus,.btn-outline-secondary:focus {
box-shadow: 0 0 0 .2rem rgba(108,117,125,.5)
}
.btn-outline-secondary.disabled,.btn-outline-secondary:disabled {
color: #6c757d;
background-color: transparent
}
.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle {
color: #fff;
background-color: #6c757d;
border-color: #6c757d
}
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(108,117,125,.5)
}
.btn-outline-success {
color: #28a745;
border-color: #28a745
}
.btn-outline-success:hover {
color: #fff;
background-color: #28a745;
border-color: #28a745
}
.btn-outline-success.focus,.btn-outline-success:focus {
box-shadow: 0 0 0 .2rem rgba(40,167,69,.5)
}
.btn-outline-success.disabled,.btn-outline-success:disabled {
color: #28a745;
background-color: transparent
}
.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle {
color: #fff;
background-color: #28a745;
border-color: #28a745
}
.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(40,167,69,.5)
}
.btn-outline-info {
color: #17a2b8;
border-color: #17a2b8
}
.btn-outline-info:hover {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8
}
.btn-outline-info.focus,.btn-outline-info:focus {
box-shadow: 0 0 0 .2rem rgba(23,162,184,.5)
}
.btn-outline-info.disabled,.btn-outline-info:disabled {
color: #17a2b8;
background-color: transparent
}
.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle {
color: #fff;
background-color: #17a2b8;
border-color: #17a2b8
}
.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(23,162,184,.5)
}
.btn-outline-warning {
color: #ffc107;
border-color: #ffc107
}
.btn-outline-warning:hover {
color: #212529;
background-color: #ffc107;
border-color: #ffc107
}
.btn-outline-warning.focus,.btn-outline-warning:focus {
box-shadow: 0 0 0 .2rem rgba(255,193,7,.5)
}
.btn-outline-warning.disabled,.btn-outline-warning:disabled {
color: #ffc107;
background-color: transparent
}
.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle {
color: #212529;
background-color: #ffc107;
border-color: #ffc107
}
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(255,193,7,.5)
}
.btn-outline-danger {
color: #dc3545;
border-color: #dc3545
}
.btn-outline-danger:hover {
color: #fff;
background-color: #dc3545;
border-color: #dc3545
}
.btn-outline-danger.focus,.btn-outline-danger:focus {
box-shadow: 0 0 0 .2rem rgba(220,53,69,.5)
}
.btn-outline-danger.disabled,.btn-outline-danger:disabled {
color: #dc3545;
background-color: transparent
}
.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle {
color: #fff;
background-color: #dc3545;
border-color: #dc3545
}
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(220,53,69,.5)
}
.btn-outline-light {
color: #f8f9fa;
border-color: #f8f9fa
}
.btn-outline-light:hover {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa
}
.btn-outline-light.focus,.btn-outline-light:focus {
box-shadow: 0 0 0 .2rem rgba(248,249,250,.5)
}
.btn-outline-light.disabled,.btn-outline-light:disabled {
color: #f8f9fa;
background-color: transparent
}
.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle {
color: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa
}
.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(248,249,250,.5)
}
.btn-outline-dark {
color: #343a40;
border-color: #343a40
}
.btn-outline-dark:hover {
color: #fff;
background-color: #343a40;
border-color: #343a40
}
.btn-outline-dark.focus,.btn-outline-dark:focus {
box-shadow: 0 0 0 .2rem rgba(52,58,64,.5)
}
.btn-outline-dark.disabled,.btn-outline-dark:disabled {
color: #343a40;
background-color: transparent
}
.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle {
color: #fff;
background-color: #343a40;
border-color: #343a40
}
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus {
box-shadow: 0 0 0 .2rem rgba(52,58,64,.5)
}
.btn-link {
font-weight: 400;
color: #007bff;
text-decoration: none
}
.btn-link:hover {
color: #0056b3;
text-decoration: underline
}
.btn-link.focus,.btn-link:focus {
text-decoration: underline
}
.btn-link.disabled,.btn-link:disabled {
color: #6c757d;
pointer-events: none
}
.btn-group-lg>.btn,.btn-lg {
padding: .5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: .3rem
}
.btn-group-sm>.btn,.btn-sm {
padding: .25rem .5rem;
font-size: .875rem;
line-height: 1.5;
border-radius: .2rem
}
.btn-block {
display: block;
width: 100%
}
.btn-block+.btn-block {
margin-top: .5rem
}
input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block {
width: 100%
}
.fade {
transition: opacity .15s linear
}
@media (prefers-reduced-motion:reduce) {
.fade {
transition: none
}
}
.fade:not(.show) {
opacity: 0
}
.collapse:not(.show) {
display: none
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
transition: height .35s ease
}
@media (prefers-reduced-motion:reduce) {
.collapsing {
transition: none
}
}
.dropdown,.dropleft,.dropright,.dropup {
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;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 10rem;
padding: .5rem 0;
margin: .125rem 0 0;
font-size: 1rem;
color: #212529;
text-align: left;
list-style: none;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.15);
border-radius: .25rem
}
.dropdown-menu-left {
right: auto;
left: 0
}
.dropdown-menu-right {
right: 0;
left: auto
}
@media (min-width: 576px) {
.dropdown-menu-sm-left {
right:auto;
left: 0
}
.dropdown-menu-sm-right {
right: 0;
left: auto
}
}
@media (min-width: 768px) {
.dropdown-menu-md-left {
right:auto;
left: 0
}
.dropdown-menu-md-right {
right: 0;
left: auto
}
}
@media (min-width: 992px) {
.dropdown-menu-lg-left {
right:auto;
left: 0
}
.dropdown-menu-lg-right {
right: 0;
left: auto
}
}
@media (min-width: 1200px) {
.dropdown-menu-xl-left {
right:auto;
left: 0
}
.dropdown-menu-xl-right {
right: 0;
left: auto
}
}
.dropup .dropdown-menu {
top: auto;
bottom: 100%;
margin-top: 0;
margin-bottom: .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
}
.dropright .dropdown-menu {
top: 0;
right: auto;
left: 100%;
margin-top: 0;
margin-left: .125rem
}
.dropright .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
}
.dropright .dropdown-toggle:empty::after {
margin-left: 0
}
.dropright .dropdown-toggle::after {
vertical-align: 0
}
.dropleft .dropdown-menu {
top: 0;
right: 100%;
left: auto;
margin-top: 0;
margin-right: .125rem
}
.dropleft .dropdown-toggle::after {
display: inline-block;
margin-left: .255em;
vertical-align: .255em;
content: ""
}
.dropleft .dropdown-toggle::after {
display: none
}
.dropleft .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
}
.dropleft .dropdown-toggle:empty::after {
margin-left: 0
}
.dropleft .dropdown-toggle::before {
vertical-align: 0
}
.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top] {
right: auto;
bottom: auto
}
.dropdown-divider {
height: 0;
margin: .5rem 0;
overflow: hidden;
border-top: 1px solid #e9ecef
}
.dropdown-item {
display: block;
width: 100%;
padding: .25rem 1.5rem;
clear: both;
font-weight: 400;
color: #212529;
text-align: inherit;
white-space: nowrap;
background-color: transparent;
border: 0
}
.dropdown-item:focus,.dropdown-item:hover {
color: #16181b;
text-decoration: none;
background-color: #f8f9fa
}
.dropdown-item.active,.dropdown-item:active {
color: #fff;
text-decoration: none;
background-color: #007bff
}
.dropdown-item.disabled,.dropdown-item:disabled {
color: #6c757d;
pointer-events: none;
background-color: transparent
}
.dropdown-menu.show {
display: block
}
.dropdown-header {
display: block;
padding: .5rem 1.5rem;
margin-bottom: 0;
font-size: .875rem;
color: #6c757d;
white-space: nowrap
}
.dropdown-item-text {
display: block;
padding: .25rem 1.5rem;
color: #212529
}
.btn-group,.btn-group-vertical {
position: relative;
display: -ms-inline-flexbox;
display: inline-flex;
vertical-align: middle
}
.btn-group-vertical>.btn,.btn-group>.btn {
position: relative;
-ms-flex: 1 1 auto;
flex: 1 1 auto
}
.btn-group-vertical>.btn:hover,.btn-group>.btn:hover {
z-index: 1
}
.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus {
z-index: 1
}
.btn-toolbar {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-pack: start;
justify-content: flex-start
}
.btn-toolbar .input-group {
width: auto
}
.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child) {
margin-left: -1px
}
.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
border-top-right-radius: 0;
border-bottom-right-radius: 0
}
.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0
}
.dropdown-toggle-split {
padding-right: .5625rem;
padding-left: .5625rem
}
.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after {
margin-left: 0
}
.dropleft .dropdown-toggle-split::before {
margin-right: 0
}
.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split {
padding-right: .375rem;
padding-left: .375rem
}
.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split {
padding-right: .75rem;
padding-left: .75rem
}
.btn-group-vertical {
-ms-flex-direction: column;
flex-direction: column;
-ms-flex-align: start;
align-items: flex-start;
-ms-flex-pack: center;
justify-content: center
}
.btn-group-vertical>.btn,.btn-group-vertical>.btn-group {
width: 100%
}
.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child) {
margin-top: -1px
}
.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle) {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0
}
.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child) {
border-top-left-radius: 0;
border-top-right-radius: 0
}
.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn {
margin-bottom: 0
}
.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio] {
position: absolute;
clip: rect(0,0,0,0);
pointer-events: none
}
.input-group {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-align: stretch;
align-items: stretch;
width: 100%
}
.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext {
position: relative;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
min-width: 0;
margin-bottom: 0
}
.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control {
margin-left: -1px
}
.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus {
z-index: 3
}
.input-group>.custom-file .custom-file-input:focus {
z-index: 4
}
.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0
}
.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child) {
border-top-left-radius: 0;
border-bottom-left-radius: 0
}
.input-group>.custom-file {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center
}
.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after {
border-top-right-radius: 0;
border-bottom-right-radius: 0
}
.input-group>.custom-file:not(:first-child) .custom-file-label {
border-top-left-radius: 0;
border-bottom-left-radius: 0
}
.input-group-append,.input-group-prepend {
display: -ms-flexbox;
display: flex
}
.input-group-append .btn,.input-group-prepend .btn {
position: relative;
z-index: 2
}
.input-group-append .btn:focus,.input-group-prepend .btn:focus {
z-index: 3
}
.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text {
margin-left: -1px
}
.input-group-prepend {
margin-right: -1px
}
.input-group-append {
margin-left: -1px
}
.input-group-text {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
padding: .375rem .75rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
text-align: center;
white-space: nowrap;
background-color: #e9ecef;
border: 1px solid #ced4da;
border-radius: .25rem
}
.input-group-text input[type=checkbox],.input-group-text input[type=radio] {
margin-top: 0
}
.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea) {
height: calc(1.5em + 1rem + 2px)
}
.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text {
padding: .5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: .3rem
}
.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea) {
height: calc(1.5em + .5rem + 2px)
}
.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text {
padding: .25rem .5rem;
font-size: .875rem;
line-height: 1.5;
border-radius: .2rem
}
.input-group-lg>.custom-select,.input-group-sm>.custom-select {
padding-right: 1.75rem
}
.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text {
border-top-right-radius: 0;
border-bottom-right-radius: 0
}
.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text {
border-top-left-radius: 0;
border-bottom-left-radius: 0
}
.custom-control {
position: relative;
z-index: 1;
display: block;
min-height: 1.5rem;
padding-left: 1.5rem
}
.custom-control-inline {
display: -ms-inline-flexbox;
display: inline-flex;
margin-right: 1rem
}
.custom-control-input {
position: absolute;
left: 0;
z-index: -1;
width: 1rem;
height: 1.25rem;
opacity: 0
}
.custom-control-input:checked~.custom-control-label::before {
color: #fff;
border-color: #007bff;
background-color: #007bff
}
.custom-control-input:focus~.custom-control-label::before {
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-control-input:focus:not(:checked)~.custom-control-label::before {
border-color: #80bdff
}
.custom-control-input:not(:disabled):active~.custom-control-label::before {
color: #fff;
background-color: #b3d7ff;
border-color: #b3d7ff
}
.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label {
color: #6c757d
}
.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before {
background-color: #e9ecef
}
.custom-control-label {
position: relative;
margin-bottom: 0;
vertical-align: top
}
.custom-control-label::before {
position: absolute;
top: .25rem;
left: -1.5rem;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
content: "";
background-color: #fff;
border: #adb5bd solid 1px
}
.custom-control-label::after {
position: absolute;
top: .25rem;
left: -1.5rem;
display: block;
width: 1rem;
height: 1rem;
content: "";
background: no-repeat 50%/50% 50%
}
.custom-checkbox .custom-control-label::before {
border-radius: .25rem
}
.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")
}
.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before {
border-color: #007bff;
background-color: #007bff
}
.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")
}
.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before {
background-color: rgba(0,123,255,.5)
}
.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before {
background-color: rgba(0,123,255,.5)
}
.custom-radio .custom-control-label::before {
border-radius: 50%
}
.custom-radio .custom-control-input:checked~.custom-control-label::after {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
}
.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before {
background-color: rgba(0,123,255,.5)
}
.custom-switch {
padding-left: 2.25rem
}
.custom-switch .custom-control-label::before {
left: -2.25rem;
width: 1.75rem;
pointer-events: all;
border-radius: .5rem
}
.custom-switch .custom-control-label::after {
top: calc(.25rem + 2px);
left: calc(-2.25rem + 2px);
width: calc(1rem - 4px);
height: calc(1rem - 4px);
background-color: #adb5bd;
border-radius: .5rem;
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;
transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
.custom-switch .custom-control-label::after {
transition: none
}
}
.custom-switch .custom-control-input:checked~.custom-control-label::after {
background-color: #fff;
-webkit-transform: translateX(.75rem);
transform: translateX(.75rem)
}
.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before {
background-color: rgba(0,123,255,.5)
}
.custom-select {
display: inline-block;
width: 100%;
height: calc(1.5em + .75rem + 2px);
padding: .375rem 1.75rem .375rem .75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
vertical-align: middle;
background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
border: 1px solid #ced4da;
border-radius: .25rem;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none
}
.custom-select:focus {
border-color: #80bdff;
outline: 0;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-select:focus::-ms-value {
color: #495057;
background-color: #fff
}
.custom-select[multiple],.custom-select[size]:not([size="1"]) {
height: auto;
padding-right: .75rem;
background-image: none
}
.custom-select:disabled {
color: #6c757d;
background-color: #e9ecef
}
.custom-select::-ms-expand {
display: none
}
.custom-select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #495057
}
.custom-select-sm {
height: calc(1.5em + .5rem + 2px);
padding-top: .25rem;
padding-bottom: .25rem;
padding-left: .5rem;
font-size: .875rem
}
.custom-select-lg {
height: calc(1.5em + 1rem + 2px);
padding-top: .5rem;
padding-bottom: .5rem;
padding-left: 1rem;
font-size: 1.25rem
}
.custom-file {
position: relative;
display: inline-block;
width: 100%;
height: calc(1.5em + .75rem + 2px);
margin-bottom: 0
}
.custom-file-input {
position: relative;
z-index: 2;
width: 100%;
height: calc(1.5em + .75rem + 2px);
margin: 0;
opacity: 0
}
.custom-file-input:focus~.custom-file-label {
border-color: #80bdff;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label {
background-color: #e9ecef
}
.custom-file-input:lang(en)~.custom-file-label::after {
content: "Browse"
}
.custom-file-input~.custom-file-label[data-browse]::after {
content: attr(data-browse)
}
.custom-file-label {
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 1;
height: calc(1.5em + .75rem + 2px);
padding: .375rem .75rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
border: 1px solid #ced4da;
border-radius: .25rem
}
.custom-file-label::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
z-index: 3;
display: block;
height: calc(1.5em + .75rem);
padding: .375rem .75rem;
line-height: 1.5;
color: #495057;
content: "Browse";
background-color: #e9ecef;
border-left: inherit;
border-radius: 0 .25rem .25rem 0
}
.custom-range {
width: 100%;
height: 1.4rem;
padding: 0;
background-color: transparent;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none
}
.custom-range:focus {
outline: 0
}
.custom-range:focus::-webkit-slider-thumb {
box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-range:focus::-moz-range-thumb {
box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-range:focus::-ms-thumb {
box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)
}
.custom-range::-moz-focus-outer {
border: 0
}
.custom-range::-webkit-slider-thumb {
width: 1rem;
height: 1rem;
margin-top: -.25rem;
background-color: #007bff;
border: 0;
border-radius: 1rem;
-webkit-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
-webkit-appearance: none;
appearance: none
}
@media (prefers-reduced-motion:reduce) {
.custom-range::-webkit-slider-thumb {
-webkit-transition: none;
transition: none
}
}
.custom-range::-webkit-slider-thumb:active {
background-color: #b3d7ff
}
.custom-range::-webkit-slider-runnable-track {
width: 100%;
height: .5rem;
color: transparent;
cursor: pointer;
background-color: #dee2e6;
border-color: transparent;
border-radius: 1rem
}
.custom-range::-moz-range-thumb {
width: 1rem;
height: 1rem;
background-color: #007bff;
border: 0;
border-radius: 1rem;
-moz-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
-moz-appearance: none;
appearance: none
}
@media (prefers-reduced-motion:reduce) {
.custom-range::-moz-range-thumb {
-moz-transition: none;
transition: none
}
}
.custom-range::-moz-range-thumb:active {
background-color: #b3d7ff
}
.custom-range::-moz-range-track {
width: 100%;
height: .5rem;
color: transparent;
cursor: pointer;
background-color: #dee2e6;
border-color: transparent;
border-radius: 1rem
}
.custom-range::-ms-thumb {
width: 1rem;
height: 1rem;
margin-top: 0;
margin-right: .2rem;
margin-left: .2rem;
background-color: #007bff;
border: 0;
border-radius: 1rem;
-ms-transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
appearance: none
}
@media (prefers-reduced-motion:reduce) {
.custom-range::-ms-thumb {
-ms-transition: none;
transition: none
}
}
.custom-range::-ms-thumb:active {
background-color: #b3d7ff
}
.custom-range::-ms-track {
width: 100%;
height: .5rem;
color: transparent;
cursor: pointer;
background-color: transparent;
border-color: transparent;
border-width: .5rem
}
.custom-range::-ms-fill-lower {
background-color: #dee2e6;
border-radius: 1rem
}
.custom-range::-ms-fill-upper {
margin-right: 15px;
background-color: #dee2e6;
border-radius: 1rem
}
.custom-range:disabled::-webkit-slider-thumb {
background-color: #adb5bd
}
.custom-range:disabled::-webkit-slider-runnable-track {
cursor: default
}
.custom-range:disabled::-moz-range-thumb {
background-color: #adb5bd
}
.custom-range:disabled::-moz-range-track {
cursor: default
}
.custom-range:disabled::-ms-thumb {
background-color: #adb5bd
}
.custom-control-label::before,.custom-file-label,.custom-select {
transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
.custom-control-label::before,.custom-file-label,.custom-select {
transition: none
}
}
.nav {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none
}
.nav-link {
display: block;
padding: .5rem 1rem
}
.nav-link:focus,.nav-link:hover {
text-decoration: none
}
.nav-link.disabled {
color: #6c757d;
pointer-events: none;
cursor: default
}
.nav-tabs {
border-bottom: 1px solid #dee2e6
}
.nav-tabs .nav-item {
margin-bottom: -1px
}
.nav-tabs .nav-link {
border: 1px solid transparent;
border-top-left-radius: .25rem;
border-top-right-radius: .25rem
}
.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover {
border-color: #e9ecef #e9ecef #dee2e6
}
.nav-tabs .nav-link.disabled {
color: #6c757d;
background-color: transparent;
border-color: transparent
}
.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active {
color: #495057;
background-color: #fff;
border-color: #dee2e6 #dee2e6 #fff
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-left-radius: 0;
border-top-right-radius: 0
}
.nav-pills .nav-link {
border-radius: .25rem
}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link {
color: #fff;
background-color: #007bff
}
.nav-fill .nav-item,.nav-fill>.nav-link {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center
}
.nav-justified .nav-item,.nav-justified>.nav-link {
-ms-flex-preferred-size: 0;
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
text-align: center
}
.tab-content>.tab-pane {
display: none
}
.tab-content>.active {
display: block
}
.navbar {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: justify;
justify-content: space-between;
padding: .5rem 1rem
}
.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: justify;
justify-content: space-between
}
.navbar-brand {
display: inline-block;
padding-top: .3125rem;
padding-bottom: .3125rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
white-space: nowrap
}
.navbar-brand:focus,.navbar-brand:hover {
text-decoration: none
}
.navbar-nav {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
list-style: none
}
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 0
}
.navbar-nav .dropdown-menu {
position: static;
float: none
}
.navbar-text {
display: inline-block;
padding-top: .5rem;
padding-bottom: .5rem
}
.navbar-collapse {
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
-ms-flex-positive: 1;
flex-grow: 1;
-ms-flex-align: center;
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
}
.navbar-toggler:focus,.navbar-toggler:hover {
text-decoration: none
}
.navbar-toggler-icon {
display: inline-block;
width: 1.5em;
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
background-size: 100% 100%
}
@media (max-width: 575.98px) {
.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl {
padding-right:0;
padding-left: 0
}
}
@media (min-width: 576px) {
.navbar-expand-sm {
-ms-flex-flow:row nowrap;
flex-flow: row nowrap;
-ms-flex-pack: start;
justify-content: flex-start
}
.navbar-expand-sm .navbar-nav {
-ms-flex-direction: row;
flex-direction: row
}
.navbar-expand-sm .navbar-nav .dropdown-menu {
position: absolute
}
.navbar-expand-sm .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem
}
.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap
}
.navbar-expand-sm .navbar-collapse {
display: -ms-flexbox!important;
display: flex!important;
-ms-flex-preferred-size: auto;
flex-basis: auto
}
.navbar-expand-sm .navbar-toggler {
display: none
}
}
@media (max-width: 767.98px) {
.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl {
padding-right:0;
padding-left: 0
}
}
@media (min-width: 768px) {
.navbar-expand-md {
-ms-flex-flow:row nowrap;
flex-flow: row nowrap;
-ms-flex-pack: start;
justify-content: flex-start
}
.navbar-expand-md .navbar-nav {
-ms-flex-direction: row;
flex-direction: row
}
.navbar-expand-md .navbar-nav .dropdown-menu {
position: absolute
}
.navbar-expand-md .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem
}
.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap
}
.navbar-expand-md .navbar-collapse {
display: -ms-flexbox!important;
display: flex!important;
-ms-flex-preferred-size: auto;
flex-basis: auto
}
.navbar-expand-md .navbar-toggler {
display: none
}
}
@media (max-width: 991.98px) {
.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl {
padding-right:0;
padding-left: 0
}
}
@media (min-width: 992px) {
.navbar-expand-lg {
-ms-flex-flow:row nowrap;
flex-flow: row nowrap;
-ms-flex-pack: start;
justify-content: flex-start
}
.navbar-expand-lg .navbar-nav {
-ms-flex-direction: row;
flex-direction: row
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
position: absolute
}
.navbar-expand-lg .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem
}
.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap
}
.navbar-expand-lg .navbar-collapse {
display: -ms-flexbox!important;
display: flex!important;
-ms-flex-preferred-size: auto;
flex-basis: auto
}
.navbar-expand-lg .navbar-toggler {
display: none
}
}
@media (max-width: 1199.98px) {
.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl {
padding-right:0;
padding-left: 0
}
}
@media (min-width: 1200px) {
.navbar-expand-xl {
-ms-flex-flow:row nowrap;
flex-flow: row nowrap;
-ms-flex-pack: start;
justify-content: flex-start
}
.navbar-expand-xl .navbar-nav {
-ms-flex-direction: row;
flex-direction: row
}
.navbar-expand-xl .navbar-nav .dropdown-menu {
position: absolute
}
.navbar-expand-xl .navbar-nav .nav-link {
padding-right: .5rem;
padding-left: .5rem
}
.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap
}
.navbar-expand-xl .navbar-collapse {
display: -ms-flexbox!important;
display: flex!important;
-ms-flex-preferred-size: auto;
flex-basis: auto
}
.navbar-expand-xl .navbar-toggler {
display: none
}
}
.navbar-expand {
-ms-flex-flow: row nowrap;
flex-flow: row nowrap;
-ms-flex-pack: start;
justify-content: flex-start
}
.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl {
padding-right: 0;
padding-left: 0
}
.navbar-expand .navbar-nav {
-ms-flex-direction: row;
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>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap
}
.navbar-expand .navbar-collapse {
display: -ms-flexbox!important;
display: flex!important;
-ms-flex-preferred-size: auto;
flex-basis: auto
}
.navbar-expand .navbar-toggler {
display: none
}
.navbar-light .navbar-brand {
color: rgba(0,0,0,.9)
}
.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover {
color: rgba(0,0,0,.9)
}
.navbar-light .navbar-nav .nav-link {
color: rgba(0,0,0,.5)
}
.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover {
color: rgba(0,0,0,.7)
}
.navbar-light .navbar-nav .nav-link.disabled {
color: rgba(0,0,0,.3)
}
.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link {
color: rgba(0,0,0,.9)
}
.navbar-light .navbar-toggler {
color: rgba(0,0,0,.5);
border-color: rgba(0,0,0,.1)
}
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%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,.5)
}
.navbar-light .navbar-text a {
color: rgba(0,0,0,.9)
}
.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover {
color: rgba(0,0,0,.9)
}
.navbar-dark .navbar-brand {
color: #fff
}
.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover {
color: #fff
}
.navbar-dark .navbar-nav .nav-link {
color: rgba(33,37,41,.5)
}
.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover {
color: rgba(33,37,41,.75)
}
.navbar-dark .navbar-nav .nav-link.disabled {
color: rgba(33,37,41,.25)
}
.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link {
color: #fff
}
.navbar-dark .navbar-toggler {
color: rgba(33,37,41,.5);
border-color: rgba(33,37,41,.1)
}
.navbar-dark .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
}
.navbar-dark .navbar-text {
color: rgba(33,37,41,.5)
}
.navbar-dark .navbar-text a {
color: #fff
}
.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover {
color: #fff
}
.card {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0;
word-wrap: break-word;
background-color: #fff;
background-clip: border-box;
border: 1px solid rgba(0,0,0,.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 {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
min-height: 1px;
padding: 1.25rem
}
.card-title {
margin-bottom: .75rem
}
.card-subtitle {
margin-top: -.375rem;
margin-bottom: 0
}
.card-text:last-child {
margin-bottom: 0
}
.card-link:hover {
text-decoration: none
}
.card-link+.card-link {
margin-left: 1.25rem
}
.card-header {
padding: .75rem 1.25rem;
margin-bottom: 0;
background-color: rgba(0,0,0,.03);
border-bottom: 1px solid rgba(0,0,0,.125)
}
.card-header:first-child {
border-radius: calc(.25rem - 1px) calc(.25rem - 1px) 0 0
}
.card-footer {
padding: .75rem 1.25rem;
background-color: rgba(0,0,0,.03);
border-top: 1px solid rgba(0,0,0,.125)
}
.card-footer:last-child {
border-radius: 0 0 calc(.25rem - 1px) calc(.25rem - 1px)
}
.card-header-tabs {
margin-right: -.625rem;
margin-bottom: -.75rem;
margin-left: -.625rem;
border-bottom: 0
}
.card-header-pills {
margin-right: -.625rem;
margin-left: -.625rem
}
.card-img-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 1.25rem;
border-radius: calc(.25rem - 1px)
}
.card-img,.card-img-bottom,.card-img-top {
-ms-flex-negative: 0;
flex-shrink: 0;
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-deck .card {
margin-bottom: 15px
}
@media (min-width: 576px) {
.card-deck {
display:-ms-flexbox;
display: flex;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
margin-right: -15px;
margin-left: -15px
}
.card-deck .card {
-ms-flex: 1 0 0;
flex: 1 0 0%;
margin-right: 15px;
margin-bottom: 0;
margin-left: 15px
}
}
.card-group>.card {
margin-bottom: 15px
}
@media (min-width: 576px) {
.card-group {
display:-ms-flexbox;
display: flex;
-ms-flex-flow: row wrap;
flex-flow: row wrap
}
.card-group>.card {
-ms-flex: 1 0 0;
flex: 1 0 0%;
margin-bottom: 0
}
.card-group>.card+.card {
margin-left: 0;
border-left: 0
}
.card-group>.card:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0
}
.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top {
border-top-right-radius: 0
}
.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom {
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-header,.card-group>.card:not(:first-child) .card-img-top {
border-top-left-radius: 0
}
.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom {
border-bottom-left-radius: 0
}
}
.card-columns .card {
margin-bottom: .75rem
}
@media (min-width: 576px) {
.card-columns {
-webkit-column-count:3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1.25rem;
-moz-column-gap: 1.25rem;
column-gap: 1.25rem;
orphans: 1;
widows: 1
}
.card-columns .card {
display: inline-block;
width: 100%
}
}
.accordion {
overflow-anchor: none
}
.accordion>.card {
overflow: hidden
}
.accordion>.card:not(:last-of-type) {
border-bottom: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0
}
.accordion>.card:not(:first-of-type) {
border-top-left-radius: 0;
border-top-right-radius: 0
}
.accordion>.card>.card-header {
border-radius: 0;
margin-bottom: -1px
}
.breadcrumb {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: .75rem 1rem;
margin-bottom: 1rem;
list-style: none;
background-color: #e9ecef;
border-radius: .25rem
}
.breadcrumb-item {
display: -ms-flexbox;
display: flex
}
.breadcrumb-item+.breadcrumb-item {
padding-left: .5rem
}
.breadcrumb-item+.breadcrumb-item::before {
display: inline-block;
padding-right: .5rem;
color: #6c757d;
content: "/"
}
.breadcrumb-item+.breadcrumb-item:hover::before {
text-decoration: underline
}
.breadcrumb-item+.breadcrumb-item:hover::before {
text-decoration: none
}
.breadcrumb-item.active {
color: #6c757d
}
.pagination {
display: -ms-flexbox;
display: flex;
padding-left: 0;
list-style: none;
border-radius: .25rem
}
.page-link {
position: relative;
display: block;
padding: .5rem .75rem;
margin-left: -1px;
line-height: 1.25;
color: #007bff;
background-color: #fff;
border: 1px solid #dee2e6
}
.page-link:hover {
z-index: 2;
color: #0056b3;
text-decoration: none;
background-color: #e9ecef;
border-color: #dee2e6
}
.page-link:focus {
z-index: 3;
outline: 0;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
}
.page-item:first-child .page-link {
margin-left: 0;
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
}
.page-item.active .page-link {
z-index: 3;
color: #fff;
background-color: #007bff;
border-color: #007bff
}
.page-item.disabled .page-link {
color: #6c757d;
pointer-events: none;
cursor: auto;
background-color: #fff;
border-color: #dee2e6
}
.pagination-lg .page-link {
padding: .75rem 1.5rem;
font-size: 1.25rem;
line-height: 1.5
}
.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;
line-height: 1.5
}
.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: .25em .4em;
font-size: 75%;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25rem;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
.badge {
transition: none
}
}
a.badge:focus,a.badge:hover {
text-decoration: none
}
.badge:empty {
display: none
}
.btn .badge {
position: relative;
top: -1px
}
.badge-pill {
padding-right: .6em;
padding-left: .6em;
border-radius: 10rem
}
.badge-primary {
color: #fff;
background-color: #007bff
}
a.badge-primary:focus,a.badge-primary:hover {
color: #fff;
background-color: #0062cc
}
a.badge-primary.focus,a.badge-primary:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(0,123,255,.5)
}
.badge-secondary {
color: #fff;
background-color: #6c757d
}
a.badge-secondary:focus,a.badge-secondary:hover {
color: #fff;
background-color: #545b62
}
a.badge-secondary.focus,a.badge-secondary:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(108,117,125,.5)
}
.badge-success {
color: #fff;
background-color: #28a745
}
a.badge-success:focus,a.badge-success:hover {
color: #fff;
background-color: #1e7e34
}
a.badge-success.focus,a.badge-success:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(40,167,69,.5)
}
.badge-info {
color: #fff;
background-color: #17a2b8
}
a.badge-info:focus,a.badge-info:hover {
color: #fff;
background-color: #117a8b
}
a.badge-info.focus,a.badge-info:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(23,162,184,.5)
}
.badge-warning {
color: #212529;
background-color: #ffc107
}
a.badge-warning:focus,a.badge-warning:hover {
color: #212529;
background-color: #d39e00
}
a.badge-warning.focus,a.badge-warning:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(255,193,7,.5)
}
.badge-danger {
color: #fff;
background-color: #dc3545
}
a.badge-danger:focus,a.badge-danger:hover {
color: #fff;
background-color: #bd2130
}
a.badge-danger.focus,a.badge-danger:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(220,53,69,.5)
}
.badge-light {
color: #212529;
background-color: #f8f9fa
}
a.badge-light:focus,a.badge-light:hover {
color: #212529;
background-color: #dae0e5
}
a.badge-light.focus,a.badge-light:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(248,249,250,.5)
}
.badge-dark {
color: #fff;
background-color: #343a40
}
a.badge-dark:focus,a.badge-dark:hover {
color: #fff;
background-color: #1d2124
}
a.badge-dark.focus,a.badge-dark:focus {
outline: 0;
box-shadow: 0 0 0 .2rem rgba(52,58,64,.5)
}
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
background-color: #e9ecef;
border-radius: .3rem
}
@media (min-width: 576px) {
.jumbotron {
padding:4rem 2rem
}
}
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
border-radius: 0
}
.alert {
position: relative;
padding: .75rem 1.25rem;
margin-bottom: 1rem;
border: 1px solid transparent;
border-radius: .25rem
}
.alert-heading {
color: inherit
}
.alert-link {
font-weight: 700
}
.alert-dismissible {
padding-right: 4rem
}
.alert-dismissible .close {
position: absolute;
top: 0;
right: 0;
padding: .75rem 1.25rem;
color: inherit
}
.alert-primary {
color: #004085;
background-color: #cce5ff;
border-color: #b8daff
}
.alert-primary hr {
border-top-color: #9fcdff
}
.alert-primary .alert-link {
color: #002752
}
.alert-secondary {
color: #383d41;
background-color: #e2e3e5;
border-color: #d6d8db
}
.alert-secondary hr {
border-top-color: #c8cbcf
}
.alert-secondary .alert-link {
color: #202326
}
.alert-success {
color: #155724;
background-color: #d4edda;
border-color: #c3e6cb
}
.alert-success hr {
border-top-color: #b1dfbb
}
.alert-success .alert-link {
color: #0b2e13
}
.alert-info {
color: #0c5460;
background-color: #d1ecf1;
border-color: #bee5eb
}
.alert-info hr {
border-top-color: #abdde5
}
.alert-info .alert-link {
color: #062c33
}
.alert-warning {
color: #856404;
background-color: #fff3cd;
border-color: #ffeeba
}
.alert-warning hr {
border-top-color: #ffe8a1
}
.alert-warning .alert-link {
color: #533f03
}
.alert-danger {
color: #721c24;
background-color: #f8d7da;
border-color: #f5c6cb
}
.alert-danger hr {
border-top-color: #f1b0b7
}
.alert-danger .alert-link {
color: #491217
}
.alert-light {
color: #818182;
background-color: #fefefe;
border-color: #fdfdfe
}
.alert-light hr {
border-top-color: #ececf6
}
.alert-light .alert-link {
color: #686868
}
.alert-dark {
color: #1b1e21;
background-color: #d6d8d9;
border-color: #c6c8ca
}
.alert-dark hr {
border-top-color: #b9bbbe
}
.alert-dark .alert-link {
color: #040505
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 1rem 0
}
to {
background-position: 0 0
}
}
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0
}
to {
background-position: 0 0
}
}
.progress {
display: -ms-flexbox;
display: flex;
height: 1rem;
overflow: hidden;
line-height: 0;
font-size: .75rem;
background-color: #e9ecef;
border-radius: .25rem
}
.progress-bar {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
-ms-flex-pack: center;
justify-content: center;
overflow: hidden;
color: #fff;
text-align: center;
white-space: nowrap;
background-color: #007bff;
transition: width .6s ease
}
@media (prefers-reduced-motion:reduce) {
.progress-bar {
transition: none
}
}
.progress-bar-striped {
background-image: linear-gradient(45deg,rgba(33,37,41,.15) 25%,transparent 25%,transparent 50%,rgba(33,37,41,.15) 50%,rgba(33,37,41,.15) 75%,transparent 75%,transparent);
background-size: 1rem 1rem
}
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite
}
@media (prefers-reduced-motion:reduce) {
.progress-bar-animated {
-webkit-animation: none;
animation: none
}
}
.media {
display: -ms-flexbox;
display: flex;
-ms-flex-align: start;
align-items: flex-start
}
.media-body {
-ms-flex: 1;
flex: 1
}
.list-group {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
border-radius: .25rem
}
.list-group-item-action {
width: 100%;
color: #495057;
text-align: inherit
}
.list-group-item-action:focus,.list-group-item-action:hover {
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: .75rem 1.25rem;
background-color: #fff;
border: 1px solid rgba(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: #007bff;
border-color: #007bff
}
.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 {
-ms-flex-direction: row;
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 {
-ms-flex-direction:row;
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 {
-ms-flex-direction:row;
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 {
-ms-flex-direction:row;
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 {
-ms-flex-direction:row;
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
}
}
.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: #004085;
background-color: #b8daff
}
.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover {
color: #004085;
background-color: #9fcdff
}
.list-group-item-primary.list-group-item-action.active {
color: #fff;
background-color: #004085;
border-color: #004085
}
.list-group-item-secondary {
color: #383d41;
background-color: #d6d8db
}
.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover {
color: #383d41;
background-color: #c8cbcf
}
.list-group-item-secondary.list-group-item-action.active {
color: #fff;
background-color: #383d41;
border-color: #383d41
}
.list-group-item-success {
color: #155724;
background-color: #c3e6cb
}
.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover {
color: #155724;
background-color: #b1dfbb
}
.list-group-item-success.list-group-item-action.active {
color: #fff;
background-color: #155724;
border-color: #155724
}
.list-group-item-info {
color: #0c5460;
background-color: #bee5eb
}
.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover {
color: #0c5460;
background-color: #abdde5
}
.list-group-item-info.list-group-item-action.active {
color: #fff;
background-color: #0c5460;
border-color: #0c5460
}
.list-group-item-warning {
color: #856404;
background-color: #ffeeba
}
.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover {
color: #856404;
background-color: #ffe8a1
}
.list-group-item-warning.list-group-item-action.active {
color: #fff;
background-color: #856404;
border-color: #856404
}
.list-group-item-danger {
color: #721c24;
background-color: #f5c6cb
}
.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover {
color: #721c24;
background-color: #f1b0b7
}
.list-group-item-danger.list-group-item-action.active {
color: #fff;
background-color: #721c24;
border-color: #721c24
}
.list-group-item-light {
color: #818182;
background-color: #fdfdfe
}
.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover {
color: #818182;
background-color: #ececf6
}
.list-group-item-light.list-group-item-action.active {
color: #fff;
background-color: #818182;
border-color: #818182
}
.list-group-item-dark {
color: #1b1e21;
background-color: #c6c8ca
}
.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover {
color: #1b1e21;
background-color: #b9bbbe
}
.list-group-item-dark.list-group-item-action.active {
color: #fff;
background-color: #1b1e21;
border-color: #1b1e21
}
.close {
float: right;
font-size: 1.5rem;
font-weight: 700;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5
}
.close:hover {
color: #000;
text-decoration: none
}
.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover {
opacity: .75
}
button.close {
padding: 0;
background-color: transparent;
border: 0
}
a.close.disabled {
pointer-events: none
}
.toast {
-ms-flex-preferred-size: 350px;
flex-basis: 350px;
max-width: 350px;
font-size: .875rem;
background-color: rgba(33,37,41,.85);
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.1);
box-shadow: 0 .25rem .75rem rgba(0,0,0,.1);
opacity: 0;
border-radius: .25rem
}
.toast:not(:last-child) {
margin-bottom: .75rem
}
.toast.showing {
opacity: 1
}
.toast.show {
display: block;
opacity: 1
}
.toast.hide {
display: none
}
.toast-header {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
padding: .25rem .75rem;
color: #6c757d;
background-color: rgba(33,37,41,.85);
background-clip: padding-box;
border-bottom: 1px solid rgba(0,0,0,.05);
border-top-left-radius: calc(.25rem - 1px);
border-top-right-radius: calc(.25rem - 1px)
}
.toast-body {
padding: .75rem
}
.modal-open {
overflow: hidden
}
.modal-open .modal {
overflow-x: hidden;
overflow-y: auto
}
.modal {
position: fixed;
top: 0;
left: 0;
z-index: 1050;
display: none;
width: 100%;
height: 100%;
overflow: hidden;
outline: 0
}
.modal-dialog {
position: relative;
width: auto;
margin: .5rem;
pointer-events: none
}
.modal.fade .modal-dialog {
transition: -webkit-transform .3s ease-out;
transition: transform .3s ease-out;
transition: transform .3s ease-out,-webkit-transform .3s ease-out;
-webkit-transform: translate(0,-50px);
transform: translate(0,-50px)
}
@media (prefers-reduced-motion:reduce) {
.modal.fade .modal-dialog {
transition: none
}
}
.modal.show .modal-dialog {
-webkit-transform: none;
transform: none
}
.modal.modal-static .modal-dialog {
-webkit-transform: scale(1.02);
transform: scale(1.02)
}
.modal-dialog-scrollable {
display: -ms-flexbox;
display: flex;
max-height: calc(100% - 1rem)
}
.modal-dialog-scrollable .modal-content {
max-height: calc(100vh - 1rem);
overflow: hidden
}
.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header {
-ms-flex-negative: 0;
flex-shrink: 0
}
.modal-dialog-scrollable .modal-body {
overflow-y: auto
}
.modal-dialog-centered {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
min-height: calc(100% - 1rem)
}
.modal-dialog-centered::before {
display: block;
height: calc(100vh - 1rem);
height: -webkit-min-content;
height: -moz-min-content;
height: min-content;
content: ""
}
.modal-dialog-centered.modal-dialog-scrollable {
-ms-flex-direction: column;
flex-direction: column;
-ms-flex-pack: center;
justify-content: center;
height: 100%
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
max-height: none
}
.modal-dialog-centered.modal-dialog-scrollable::before {
content: none
}
.modal-content {
position: relative;
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
width: 100%;
pointer-events: auto;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.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: -ms-flexbox;
display: flex;
-ms-flex-align: start;
align-items: flex-start;
-ms-flex-pack: justify;
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 .close {
padding: 1rem 1rem;
margin: -1rem -1rem -1rem auto
}
.modal-title {
margin-bottom: 0;
line-height: 1.5
}
.modal-body {
position: relative;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 1rem
}
.modal-footer {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: end;
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
}
.modal-scrollbar-measure {
position: absolute;
top: -9999px;
width: 50px;
height: 50px;
overflow: scroll
}
@media (min-width: 576px) {
.modal-dialog {
max-width:500px;
margin: 1.75rem auto
}
.modal-dialog-scrollable {
max-height: calc(100% - 3.5rem)
}
.modal-dialog-scrollable .modal-content {
max-height: calc(100vh - 3.5rem)
}
.modal-dialog-centered {
min-height: calc(100% - 3.5rem)
}
.modal-dialog-centered::before {
height: calc(100vh - 3.5rem);
height: -webkit-min-content;
height: -moz-min-content;
height: min-content
}
.modal-sm {
max-width: 300px
}
}
@media (min-width: 992px) {
.modal-lg,.modal-xl {
max-width:800px
}
}
@media (min-width: 1200px) {
.modal-xl {
max-width:1140px
}
}
.tooltip {
position: absolute;
z-index: 1070;
display: block;
margin: 0;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
white-space: normal;
line-break: auto;
font-size: .875rem;
word-wrap: break-word;
opacity: 0
}
.tooltip.show {
opacity: .9
}
.tooltip .arrow {
position: absolute;
display: block;
width: .8rem;
height: .4rem
}
.tooltip .arrow::before {
position: absolute;
content: "";
border-color: transparent;
border-style: solid
}
.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top {
padding: .4rem 0
}
.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow {
bottom: 0
}
.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before {
top: 0;
border-width: .4rem .4rem 0;
border-top-color: #000
}
.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right {
padding: 0 .4rem
}
.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow {
left: 0;
width: .4rem;
height: .8rem
}
.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before {
right: 0;
border-width: .4rem .4rem .4rem 0;
border-right-color: #000
}
.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom {
padding: .4rem 0
}
.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow {
top: 0
}
.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before {
bottom: 0;
border-width: 0 .4rem .4rem;
border-bottom-color: #000
}
.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left {
padding: 0 .4rem
}
.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow {
right: 0;
width: .4rem;
height: .8rem
}
.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before {
left: 0;
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;
z-index: 1060;
display: block;
max-width: 876px;
font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
white-space: normal;
line-break: auto;
font-size: .875rem;
word-wrap: break-word;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.2);
border-radius: .3rem
}
.popover .arrow {
position: absolute;
display: block;
width: 1rem;
height: .5rem;
margin: 0 .3rem
}
.popover .arrow::after,.popover .arrow::before {
position: absolute;
display: block;
content: "";
border-color: transparent;
border-style: solid
}
.bs-popover-auto[x-placement^=top],.bs-popover-top {
margin-bottom: .5rem
}
.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow {
bottom: calc(-.5rem - 1px)
}
.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before {
bottom: 0;
border-width: .5rem .5rem 0;
border-top-color: rgba(0,0,0,.25)
}
.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after {
bottom: 1px;
border-width: .5rem .5rem 0;
border-top-color: #fff
}
.bs-popover-auto[x-placement^=right],.bs-popover-right {
margin-left: .5rem
}
.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow {
left: calc(-.5rem - 1px);
width: .5rem;
height: 1rem;
margin: .3rem 0
}
.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before {
left: 0;
border-width: .5rem .5rem .5rem 0;
border-right-color: rgba(0,0,0,.25)
}
.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after {
left: 1px;
border-width: .5rem .5rem .5rem 0;
border-right-color: #fff
}
.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom {
margin-top: .5rem
}
.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow {
top: calc(-.5rem - 1px)
}
.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before {
top: 0;
border-width: 0 .5rem .5rem .5rem;
border-bottom-color: rgba(0,0,0,.25)
}
.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after {
top: 1px;
border-width: 0 .5rem .5rem .5rem;
border-bottom-color: #fff
}
.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before {
position: absolute;
top: 0;
left: 50%;
display: block;
width: 1rem;
margin-left: -.5rem;
content: "";
border-bottom: 1px solid #f7f7f7
}
.bs-popover-auto[x-placement^=left],.bs-popover-left {
margin-right: .5rem
}
.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow {
right: calc(-.5rem - 1px);
width: .5rem;
height: 1rem;
margin: .3rem 0
}
.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before {
right: 0;
border-width: .5rem 0 .5rem .5rem;
border-left-color: rgba(0,0,0,.25)
}
.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after {
right: 1px;
border-width: .5rem 0 .5rem .5rem;
border-left-color: #fff
}
.popover-header {
padding: .5rem .75rem;
margin-bottom: 0;
font-size: 1rem;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-top-left-radius: calc(.3rem - 1px);
border-top-right-radius: calc(.3rem - 1px)
}
.popover-header:empty {
display: none
}
.popover-body {
padding: .5rem .75rem;
color: #212529
}
.carousel {
position: relative
}
.carousel.pointer-event {
-ms-touch-action: pan-y;
touch-action: pan-y
}
.carousel-inner {
position: relative;
width: 100%;
overflow: hidden
}
.carousel-inner::after {
display: block;
clear: both;
content: ""
}
.carousel-item {
position: relative;
display: none;
float: left;
width: 100%;
margin-right: -100%;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transition: -webkit-transform .6s ease-in-out;
transition: transform .6s ease-in-out;
transition: transform .6s ease-in-out,-webkit-transform .6s ease-in-out
}
@media (prefers-reduced-motion:reduce) {
.carousel-item {
transition: none
}
}
.carousel-item-next,.carousel-item-prev,.carousel-item.active {
display: block
}
.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left) {
-webkit-transform: translateX(100%);
transform: translateX(100%)
}
.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right) {
-webkit-transform: translateX(-100%);
transform: translateX(-100%)
}
.carousel-fade .carousel-item {
opacity: 0;
transition-property: opacity;
-webkit-transform: none;
transform: none
}
.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active {
z-index: 1;
opacity: 1
}
.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right {
z-index: 0;
opacity: 0;
transition: opacity 0s .6s
}
@media (prefers-reduced-motion:reduce) {
.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right {
transition: none
}
}
.carousel-control-next,.carousel-control-prev {
position: absolute;
top: 0;
bottom: 0;
z-index: 1;
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
-ms-flex-pack: center;
justify-content: center;
width: 15%;
color: #fff;
text-align: center;
opacity: .5;
transition: opacity .15s ease
}
@media (prefers-reduced-motion:reduce) {
.carousel-control-next,.carousel-control-prev {
transition: none
}
}
.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover {
color: #fff;
text-decoration: none;
outline: 0;
opacity: .9
}
.carousel-control-prev {
left: 0
}
.carousel-control-next {
right: 0
}
.carousel-control-next-icon,.carousel-control-prev-icon {
display: inline-block;
width: 20px;
height: 20px;
background: no-repeat 50%/100% 100%
}
.carousel-control-prev-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")
}
.carousel-control-next-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")
}
.carousel-indicators {
position: absolute;
right: 0;
bottom: 0;
left: 0;
z-index: 15;
display: -ms-flexbox;
display: flex;
-ms-flex-pack: center;
justify-content: center;
padding-left: 0;
margin-right: 15%;
margin-left: 15%;
list-style: none
}
.carousel-indicators li {
box-sizing: content-box;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
width: 30px;
height: 3px;
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
cursor: pointer;
background-color: #fff;
background-clip: padding-box;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
opacity: .5;
transition: opacity .6s ease
}
@media (prefers-reduced-motion:reduce) {
.carousel-indicators li {
transition: none
}
}
.carousel-indicators .active {
opacity: 1
}
.carousel-caption {
position: absolute;
right: 15%;
bottom: 20px;
left: 15%;
z-index: 10;
padding-top: 20px;
padding-bottom: 20px;
color: #fff;
text-align: center
}
@-webkit-keyframes spinner-border {
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg)
}
}
@keyframes spinner-border {
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg)
}
}
.spinner-border {
display: inline-block;
width: 2rem;
height: 2rem;
vertical-align: text-bottom;
border: .25em solid currentColor;
border-right-color: transparent;
border-radius: 50%;
-webkit-animation: spinner-border .75s linear infinite;
animation: spinner-border .75s linear infinite
}
.spinner-border-sm {
width: 1rem;
height: 1rem;
border-width: .2em
}
@-webkit-keyframes spinner-grow {
0% {
-webkit-transform: scale(0);
transform: scale(0)
}
50% {
opacity: 1;
-webkit-transform: none;
transform: none
}
}
@keyframes spinner-grow {
0% {
-webkit-transform: scale(0);
transform: scale(0)
}
50% {
opacity: 1;
-webkit-transform: none;
transform: none
}
}
.spinner-grow {
display: inline-block;
width: 2rem;
height: 2rem;
vertical-align: text-bottom;
background-color: currentColor;
border-radius: 50%;
opacity: 0;
-webkit-animation: spinner-grow .75s linear infinite;
animation: spinner-grow .75s linear infinite
}
.spinner-grow-sm {
width: 1rem;
height: 1rem
}
.align-baseline {
vertical-align: baseline!important
}
.align-top {
vertical-align: top!important
}
.align-middle {
vertical-align: middle!important
}
.align-bottom {
vertical-align: bottom!important
}
.align-text-bottom {
vertical-align: text-bottom!important
}
.align-text-top {
vertical-align: text-top!important
}
.bg-primary {
background-color: #007bff!important
}
a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover {
background-color: #0062cc!important
}
.bg-secondary {
background-color: #6c757d!important
}
a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover {
background-color: #545b62!important
}
.bg-success {
background-color: #28a745!important
}
a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover {
background-color: #1e7e34!important
}
.bg-info {
background-color: #17a2b8!important
}
a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover {
background-color: #117a8b!important
}
.bg-warning {
background-color: #ffc107!important
}
a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover {
background-color: #d39e00!important
}
.bg-danger {
background-color: #dc3545!important
}
a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover {
background-color: #bd2130!important
}
.bg-light {
background-color: #f8f9fa!important
}
a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover {
background-color: #dae0e5!important
}
.bg-dark {
background-color: #dee2e6!important
}
a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover {
background-color: #1d2124!important
}
.bg-white {
background-color: #fff!important
}
.bg-transparent {
background-color: transparent!important
}
.border {
border: 1px solid #dee2e6!important
}
.border-top {
border-top: 1px solid #dee2e6!important
}
.border-right {
border-right: 1px solid #dee2e6!important
}
.border-bottom {
border-bottom: 1px solid #dee2e6!important
}
.border-left {
border-left: 1px solid #dee2e6!important
}
.border-0 {
border: 0!important
}
.border-top-0 {
border-top: 0!important
}
.border-right-0 {
border-right: 0!important
}
.border-bottom-0 {
border-bottom: 0!important
}
.border-left-0 {
border-left: 0!important
}
.border-primary {
border-color: #007bff!important
}
.border-secondary {
border-color: #6c757d!important
}
.border-success {
border-color: #28a745!important
}
.border-info {
border-color: #17a2b8!important
}
.border-warning {
border-color: #ffc107!important
}
.border-danger {
border-color: #dc3545!important
}
.border-light {
border-color: #f8f9fa!important
}
.border-dark {
border-color: #343a40!important
}
.border-white {
border-color: #fff!important
}
.rounded-sm {
border-radius: .2rem!important
}
.rounded {
border-radius: .25rem!important
}
.rounded-top {
border-top-left-radius: .25rem!important;
border-top-right-radius: .25rem!important
}
.rounded-right {
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-left {
border-top-left-radius: .25rem!important;
border-bottom-left-radius: .25rem!important
}
.rounded-lg {
border-radius: .3rem!important
}
.rounded-circle {
border-radius: 50%!important
}
.rounded-pill {
border-radius: 50rem!important
}
.rounded-0 {
border-radius: 0!important
}
.clearfix::after {
display: block;
clear: both;
content: ""
}
.d-none {
display: none!important
}
.d-inline {
display: inline!important
}
.d-inline-block {
display: inline-block!important
}
.d-block {
display: block!important
}
.d-table {
display: table!important
}
.d-table-row {
display: table-row!important
}
.d-table-cell {
display: table-cell!important
}
.d-flex {
display: -ms-flexbox!important;
display: flex!important
}
.d-inline-flex {
display: -ms-inline-flexbox!important;
display: inline-flex!important
}
@media (min-width: 576px) {
.d-sm-none {
display:none!important
}
.d-sm-inline {
display: inline!important
}
.d-sm-inline-block {
display: inline-block!important
}
.d-sm-block {
display: block!important
}
.d-sm-table {
display: table!important
}
.d-sm-table-row {
display: table-row!important
}
.d-sm-table-cell {
display: table-cell!important
}
.d-sm-flex {
display: -ms-flexbox!important;
display: flex!important
}
.d-sm-inline-flex {
display: -ms-inline-flexbox!important;
display: inline-flex!important
}
}
@media (min-width: 768px) {
.d-md-none {
display:none!important
}
.d-md-inline {
display: inline!important
}
.d-md-inline-block {
display: inline-block!important
}
.d-md-block {
display: block!important
}
.d-md-table {
display: table!important
}
.d-md-table-row {
display: table-row!important
}
.d-md-table-cell {
display: table-cell!important
}
.d-md-flex {
display: -ms-flexbox!important;
display: flex!important
}
.d-md-inline-flex {
display: -ms-inline-flexbox!important;
display: inline-flex!important
}
}
@media (min-width: 992px) {
.d-lg-none {
display:none!important
}
.d-lg-inline {
display: inline!important
}
.d-lg-inline-block {
display: inline-block!important
}
.d-lg-block {
display: block!important
}
.d-lg-table {
display: table!important
}
.d-lg-table-row {
display: table-row!important
}
.d-lg-table-cell {
display: table-cell!important
}
.d-lg-flex {
display: -ms-flexbox!important;
display: flex!important
}
.d-lg-inline-flex {
display: -ms-inline-flexbox!important;
display: inline-flex!important
}
}
@media (min-width: 1200px) {
.d-xl-none {
display:none!important
}
.d-xl-inline {
display: inline!important
}
.d-xl-inline-block {
display: inline-block!important
}
.d-xl-block {
display: block!important
}
.d-xl-table {
display: table!important
}
.d-xl-table-row {
display: table-row!important
}
.d-xl-table-cell {
display: table-cell!important
}
.d-xl-flex {
display: -ms-flexbox!important;
display: flex!important
}
.d-xl-inline-flex {
display: -ms-inline-flexbox!important;
display: inline-flex!important
}
}
@media print {
.d-print-none {
display: none!important
}
.d-print-inline {
display: inline!important
}
.d-print-inline-block {
display: inline-block!important
}
.d-print-block {
display: block!important
}
.d-print-table {
display: table!important
}
.d-print-table-row {
display: table-row!important
}
.d-print-table-cell {
display: table-cell!important
}
.d-print-flex {
display: -ms-flexbox!important;
display: flex!important
}
.d-print-inline-flex {
display: -ms-inline-flexbox!important;
display: inline-flex!important
}
}
.embed-responsive {
position: relative;
display: block;
width: 100%;
padding: 0;
overflow: hidden
}
.embed-responsive::before {
display: block;
content: ""
}
.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0
}
.embed-responsive-21by9::before {
padding-top: 42.857143%
}
.embed-responsive-16by9::before {
padding-top: 56.25%
}
.embed-responsive-4by3::before {
padding-top: 75%
}
.embed-responsive-1by1::before {
padding-top: 100%
}
.flex-row {
-ms-flex-direction: row!important;
flex-direction: row!important
}
.flex-column {
-ms-flex-direction: column!important;
flex-direction: column!important
}
.flex-row-reverse {
-ms-flex-direction: row-reverse!important;
flex-direction: row-reverse!important
}
.flex-column-reverse {
-ms-flex-direction: column-reverse!important;
flex-direction: column-reverse!important
}
.flex-wrap {
-ms-flex-wrap: wrap!important;
flex-wrap: wrap!important
}
.flex-nowrap {
-ms-flex-wrap: nowrap!important;
flex-wrap: nowrap!important
}
.flex-wrap-reverse {
-ms-flex-wrap: wrap-reverse!important;
flex-wrap: wrap-reverse!important
}
.flex-fill {
-ms-flex: 1 1 auto!important;
flex: 1 1 auto!important
}
.flex-grow-0 {
-ms-flex-positive: 0!important;
flex-grow: 0!important
}
.flex-grow-1 {
-ms-flex-positive: 1!important;
flex-grow: 1!important
}
.flex-shrink-0 {
-ms-flex-negative: 0!important;
flex-shrink: 0!important
}
.flex-shrink-1 {
-ms-flex-negative: 1!important;
flex-shrink: 1!important
}
.justify-content-start {
-ms-flex-pack: start!important;
justify-content: flex-start!important
}
.justify-content-end {
-ms-flex-pack: end!important;
justify-content: flex-end!important
}
.justify-content-center {
-ms-flex-pack: center!important;
justify-content: center!important
}
.justify-content-between {
-ms-flex-pack: justify!important;
justify-content: space-between!important
}
.justify-content-around {
-ms-flex-pack: distribute!important;
justify-content: space-around!important
}
.align-items-start {
-ms-flex-align: start!important;
align-items: flex-start!important
}
.align-items-end {
-ms-flex-align: end!important;
align-items: flex-end!important
}
.align-items-center {
-ms-flex-align: center!important;
align-items: center!important
}
.align-items-baseline {
-ms-flex-align: baseline!important;
align-items: baseline!important
}
.align-items-stretch {
-ms-flex-align: stretch!important;
align-items: stretch!important
}
.align-content-start {
-ms-flex-line-pack: start!important;
align-content: flex-start!important
}
.align-content-end {
-ms-flex-line-pack: end!important;
align-content: flex-end!important
}
.align-content-center {
-ms-flex-line-pack: center!important;
align-content: center!important
}
.align-content-between {
-ms-flex-line-pack: justify!important;
align-content: space-between!important
}
.align-content-around {
-ms-flex-line-pack: distribute!important;
align-content: space-around!important
}
.align-content-stretch {
-ms-flex-line-pack: stretch!important;
align-content: stretch!important
}
.align-self-auto {
-ms-flex-item-align: auto!important;
align-self: auto!important
}
.align-self-start {
-ms-flex-item-align: start!important;
align-self: flex-start!important
}
.align-self-end {
-ms-flex-item-align: end!important;
align-self: flex-end!important
}
.align-self-center {
-ms-flex-item-align: center!important;
align-self: center!important
}
.align-self-baseline {
-ms-flex-item-align: baseline!important;
align-self: baseline!important
}
.align-self-stretch {
-ms-flex-item-align: stretch!important;
align-self: stretch!important
}
@media (min-width: 576px) {
.flex-sm-row {
-ms-flex-direction:row!important;
flex-direction: row!important
}
.flex-sm-column {
-ms-flex-direction: column!important;
flex-direction: column!important
}
.flex-sm-row-reverse {
-ms-flex-direction: row-reverse!important;
flex-direction: row-reverse!important
}
.flex-sm-column-reverse {
-ms-flex-direction: column-reverse!important;
flex-direction: column-reverse!important
}
.flex-sm-wrap {
-ms-flex-wrap: wrap!important;
flex-wrap: wrap!important
}
.flex-sm-nowrap {
-ms-flex-wrap: nowrap!important;
flex-wrap: nowrap!important
}
.flex-sm-wrap-reverse {
-ms-flex-wrap: wrap-reverse!important;
flex-wrap: wrap-reverse!important
}
.flex-sm-fill {
-ms-flex: 1 1 auto!important;
flex: 1 1 auto!important
}
.flex-sm-grow-0 {
-ms-flex-positive: 0!important;
flex-grow: 0!important
}
.flex-sm-grow-1 {
-ms-flex-positive: 1!important;
flex-grow: 1!important
}
.flex-sm-shrink-0 {
-ms-flex-negative: 0!important;
flex-shrink: 0!important
}
.flex-sm-shrink-1 {
-ms-flex-negative: 1!important;
flex-shrink: 1!important
}
.justify-content-sm-start {
-ms-flex-pack: start!important;
justify-content: flex-start!important
}
.justify-content-sm-end {
-ms-flex-pack: end!important;
justify-content: flex-end!important
}
.justify-content-sm-center {
-ms-flex-pack: center!important;
justify-content: center!important
}
.justify-content-sm-between {
-ms-flex-pack: justify!important;
justify-content: space-between!important
}
.justify-content-sm-around {
-ms-flex-pack: distribute!important;
justify-content: space-around!important
}
.align-items-sm-start {
-ms-flex-align: start!important;
align-items: flex-start!important
}
.align-items-sm-end {
-ms-flex-align: end!important;
align-items: flex-end!important
}
.align-items-sm-center {
-ms-flex-align: center!important;
align-items: center!important
}
.align-items-sm-baseline {
-ms-flex-align: baseline!important;
align-items: baseline!important
}
.align-items-sm-stretch {
-ms-flex-align: stretch!important;
align-items: stretch!important
}
.align-content-sm-start {
-ms-flex-line-pack: start!important;
align-content: flex-start!important
}
.align-content-sm-end {
-ms-flex-line-pack: end!important;
align-content: flex-end!important
}
.align-content-sm-center {
-ms-flex-line-pack: center!important;
align-content: center!important
}
.align-content-sm-between {
-ms-flex-line-pack: justify!important;
align-content: space-between!important
}
.align-content-sm-around {
-ms-flex-line-pack: distribute!important;
align-content: space-around!important
}
.align-content-sm-stretch {
-ms-flex-line-pack: stretch!important;
align-content: stretch!important
}
.align-self-sm-auto {
-ms-flex-item-align: auto!important;
align-self: auto!important
}
.align-self-sm-start {
-ms-flex-item-align: start!important;
align-self: flex-start!important
}
.align-self-sm-end {
-ms-flex-item-align: end!important;
align-self: flex-end!important
}
.align-self-sm-center {
-ms-flex-item-align: center!important;
align-self: center!important
}
.align-self-sm-baseline {
-ms-flex-item-align: baseline!important;
align-self: baseline!important
}
.align-self-sm-stretch {
-ms-flex-item-align: stretch!important;
align-self: stretch!important
}
}
@media (min-width: 768px) {
.flex-md-row {
-ms-flex-direction:row!important;
flex-direction: row!important
}
.flex-md-column {
-ms-flex-direction: column!important;
flex-direction: column!important
}
.flex-md-row-reverse {
-ms-flex-direction: row-reverse!important;
flex-direction: row-reverse!important
}
.flex-md-column-reverse {
-ms-flex-direction: column-reverse!important;
flex-direction: column-reverse!important
}
.flex-md-wrap {
-ms-flex-wrap: wrap!important;
flex-wrap: wrap!important
}
.flex-md-nowrap {
-ms-flex-wrap: nowrap!important;
flex-wrap: nowrap!important
}
.flex-md-wrap-reverse {
-ms-flex-wrap: wrap-reverse!important;
flex-wrap: wrap-reverse!important
}
.flex-md-fill {
-ms-flex: 1 1 auto!important;
flex: 1 1 auto!important
}
.flex-md-grow-0 {
-ms-flex-positive: 0!important;
flex-grow: 0!important
}
.flex-md-grow-1 {
-ms-flex-positive: 1!important;
flex-grow: 1!important
}
.flex-md-shrink-0 {
-ms-flex-negative: 0!important;
flex-shrink: 0!important
}
.flex-md-shrink-1 {
-ms-flex-negative: 1!important;
flex-shrink: 1!important
}
.justify-content-md-start {
-ms-flex-pack: start!important;
justify-content: flex-start!important
}
.justify-content-md-end {
-ms-flex-pack: end!important;
justify-content: flex-end!important
}
.justify-content-md-center {
-ms-flex-pack: center!important;
justify-content: center!important
}
.justify-content-md-between {
-ms-flex-pack: justify!important;
justify-content: space-between!important
}
.justify-content-md-around {
-ms-flex-pack: distribute!important;
justify-content: space-around!important
}
.align-items-md-start {
-ms-flex-align: start!important;
align-items: flex-start!important
}
.align-items-md-end {
-ms-flex-align: end!important;
align-items: flex-end!important
}
.align-items-md-center {
-ms-flex-align: center!important;
align-items: center!important
}
.align-items-md-baseline {
-ms-flex-align: baseline!important;
align-items: baseline!important
}
.align-items-md-stretch {
-ms-flex-align: stretch!important;
align-items: stretch!important
}
.align-content-md-start {
-ms-flex-line-pack: start!important;
align-content: flex-start!important
}
.align-content-md-end {
-ms-flex-line-pack: end!important;
align-content: flex-end!important
}
.align-content-md-center {
-ms-flex-line-pack: center!important;
align-content: center!important
}
.align-content-md-between {
-ms-flex-line-pack: justify!important;
align-content: space-between!important
}
.align-content-md-around {
-ms-flex-line-pack: distribute!important;
align-content: space-around!important
}
.align-content-md-stretch {
-ms-flex-line-pack: stretch!important;
align-content: stretch!important
}
.align-self-md-auto {
-ms-flex-item-align: auto!important;
align-self: auto!important
}
.align-self-md-start {
-ms-flex-item-align: start!important;
align-self: flex-start!important
}
.align-self-md-end {
-ms-flex-item-align: end!important;
align-self: flex-end!important
}
.align-self-md-center {
-ms-flex-item-align: center!important;
align-self: center!important
}
.align-self-md-baseline {
-ms-flex-item-align: baseline!important;
align-self: baseline!important
}
.align-self-md-stretch {
-ms-flex-item-align: stretch!important;
align-self: stretch!important
}
}
@media (min-width: 992px) {
.flex-lg-row {
-ms-flex-direction:row!important;
flex-direction: row!important
}
.flex-lg-column {
-ms-flex-direction: column!important;
flex-direction: column!important
}
.flex-lg-row-reverse {
-ms-flex-direction: row-reverse!important;
flex-direction: row-reverse!important
}
.flex-lg-column-reverse {
-ms-flex-direction: column-reverse!important;
flex-direction: column-reverse!important
}
.flex-lg-wrap {
-ms-flex-wrap: wrap!important;
flex-wrap: wrap!important
}
.flex-lg-nowrap {
-ms-flex-wrap: nowrap!important;
flex-wrap: nowrap!important
}
.flex-lg-wrap-reverse {
-ms-flex-wrap: wrap-reverse!important;
flex-wrap: wrap-reverse!important
}
.flex-lg-fill {
-ms-flex: 1 1 auto!important;
flex: 1 1 auto!important
}
.flex-lg-grow-0 {
-ms-flex-positive: 0!important;
flex-grow: 0!important
}
.flex-lg-grow-1 {
-ms-flex-positive: 1!important;
flex-grow: 1!important
}
.flex-lg-shrink-0 {
-ms-flex-negative: 0!important;
flex-shrink: 0!important
}
.flex-lg-shrink-1 {
-ms-flex-negative: 1!important;
flex-shrink: 1!important
}
.justify-content-lg-start {
-ms-flex-pack: start!important;
justify-content: flex-start!important
}
.justify-content-lg-end {
-ms-flex-pack: end!important;
justify-content: flex-end!important
}
.justify-content-lg-center {
-ms-flex-pack: center!important;
justify-content: center!important
}
.justify-content-lg-between {
-ms-flex-pack: justify!important;
justify-content: space-between!important
}
.justify-content-lg-around {
-ms-flex-pack: distribute!important;
justify-content: space-around!important
}
.align-items-lg-start {
-ms-flex-align: start!important;
align-items: flex-start!important
}
.align-items-lg-end {
-ms-flex-align: end!important;
align-items: flex-end!important
}
.align-items-lg-center {
-ms-flex-align: center!important;
align-items: center!important
}
.align-items-lg-baseline {
-ms-flex-align: baseline!important;
align-items: baseline!important
}
.align-items-lg-stretch {
-ms-flex-align: stretch!important;
align-items: stretch!important
}
.align-content-lg-start {
-ms-flex-line-pack: start!important;
align-content: flex-start!important
}
.align-content-lg-end {
-ms-flex-line-pack: end!important;
align-content: flex-end!important
}
.align-content-lg-center {
-ms-flex-line-pack: center!important;
align-content: center!important
}
.align-content-lg-between {
-ms-flex-line-pack: justify!important;
align-content: space-between!important
}
.align-content-lg-around {
-ms-flex-line-pack: distribute!important;
align-content: space-around!important
}
.align-content-lg-stretch {
-ms-flex-line-pack: stretch!important;
align-content: stretch!important
}
.align-self-lg-auto {
-ms-flex-item-align: auto!important;
align-self: auto!important
}
.align-self-lg-start {
-ms-flex-item-align: start!important;
align-self: flex-start!important
}
.align-self-lg-end {
-ms-flex-item-align: end!important;
align-self: flex-end!important
}
.align-self-lg-center {
-ms-flex-item-align: center!important;
align-self: center!important
}
.align-self-lg-baseline {
-ms-flex-item-align: baseline!important;
align-self: baseline!important
}
.align-self-lg-stretch {
-ms-flex-item-align: stretch!important;
align-self: stretch!important
}
}
@media (min-width: 1200px) {
.flex-xl-row {
-ms-flex-direction:row!important;
flex-direction: row!important
}
.flex-xl-column {
-ms-flex-direction: column!important;
flex-direction: column!important
}
.flex-xl-row-reverse {
-ms-flex-direction: row-reverse!important;
flex-direction: row-reverse!important
}
.flex-xl-column-reverse {
-ms-flex-direction: column-reverse!important;
flex-direction: column-reverse!important
}
.flex-xl-wrap {
-ms-flex-wrap: wrap!important;
flex-wrap: wrap!important
}
.flex-xl-nowrap {
-ms-flex-wrap: nowrap!important;
flex-wrap: nowrap!important
}
.flex-xl-wrap-reverse {
-ms-flex-wrap: wrap-reverse!important;
flex-wrap: wrap-reverse!important
}
.flex-xl-fill {
-ms-flex: 1 1 auto!important;
flex: 1 1 auto!important
}
.flex-xl-grow-0 {
-ms-flex-positive: 0!important;
flex-grow: 0!important
}
.flex-xl-grow-1 {
-ms-flex-positive: 1!important;
flex-grow: 1!important
}
.flex-xl-shrink-0 {
-ms-flex-negative: 0!important;
flex-shrink: 0!important
}
.flex-xl-shrink-1 {
-ms-flex-negative: 1!important;
flex-shrink: 1!important
}
.justify-content-xl-start {
-ms-flex-pack: start!important;
justify-content: flex-start!important
}
.justify-content-xl-end {
-ms-flex-pack: end!important;
justify-content: flex-end!important
}
.justify-content-xl-center {
-ms-flex-pack: center!important;
justify-content: center!important
}
.justify-content-xl-between {
-ms-flex-pack: justify!important;
justify-content: space-between!important
}
.justify-content-xl-around {
-ms-flex-pack: distribute!important;
justify-content: space-around!important
}
.align-items-xl-start {
-ms-flex-align: start!important;
align-items: flex-start!important
}
.align-items-xl-end {
-ms-flex-align: end!important;
align-items: flex-end!important
}
.align-items-xl-center {
-ms-flex-align: center!important;
align-items: center!important
}
.align-items-xl-baseline {
-ms-flex-align: baseline!important;
align-items: baseline!important
}
.align-items-xl-stretch {
-ms-flex-align: stretch!important;
align-items: stretch!important
}
.align-content-xl-start {
-ms-flex-line-pack: start!important;
align-content: flex-start!important
}
.align-content-xl-end {
-ms-flex-line-pack: end!important;
align-content: flex-end!important
}
.align-content-xl-center {
-ms-flex-line-pack: center!important;
align-content: center!important
}
.align-content-xl-between {
-ms-flex-line-pack: justify!important;
align-content: space-between!important
}
.align-content-xl-around {
-ms-flex-line-pack: distribute!important;
align-content: space-around!important
}
.align-content-xl-stretch {
-ms-flex-line-pack: stretch!important;
align-content: stretch!important
}
.align-self-xl-auto {
-ms-flex-item-align: auto!important;
align-self: auto!important
}
.align-self-xl-start {
-ms-flex-item-align: start!important;
align-self: flex-start!important
}
.align-self-xl-end {
-ms-flex-item-align: end!important;
align-self: flex-end!important
}
.align-self-xl-center {
-ms-flex-item-align: center!important;
align-self: center!important
}
.align-self-xl-baseline {
-ms-flex-item-align: baseline!important;
align-self: baseline!important
}
.align-self-xl-stretch {
-ms-flex-item-align: stretch!important;
align-self: stretch!important
}
}
.float-left {
float: left!important
}
.float-right {
float: right!important
}
.float-none {
float: none!important
}
@media (min-width: 576px) {
.float-sm-left {
float:left!important
}
.float-sm-right {
float: right!important
}
.float-sm-none {
float: none!important
}
}
@media (min-width: 768px) {
.float-md-left {
float:left!important
}
.float-md-right {
float: right!important
}
.float-md-none {
float: none!important
}
}
@media (min-width: 992px) {
.float-lg-left {
float:left!important
}
.float-lg-right {
float: right!important
}
.float-lg-none {
float: none!important
}
}
@media (min-width: 1200px) {
.float-xl-left {
float:left!important
}
.float-xl-right {
float: right!important
}
.float-xl-none {
float: none!important
}
}
.user-select-all {
-webkit-user-select: all!important;
-moz-user-select: all!important;
-ms-user-select: all!important;
user-select: all!important
}
.user-select-auto {
-webkit-user-select: auto!important;
-moz-user-select: auto!important;
-ms-user-select: auto!important;
user-select: auto!important
}
.user-select-none {
-webkit-user-select: none!important;
-moz-user-select: none!important;
-ms-user-select: none!important;
user-select: none!important
}
.overflow-auto {
overflow: auto!important
}
.overflow-hidden {
overflow: hidden!important
}
.position-static {
position: static!important
}
.position-relative {
position: relative!important
}
.position-absolute {
position: absolute!important
}
.position-fixed {
position: fixed!important
}
.position-sticky {
position: -webkit-sticky!important;
position: sticky!important
}
.fixed-top {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030
}
.fixed-bottom {
position: fixed;
right: 0;
bottom: 0;
left: 0;
z-index: 1030
}
@supports ((position: -webkit-sticky) or (position:sticky)) {
.sticky-top {
position:-webkit-sticky;
position: sticky;
top: 0;
z-index: 1020
}
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0
}
.sr-only-focusable:active,.sr-only-focusable:focus {
position: static;
width: auto;
height: auto;
overflow: visible;
clip: auto;
white-space: normal
}
.shadow-sm {
box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important
}
.shadow {
box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important
}
.shadow-lg {
box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important
}
.shadow-none {
box-shadow: none!important
}
.w-25 {
width: 25%!important
}
.w-50 {
width: 50%!important
}
.w-75 {
width: 75%!important
}
.w-100 {
width: 100%!important
}
.w-auto {
width: auto!important
}
.h-25 {
height: 25%!important
}
.h-50 {
height: 50%!important
}
.h-75 {
height: 75%!important
}
.h-100 {
height: 100%!important
}
.h-auto {
height: auto!important
}
.mw-100 {
max-width: 100%!important
}
.mh-100 {
max-height: 100%!important
}
.min-vw-100 {
min-width: 100vw!important
}
.min-vh-100 {
min-height: 100vh!important
}
.vw-100 {
width: 100vw!important
}
.vh-100 {
height: 100vh!important
}
.m-0 {
margin: 0!important
}
.mt-0,.my-0 {
margin-top: 0!important
}
.mr-0,.mx-0 {
margin-right: 0!important
}
.mb-0,.my-0 {
margin-bottom: 0!important
}
.ml-0,.mx-0 {
margin-left: 0!important
}
.m-1 {
margin: .25rem!important
}
.mt-1,.my-1 {
margin-top: .25rem!important
}
.mr-1,.mx-1 {
margin-right: .25rem!important
}
.mb-1,.my-1 {
margin-bottom: .25rem!important
}
.ml-1,.mx-1 {
margin-left: .25rem!important
}
.m-2 {
margin: .5rem!important
}
.mt-2,.my-2 {
margin-top: .5rem!important
}
.mr-2,.mx-2 {
margin-right: .5rem!important
}
.mb-2,.my-2 {
margin-bottom: .5rem!important
}
.ml-2,.mx-2 {
margin-left: .5rem!important
}
.m-3 {
margin: 1rem!important
}
.mt-3,.my-3 {
margin-top: 1rem!important
}
.mr-3,.mx-3 {
margin-right: 1rem!important
}
.mb-3,.my-3 {
margin-bottom: 1rem!important
}
.ml-3,.mx-3 {
margin-left: 1rem!important
}
.m-4 {
margin: 1.5rem!important
}
.mt-4,.my-4 {
margin-top: 1.5rem!important
}
.mr-4,.mx-4 {
margin-right: 1.5rem!important
}
.mb-4,.my-4 {
margin-bottom: 1.5rem!important
}
.ml-4,.mx-4 {
margin-left: 1.5rem!important
}
.m-5 {
margin: 3rem!important
}
.mt-5,.my-5 {
margin-top: 3rem!important
}
.mr-5,.mx-5 {
margin-right: 3rem!important
}
.mb-5,.my-5 {
margin-bottom: 3rem!important
}
.ml-5,.mx-5 {
margin-left: 3rem!important
}
.p-0 {
padding: 0!important
}
.pt-0,.py-0 {
padding-top: 0!important
}
.pr-0,.px-0 {
padding-right: 0!important
}
.pb-0,.py-0 {
padding-bottom: 0!important
}
.pl-0,.px-0 {
padding-left: 0!important
}
.p-1 {
padding: .25rem!important
}
.pt-1,.py-1 {
padding-top: .25rem!important
}
.pr-1,.px-1 {
padding-right: .25rem!important
}
.pb-1,.py-1 {
padding-bottom: .25rem!important
}
.pl-1,.px-1 {
padding-left: .25rem!important
}
.p-2 {
padding: .5rem!important
}
.pt-2,.py-2 {
padding-top: .5rem!important
}
.pr-2,.px-2 {
padding-right: .5rem!important
}
.pb-2,.py-2 {
padding-bottom: .5rem!important
}
.pl-2,.px-2 {
padding-left: .5rem!important
}
.p-3 {
padding: 1rem!important
}
.pt-3,.py-3 {
padding-top: 1rem!important
}
.pr-3,.px-3 {
padding-right: 1rem!important
}
.pb-3,.py-3 {
padding-bottom: 1rem!important
}
.pl-3,.px-3 {
padding-left: 1rem!important
}
.p-4 {
padding: 1.5rem!important
}
.pt-4,.py-4 {
padding-top: 1.5rem!important
}
.pr-4,.px-4 {
padding-right: 1.5rem!important
}
.pb-4,.py-4 {
padding-bottom: 1.5rem!important
}
.pl-4,.px-4 {
padding-left: 1.5rem!important
}
.p-5 {
padding: 3rem!important
}
.pt-5,.py-5 {
padding-top: 3rem!important
}
.pr-5,.px-5 {
padding-right: 3rem!important
}
.pb-5,.py-5 {
padding-bottom: 3rem!important
}
.pl-5,.px-5 {
padding-left: 3rem!important
}
.m-n1 {
margin: -.25rem!important
}
.mt-n1,.my-n1 {
margin-top: -.25rem!important
}
.mr-n1,.mx-n1 {
margin-right: -.25rem!important
}
.mb-n1,.my-n1 {
margin-bottom: -.25rem!important
}
.ml-n1,.mx-n1 {
margin-left: -.25rem!important
}
.m-n2 {
margin: -.5rem!important
}
.mt-n2,.my-n2 {
margin-top: -.5rem!important
}
.mr-n2,.mx-n2 {
margin-right: -.5rem!important
}
.mb-n2,.my-n2 {
margin-bottom: -.5rem!important
}
.ml-n2,.mx-n2 {
margin-left: -.5rem!important
}
.m-n3 {
margin: -1rem!important
}
.mt-n3,.my-n3 {
margin-top: -1rem!important
}
.mr-n3,.mx-n3 {
margin-right: -1rem!important
}
.mb-n3,.my-n3 {
margin-bottom: -1rem!important
}
.ml-n3,.mx-n3 {
margin-left: -1rem!important
}
.m-n4 {
margin: -1.5rem!important
}
.mt-n4,.my-n4 {
margin-top: -1.5rem!important
}
.mr-n4,.mx-n4 {
margin-right: -1.5rem!important
}
.mb-n4,.my-n4 {
margin-bottom: -1.5rem!important
}
.ml-n4,.mx-n4 {
margin-left: -1.5rem!important
}
.m-n5 {
margin: -3rem!important
}
.mt-n5,.my-n5 {
margin-top: -3rem!important
}
.mr-n5,.mx-n5 {
margin-right: -3rem!important
}
.mb-n5,.my-n5 {
margin-bottom: -3rem!important
}
.ml-n5,.mx-n5 {
margin-left: -3rem!important
}
.m-auto {
margin: auto!important
}
.mt-auto,.my-auto {
margin-top: auto!important
}
.mr-auto,.mx-auto {
margin-right: auto!important
}
.mb-auto,.my-auto {
margin-bottom: auto!important
}
.ml-auto,.mx-auto {
margin-left: auto!important
}
@media (min-width: 576px) {
.m-sm-0 {
margin:0!important
}
.mt-sm-0,.my-sm-0 {
margin-top: 0!important
}
.mr-sm-0,.mx-sm-0 {
margin-right: 0!important
}
.mb-sm-0,.my-sm-0 {
margin-bottom: 0!important
}
.ml-sm-0,.mx-sm-0 {
margin-left: 0!important
}
.m-sm-1 {
margin: .25rem!important
}
.mt-sm-1,.my-sm-1 {
margin-top: .25rem!important
}
.mr-sm-1,.mx-sm-1 {
margin-right: .25rem!important
}
.mb-sm-1,.my-sm-1 {
margin-bottom: .25rem!important
}
.ml-sm-1,.mx-sm-1 {
margin-left: .25rem!important
}
.m-sm-2 {
margin: .5rem!important
}
.mt-sm-2,.my-sm-2 {
margin-top: .5rem!important
}
.mr-sm-2,.mx-sm-2 {
margin-right: .5rem!important
}
.mb-sm-2,.my-sm-2 {
margin-bottom: .5rem!important
}
.ml-sm-2,.mx-sm-2 {
margin-left: .5rem!important
}
.m-sm-3 {
margin: 1rem!important
}
.mt-sm-3,.my-sm-3 {
margin-top: 1rem!important
}
.mr-sm-3,.mx-sm-3 {
margin-right: 1rem!important
}
.mb-sm-3,.my-sm-3 {
margin-bottom: 1rem!important
}
.ml-sm-3,.mx-sm-3 {
margin-left: 1rem!important
}
.m-sm-4 {
margin: 1.5rem!important
}
.mt-sm-4,.my-sm-4 {
margin-top: 1.5rem!important
}
.mr-sm-4,.mx-sm-4 {
margin-right: 1.5rem!important
}
.mb-sm-4,.my-sm-4 {
margin-bottom: 1.5rem!important
}
.ml-sm-4,.mx-sm-4 {
margin-left: 1.5rem!important
}
.m-sm-5 {
margin: 3rem!important
}
.mt-sm-5,.my-sm-5 {
margin-top: 3rem!important
}
.mr-sm-5,.mx-sm-5 {
margin-right: 3rem!important
}
.mb-sm-5,.my-sm-5 {
margin-bottom: 3rem!important
}
.ml-sm-5,.mx-sm-5 {
margin-left: 3rem!important
}
.p-sm-0 {
padding: 0!important
}
.pt-sm-0,.py-sm-0 {
padding-top: 0!important
}
.pr-sm-0,.px-sm-0 {
padding-right: 0!important
}
.pb-sm-0,.py-sm-0 {
padding-bottom: 0!important
}
.pl-sm-0,.px-sm-0 {
padding-left: 0!important
}
.p-sm-1 {
padding: .25rem!important
}
.pt-sm-1,.py-sm-1 {
padding-top: .25rem!important
}
.pr-sm-1,.px-sm-1 {
padding-right: .25rem!important
}
.pb-sm-1,.py-sm-1 {
padding-bottom: .25rem!important
}
.pl-sm-1,.px-sm-1 {
padding-left: .25rem!important
}
.p-sm-2 {
padding: .5rem!important
}
.pt-sm-2,.py-sm-2 {
padding-top: .5rem!important
}
.pr-sm-2,.px-sm-2 {
padding-right: .5rem!important
}
.pb-sm-2,.py-sm-2 {
padding-bottom: .5rem!important
}
.pl-sm-2,.px-sm-2 {
padding-left: .5rem!important
}
.p-sm-3 {
padding: 1rem!important
}
.pt-sm-3,.py-sm-3 {
padding-top: 1rem!important
}
.pr-sm-3,.px-sm-3 {
padding-right: 1rem!important
}
.pb-sm-3,.py-sm-3 {
padding-bottom: 1rem!important
}
.pl-sm-3,.px-sm-3 {
padding-left: 1rem!important
}
.p-sm-4 {
padding: 1.5rem!important
}
.pt-sm-4,.py-sm-4 {
padding-top: 1.5rem!important
}
.pr-sm-4,.px-sm-4 {
padding-right: 1.5rem!important
}
.pb-sm-4,.py-sm-4 {
padding-bottom: 1.5rem!important
}
.pl-sm-4,.px-sm-4 {
padding-left: 1.5rem!important
}
.p-sm-5 {
padding: 3rem!important
}
.pt-sm-5,.py-sm-5 {
padding-top: 3rem!important
}
.pr-sm-5,.px-sm-5 {
padding-right: 3rem!important
}
.pb-sm-5,.py-sm-5 {
padding-bottom: 3rem!important
}
.pl-sm-5,.px-sm-5 {
padding-left: 3rem!important
}
.m-sm-n1 {
margin: -.25rem!important
}
.mt-sm-n1,.my-sm-n1 {
margin-top: -.25rem!important
}
.mr-sm-n1,.mx-sm-n1 {
margin-right: -.25rem!important
}
.mb-sm-n1,.my-sm-n1 {
margin-bottom: -.25rem!important
}
.ml-sm-n1,.mx-sm-n1 {
margin-left: -.25rem!important
}
.m-sm-n2 {
margin: -.5rem!important
}
.mt-sm-n2,.my-sm-n2 {
margin-top: -.5rem!important
}
.mr-sm-n2,.mx-sm-n2 {
margin-right: -.5rem!important
}
.mb-sm-n2,.my-sm-n2 {
margin-bottom: -.5rem!important
}
.ml-sm-n2,.mx-sm-n2 {
margin-left: -.5rem!important
}
.m-sm-n3 {
margin: -1rem!important
}
.mt-sm-n3,.my-sm-n3 {
margin-top: -1rem!important
}
.mr-sm-n3,.mx-sm-n3 {
margin-right: -1rem!important
}
.mb-sm-n3,.my-sm-n3 {
margin-bottom: -1rem!important
}
.ml-sm-n3,.mx-sm-n3 {
margin-left: -1rem!important
}
.m-sm-n4 {
margin: -1.5rem!important
}
.mt-sm-n4,.my-sm-n4 {
margin-top: -1.5rem!important
}
.mr-sm-n4,.mx-sm-n4 {
margin-right: -1.5rem!important
}
.mb-sm-n4,.my-sm-n4 {
margin-bottom: -1.5rem!important
}
.ml-sm-n4,.mx-sm-n4 {
margin-left: -1.5rem!important
}
.m-sm-n5 {
margin: -3rem!important
}
.mt-sm-n5,.my-sm-n5 {
margin-top: -3rem!important
}
.mr-sm-n5,.mx-sm-n5 {
margin-right: -3rem!important
}
.mb-sm-n5,.my-sm-n5 {
margin-bottom: -3rem!important
}
.ml-sm-n5,.mx-sm-n5 {
margin-left: -3rem!important
}
.m-sm-auto {
margin: auto!important
}
.mt-sm-auto,.my-sm-auto {
margin-top: auto!important
}
.mr-sm-auto,.mx-sm-auto {
margin-right: auto!important
}
.mb-sm-auto,.my-sm-auto {
margin-bottom: auto!important
}
.ml-sm-auto,.mx-sm-auto {
margin-left: auto!important
}
}
@media (min-width: 768px) {
.m-md-0 {
margin:0!important
}
.mt-md-0,.my-md-0 {
margin-top: 0!important
}
.mr-md-0,.mx-md-0 {
margin-right: 0!important
}
.mb-md-0,.my-md-0 {
margin-bottom: 0!important
}
.ml-md-0,.mx-md-0 {
margin-left: 0!important
}
.m-md-1 {
margin: .25rem!important
}
.mt-md-1,.my-md-1 {
margin-top: .25rem!important
}
.mr-md-1,.mx-md-1 {
margin-right: .25rem!important
}
.mb-md-1,.my-md-1 {
margin-bottom: .25rem!important
}
.ml-md-1,.mx-md-1 {
margin-left: .25rem!important
}
.m-md-2 {
margin: .5rem!important
}
.mt-md-2,.my-md-2 {
margin-top: .5rem!important
}
.mr-md-2,.mx-md-2 {
margin-right: .5rem!important
}
.mb-md-2,.my-md-2 {
margin-bottom: .5rem!important
}
.ml-md-2,.mx-md-2 {
margin-left: .5rem!important
}
.m-md-3 {
margin: 1rem!important
}
.mt-md-3,.my-md-3 {
margin-top: 1rem!important
}
.mr-md-3,.mx-md-3 {
margin-right: 1rem!important
}
.mb-md-3,.my-md-3 {
margin-bottom: 1rem!important
}
.ml-md-3,.mx-md-3 {
margin-left: 1rem!important
}
.m-md-4 {
margin: 1.5rem!important
}
.mt-md-4,.my-md-4 {
margin-top: 1.5rem!important
}
.mr-md-4,.mx-md-4 {
margin-right: 1.5rem!important
}
.mb-md-4,.my-md-4 {
margin-bottom: 1.5rem!important
}
.ml-md-4,.mx-md-4 {
margin-left: 1.5rem!important
}
.m-md-5 {
margin: 3rem!important
}
.mt-md-5,.my-md-5 {
margin-top: 3rem!important
}
.mr-md-5,.mx-md-5 {
margin-right: 3rem!important
}
.mb-md-5,.my-md-5 {
margin-bottom: 3rem!important
}
.ml-md-5,.mx-md-5 {
margin-left: 3rem!important
}
.p-md-0 {
padding: 0!important
}
.pt-md-0,.py-md-0 {
padding-top: 0!important
}
.pr-md-0,.px-md-0 {
padding-right: 0!important
}
.pb-md-0,.py-md-0 {
padding-bottom: 0!important
}
.pl-md-0,.px-md-0 {
padding-left: 0!important
}
.p-md-1 {
padding: .25rem!important
}
.pt-md-1,.py-md-1 {
padding-top: .25rem!important
}
.pr-md-1,.px-md-1 {
padding-right: .25rem!important
}
.pb-md-1,.py-md-1 {
padding-bottom: .25rem!important
}
.pl-md-1,.px-md-1 {
padding-left: .25rem!important
}
.p-md-2 {
padding: .5rem!important
}
.pt-md-2,.py-md-2 {
padding-top: .5rem!important
}
.pr-md-2,.px-md-2 {
padding-right: .5rem!important
}
.pb-md-2,.py-md-2 {
padding-bottom: .5rem!important
}
.pl-md-2,.px-md-2 {
padding-left: .5rem!important
}
.p-md-3 {
padding: 1rem!important
}
.pt-md-3,.py-md-3 {
padding-top: 1rem!important
}
.pr-md-3,.px-md-3 {
padding-right: 1rem!important
}
.pb-md-3,.py-md-3 {
padding-bottom: 1rem!important
}
.pl-md-3,.px-md-3 {
padding-left: 1rem!important
}
.p-md-4 {
padding: 1.5rem!important
}
.pt-md-4,.py-md-4 {
padding-top: 1.5rem!important
}
.pr-md-4,.px-md-4 {
padding-right: 1.5rem!important
}
.pb-md-4,.py-md-4 {
padding-bottom: 1.5rem!important
}
.pl-md-4,.px-md-4 {
padding-left: 1.5rem!important
}
.p-md-5 {
padding: 3rem!important
}
.pt-md-5,.py-md-5 {
padding-top: 3rem!important
}
.pr-md-5,.px-md-5 {
padding-right: 3rem!important
}
.pb-md-5,.py-md-5 {
padding-bottom: 3rem!important
}
.pl-md-5,.px-md-5 {
padding-left: 3rem!important
}
.m-md-n1 {
margin: -.25rem!important
}
.mt-md-n1,.my-md-n1 {
margin-top: -.25rem!important
}
.mr-md-n1,.mx-md-n1 {
margin-right: -.25rem!important
}
.mb-md-n1,.my-md-n1 {
margin-bottom: -.25rem!important
}
.ml-md-n1,.mx-md-n1 {
margin-left: -.25rem!important
}
.m-md-n2 {
margin: -.5rem!important
}
.mt-md-n2,.my-md-n2 {
margin-top: -.5rem!important
}
.mr-md-n2,.mx-md-n2 {
margin-right: -.5rem!important
}
.mb-md-n2,.my-md-n2 {
margin-bottom: -.5rem!important
}
.ml-md-n2,.mx-md-n2 {
margin-left: -.5rem!important
}
.m-md-n3 {
margin: -1rem!important
}
.mt-md-n3,.my-md-n3 {
margin-top: -1rem!important
}
.mr-md-n3,.mx-md-n3 {
margin-right: -1rem!important
}
.mb-md-n3,.my-md-n3 {
margin-bottom: -1rem!important
}
.ml-md-n3,.mx-md-n3 {
margin-left: -1rem!important
}
.m-md-n4 {
margin: -1.5rem!important
}
.mt-md-n4,.my-md-n4 {
margin-top: -1.5rem!important
}
.mr-md-n4,.mx-md-n4 {
margin-right: -1.5rem!important
}
.mb-md-n4,.my-md-n4 {
margin-bottom: -1.5rem!important
}
.ml-md-n4,.mx-md-n4 {
margin-left: -1.5rem!important
}
.m-md-n5 {
margin: -3rem!important
}
.mt-md-n5,.my-md-n5 {
margin-top: -3rem!important
}
.mr-md-n5,.mx-md-n5 {
margin-right: -3rem!important
}
.mb-md-n5,.my-md-n5 {
margin-bottom: -3rem!important
}
.ml-md-n5,.mx-md-n5 {
margin-left: -3rem!important
}
.m-md-auto {
margin: auto!important
}
.mt-md-auto,.my-md-auto {
margin-top: auto!important
}
.mr-md-auto,.mx-md-auto {
margin-right: auto!important
}
.mb-md-auto,.my-md-auto {
margin-bottom: auto!important
}
.ml-md-auto,.mx-md-auto {
margin-left: auto!important
}
}
@media (min-width: 992px) {
.m-lg-0 {
margin:0!important
}
.mt-lg-0,.my-lg-0 {
margin-top: 0!important
}
.mr-lg-0,.mx-lg-0 {
margin-right: 0!important
}
.mb-lg-0,.my-lg-0 {
margin-bottom: 0!important
}
.ml-lg-0,.mx-lg-0 {
margin-left: 0!important
}
.m-lg-1 {
margin: .25rem!important
}
.mt-lg-1,.my-lg-1 {
margin-top: .25rem!important
}
.mr-lg-1,.mx-lg-1 {
margin-right: .25rem!important
}
.mb-lg-1,.my-lg-1 {
margin-bottom: .25rem!important
}
.ml-lg-1,.mx-lg-1 {
margin-left: .25rem!important
}
.m-lg-2 {
margin: .5rem!important
}
.mt-lg-2,.my-lg-2 {
margin-top: .5rem!important
}
.mr-lg-2,.mx-lg-2 {
margin-right: .5rem!important
}
.mb-lg-2,.my-lg-2 {
margin-bottom: .5rem!important
}
.ml-lg-2,.mx-lg-2 {
margin-left: .5rem!important
}
.m-lg-3 {
margin: 1rem!important
}
.mt-lg-3,.my-lg-3 {
margin-top: 1rem!important
}
.mr-lg-3,.mx-lg-3 {
margin-right: 1rem!important
}
.mb-lg-3,.my-lg-3 {
margin-bottom: 1rem!important
}
.ml-lg-3,.mx-lg-3 {
margin-left: 1rem!important
}
.m-lg-4 {
margin: 1.5rem!important
}
.mt-lg-4,.my-lg-4 {
margin-top: 1.5rem!important
}
.mr-lg-4,.mx-lg-4 {
margin-right: 1.5rem!important
}
.mb-lg-4,.my-lg-4 {
margin-bottom: 1.5rem!important
}
.ml-lg-4,.mx-lg-4 {
margin-left: 1.5rem!important
}
.m-lg-5 {
margin: 3rem!important
}
.mt-lg-5,.my-lg-5 {
margin-top: 3rem!important
}
.mr-lg-5,.mx-lg-5 {
margin-right: 3rem!important
}
.mb-lg-5,.my-lg-5 {
margin-bottom: 3rem!important
}
.ml-lg-5,.mx-lg-5 {
margin-left: 3rem!important
}
.p-lg-0 {
padding: 0!important
}
.pt-lg-0,.py-lg-0 {
padding-top: 0!important
}
.pr-lg-0,.px-lg-0 {
padding-right: 0!important
}
.pb-lg-0,.py-lg-0 {
padding-bottom: 0!important
}
.pl-lg-0,.px-lg-0 {
padding-left: 0!important
}
.p-lg-1 {
padding: .25rem!important
}
.pt-lg-1,.py-lg-1 {
padding-top: .25rem!important
}
.pr-lg-1,.px-lg-1 {
padding-right: .25rem!important
}
.pb-lg-1,.py-lg-1 {
padding-bottom: .25rem!important
}
.pl-lg-1,.px-lg-1 {
padding-left: .25rem!important
}
.p-lg-2 {
padding: .5rem!important
}
.pt-lg-2,.py-lg-2 {
padding-top: .5rem!important
}
.pr-lg-2,.px-lg-2 {
padding-right: .5rem!important
}
.pb-lg-2,.py-lg-2 {
padding-bottom: .5rem!important
}
.pl-lg-2,.px-lg-2 {
padding-left: .5rem!important
}
.p-lg-3 {
padding: 1rem!important
}
.pt-lg-3,.py-lg-3 {
padding-top: 1rem!important
}
.pr-lg-3,.px-lg-3 {
padding-right: 1rem!important
}
.pb-lg-3,.py-lg-3 {
padding-bottom: 1rem!important
}
.pl-lg-3,.px-lg-3 {
padding-left: 1rem!important
}
.p-lg-4 {
padding: 1.5rem!important
}
.pt-lg-4,.py-lg-4 {
padding-top: 1.5rem!important
}
.pr-lg-4,.px-lg-4 {
padding-right: 1.5rem!important
}
.pb-lg-4,.py-lg-4 {
padding-bottom: 1.5rem!important
}
.pl-lg-4,.px-lg-4 {
padding-left: 1.5rem!important
}
.p-lg-5 {
padding: 3rem!important
}
.pt-lg-5,.py-lg-5 {
padding-top: 3rem!important
}
.pr-lg-5,.px-lg-5 {
padding-right: 3rem!important
}
.pb-lg-5,.py-lg-5 {
padding-bottom: 3rem!important
}
.pl-lg-5,.px-lg-5 {
padding-left: 3rem!important
}
.m-lg-n1 {
margin: -.25rem!important
}
.mt-lg-n1,.my-lg-n1 {
margin-top: -.25rem!important
}
.mr-lg-n1,.mx-lg-n1 {
margin-right: -.25rem!important
}
.mb-lg-n1,.my-lg-n1 {
margin-bottom: -.25rem!important
}
.ml-lg-n1,.mx-lg-n1 {
margin-left: -.25rem!important
}
.m-lg-n2 {
margin: -.5rem!important
}
.mt-lg-n2,.my-lg-n2 {
margin-top: -.5rem!important
}
.mr-lg-n2,.mx-lg-n2 {
margin-right: -.5rem!important
}
.mb-lg-n2,.my-lg-n2 {
margin-bottom: -.5rem!important
}
.ml-lg-n2,.mx-lg-n2 {
margin-left: -.5rem!important
}
.m-lg-n3 {
margin: -1rem!important
}
.mt-lg-n3,.my-lg-n3 {
margin-top: -1rem!important
}
.mr-lg-n3,.mx-lg-n3 {
margin-right: -1rem!important
}
.mb-lg-n3,.my-lg-n3 {
margin-bottom: -1rem!important
}
.ml-lg-n3,.mx-lg-n3 {
margin-left: -1rem!important
}
.m-lg-n4 {
margin: -1.5rem!important
}
.mt-lg-n4,.my-lg-n4 {
margin-top: -1.5rem!important
}
.mr-lg-n4,.mx-lg-n4 {
margin-right: -1.5rem!important
}
.mb-lg-n4,.my-lg-n4 {
margin-bottom: -1.5rem!important
}
.ml-lg-n4,.mx-lg-n4 {
margin-left: -1.5rem!important
}
.m-lg-n5 {
margin: -3rem!important
}
.mt-lg-n5,.my-lg-n5 {
margin-top: -3rem!important
}
.mr-lg-n5,.mx-lg-n5 {
margin-right: -3rem!important
}
.mb-lg-n5,.my-lg-n5 {
margin-bottom: -3rem!important
}
.ml-lg-n5,.mx-lg-n5 {
margin-left: -3rem!important
}
.m-lg-auto {
margin: auto!important
}
.mt-lg-auto,.my-lg-auto {
margin-top: auto!important
}
.mr-lg-auto,.mx-lg-auto {
margin-right: auto!important
}
.mb-lg-auto,.my-lg-auto {
margin-bottom: auto!important
}
.ml-lg-auto,.mx-lg-auto {
margin-left: auto!important
}
}
@media (min-width: 1200px) {
.m-xl-0 {
margin:0!important
}
.mt-xl-0,.my-xl-0 {
margin-top: 0!important
}
.mr-xl-0,.mx-xl-0 {
margin-right: 0!important
}
.mb-xl-0,.my-xl-0 {
margin-bottom: 0!important
}
.ml-xl-0,.mx-xl-0 {
margin-left: 0!important
}
.m-xl-1 {
margin: .25rem!important
}
.mt-xl-1,.my-xl-1 {
margin-top: .25rem!important
}
.mr-xl-1,.mx-xl-1 {
margin-right: .25rem!important
}
.mb-xl-1,.my-xl-1 {
margin-bottom: .25rem!important
}
.ml-xl-1,.mx-xl-1 {
margin-left: .25rem!important
}
.m-xl-2 {
margin: .5rem!important
}
.mt-xl-2,.my-xl-2 {
margin-top: .5rem!important
}
.mr-xl-2,.mx-xl-2 {
margin-right: .5rem!important
}
.mb-xl-2,.my-xl-2 {
margin-bottom: .5rem!important
}
.ml-xl-2,.mx-xl-2 {
margin-left: .5rem!important
}
.m-xl-3 {
margin: 1rem!important
}
.mt-xl-3,.my-xl-3 {
margin-top: 1rem!important
}
.mr-xl-3,.mx-xl-3 {
margin-right: 1rem!important
}
.mb-xl-3,.my-xl-3 {
margin-bottom: 1rem!important
}
.ml-xl-3,.mx-xl-3 {
margin-left: 1rem!important
}
.m-xl-4 {
margin: 1.5rem!important
}
.mt-xl-4,.my-xl-4 {
margin-top: 1.5rem!important
}
.mr-xl-4,.mx-xl-4 {
margin-right: 1.5rem!important
}
.mb-xl-4,.my-xl-4 {
margin-bottom: 1.5rem!important
}
.ml-xl-4,.mx-xl-4 {
margin-left: 1.5rem!important
}
.m-xl-5 {
margin: 3rem!important
}
.mt-xl-5,.my-xl-5 {
margin-top: 3rem!important
}
.mr-xl-5,.mx-xl-5 {
margin-right: 3rem!important
}
.mb-xl-5,.my-xl-5 {
margin-bottom: 3rem!important
}
.ml-xl-5,.mx-xl-5 {
margin-left: 3rem!important
}
.p-xl-0 {
padding: 0!important
}
.pt-xl-0,.py-xl-0 {
padding-top: 0!important
}
.pr-xl-0,.px-xl-0 {
padding-right: 0!important
}
.pb-xl-0,.py-xl-0 {
padding-bottom: 0!important
}
.pl-xl-0,.px-xl-0 {
padding-left: 0!important
}
.p-xl-1 {
padding: .25rem!important
}
.pt-xl-1,.py-xl-1 {
padding-top: .25rem!important
}
.pr-xl-1,.px-xl-1 {
padding-right: .25rem!important
}
.pb-xl-1,.py-xl-1 {
padding-bottom: .25rem!important
}
.pl-xl-1,.px-xl-1 {
padding-left: .25rem!important
}
.p-xl-2 {
padding: .5rem!important
}
.pt-xl-2,.py-xl-2 {
padding-top: .5rem!important
}
.pr-xl-2,.px-xl-2 {
padding-right: .5rem!important
}
.pb-xl-2,.py-xl-2 {
padding-bottom: .5rem!important
}
.pl-xl-2,.px-xl-2 {
padding-left: .5rem!important
}
.p-xl-3 {
padding: 1rem!important
}
.pt-xl-3,.py-xl-3 {
padding-top: 1rem!important
}
.pr-xl-3,.px-xl-3 {
padding-right: 1rem!important
}
.pb-xl-3,.py-xl-3 {
padding-bottom: 1rem!important
}
.pl-xl-3,.px-xl-3 {
padding-left: 1rem!important
}
.p-xl-4 {
padding: 1.5rem!important
}
.pt-xl-4,.py-xl-4 {
padding-top: 1.5rem!important
}
.pr-xl-4,.px-xl-4 {
padding-right: 1.5rem!important
}
.pb-xl-4,.py-xl-4 {
padding-bottom: 1.5rem!important
}
.pl-xl-4,.px-xl-4 {
padding-left: 1.5rem!important
}
.p-xl-5 {
padding: 3rem!important
}
.pt-xl-5,.py-xl-5 {
padding-top: 3rem!important
}
.pr-xl-5,.px-xl-5 {
padding-right: 3rem!important
}
.pb-xl-5,.py-xl-5 {
padding-bottom: 3rem!important
}
.pl-xl-5,.px-xl-5 {
padding-left: 3rem!important
}
.m-xl-n1 {
margin: -.25rem!important
}
.mt-xl-n1,.my-xl-n1 {
margin-top: -.25rem!important
}
.mr-xl-n1,.mx-xl-n1 {
margin-right: -.25rem!important
}
.mb-xl-n1,.my-xl-n1 {
margin-bottom: -.25rem!important
}
.ml-xl-n1,.mx-xl-n1 {
margin-left: -.25rem!important
}
.m-xl-n2 {
margin: -.5rem!important
}
.mt-xl-n2,.my-xl-n2 {
margin-top: -.5rem!important
}
.mr-xl-n2,.mx-xl-n2 {
margin-right: -.5rem!important
}
.mb-xl-n2,.my-xl-n2 {
margin-bottom: -.5rem!important
}
.ml-xl-n2,.mx-xl-n2 {
margin-left: -.5rem!important
}
.m-xl-n3 {
margin: -1rem!important
}
.mt-xl-n3,.my-xl-n3 {
margin-top: -1rem!important
}
.mr-xl-n3,.mx-xl-n3 {
margin-right: -1rem!important
}
.mb-xl-n3,.my-xl-n3 {
margin-bottom: -1rem!important
}
.ml-xl-n3,.mx-xl-n3 {
margin-left: -1rem!important
}
.m-xl-n4 {
margin: -1.5rem!important
}
.mt-xl-n4,.my-xl-n4 {
margin-top: -1.5rem!important
}
.mr-xl-n4,.mx-xl-n4 {
margin-right: -1.5rem!important
}
.mb-xl-n4,.my-xl-n4 {
margin-bottom: -1.5rem!important
}
.ml-xl-n4,.mx-xl-n4 {
margin-left: -1.5rem!important
}
.m-xl-n5 {
margin: -3rem!important
}
.mt-xl-n5,.my-xl-n5 {
margin-top: -3rem!important
}
.mr-xl-n5,.mx-xl-n5 {
margin-right: -3rem!important
}
.mb-xl-n5,.my-xl-n5 {
margin-bottom: -3rem!important
}
.ml-xl-n5,.mx-xl-n5 {
margin-left: -3rem!important
}
.m-xl-auto {
margin: auto!important
}
.mt-xl-auto,.my-xl-auto {
margin-top: auto!important
}
.mr-xl-auto,.mx-xl-auto {
margin-right: auto!important
}
.mb-xl-auto,.my-xl-auto {
margin-bottom: auto!important
}
.ml-xl-auto,.mx-xl-auto {
margin-left: auto!important
}
}
.stretched-link::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
pointer-events: auto;
content: "";
background-color: transparent
}
.text-monospace {
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important
}
.text-justify {
text-align: justify!important
}
.text-wrap {
white-space: normal!important
}
.text-nowrap {
white-space: nowrap!important
}
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}
.text-left {
text-align: left!important
}
.text-right {
text-align: right!important
}
.text-center {
text-align: center!important
}
@media (min-width: 576px) {
.text-sm-left {
text-align:left!important
}
.text-sm-right {
text-align: right!important
}
.text-sm-center {
text-align: center!important
}
}
@media (min-width: 768px) {
.text-md-left {
text-align:left!important
}
.text-md-right {
text-align: right!important
}
.text-md-center {
text-align: center!important
}
}
@media (min-width: 992px) {
.text-lg-left {
text-align:left!important
}
.text-lg-right {
text-align: right!important
}
.text-lg-center {
text-align: center!important
}
}
@media (min-width: 1200px) {
.text-xl-left {
text-align:left!important
}
.text-xl-right {
text-align: right!important
}
.text-xl-center {
text-align: center!important
}
}
.text-lowercase {
text-transform: lowercase!important
}
.text-uppercase {
text-transform: uppercase!important
}
.text-capitalize {
text-transform: capitalize!important
}
.font-weight-light {
font-weight: 300!important
}
.font-weight-lighter {
font-weight: lighter!important
}
.font-weight-normal {
font-weight: 400!important
}
.font-weight-bold {
font-weight: 700!important
}
.font-weight-bolder {
font-weight: bolder!important
}
.font-italic {
font-style: italic!important
}
.text-white {
color: #fff!important
}
.text-primary {
color: #007bff!important
}
a.text-primary:focus,a.text-primary:hover {
color: #0056b3!important
}
.text-secondary {
color: #6c757d!important
}
a.text-secondary:focus,a.text-secondary:hover {
color: #494f54!important
}
.text-success {
color: #28a745!important
}
a.text-success:focus,a.text-success:hover {
color: #19692c!important
}
.text-info {
color: #17a2b8!important
}
a.text-info:focus,a.text-info:hover {
color: #0f6674!important
}
.text-warning {
color: #ffc107!important
}
a.text-warning:focus,a.text-warning:hover {
color: #ba8b00!important
}
.text-danger {
color: #dc3545!important
}
a.text-danger:focus,a.text-danger:hover {
color: #a71d2a!important
}
.text-light {
color: #f8f9fa!important
}
a.text-light:focus,a.text-light:hover {
color: #cbd3da!important
}
.text-dark {
color: #343a40!important
}
a.text-dark:focus,a.text-dark:hover {
color: #121416!important
}
.text-body {
color: #212529!important
}
.text-muted {
color: #6c757d!important
}
.text-black-50 {
color: rgba(0,0,0,.5)!important
}
.text-white-50 {
color: rgba(33,37,41,.5)!important
}
.text-hide {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0
}
.text-decoration-none {
text-decoration: none!important
}
.text-break {
word-break: break-word!important;
overflow-wrap: break-word!important
}
.text-reset {
color: inherit!important
}
.visible {
visibility: visible!important
}
.invisible {
visibility: hidden!important
}
@media print {
*,::after,::before {
text-shadow: none!important;
box-shadow: none!important
}
a:not(.btn) {
text-decoration: underline
}
abbr[title]::after {
content: " (" attr(title) ")"
}
pre {
white-space: pre-wrap!important
}
blockquote,pre {
border: 1px solid #adb5bd;
page-break-inside: avoid
}
thead {
display: table-header-group
}
img,tr {
page-break-inside: avoid
}
h2,h3,p {
orphans: 3;
widows: 3
}
h2,h3 {
page-break-after: avoid
}
body {
min-width: 992px!important
}
.container {
min-width: 992px!important
}
.navbar {
display: none
}
.badge {
border: 1px solid #000
}
.table {
border-collapse: collapse!important
}
.table td,.table th {
background-color: #fff!important
}
.table-bordered td,.table-bordered th {
border: 1px solid #dee2e6!important
}
.table-dark {
color: inherit
}
.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th {
border-color: #dee2e6
}
.table .thead-dark th {
color: inherit;
border-color: #dee2e6
}
}
body {
font-family: consolas;
padding: 0 15px;
font-size: small
}
body.main-body {
overflow-x: hidden;
overflow-y: hidden;
padding: 0;
padding-top: 0;
height: 100vh
}
.blockquote-reverse,blockquote.pull-right {
padding-right: 15px;
padding-left: 0;
text-align: right;
border-right: 5px solid #eee;
border-left: 0
}
.blockquote {
margin-bottom: 1rem;
font-size: 1rem
}
.blockquote p {
margin-bottom: 0
}
.card-title {
margin-bottom: .25rem;
font-size: 1rem
}
.card-body {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
min-height: 1px;
padding: .5rem 1.25rem
}
a,a:active,a:focus,a:hover {
text-decoration: none;
cursor: pointer
}
.icon {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
fill: currentColor
}
label.form-check-label {
font-size: 15px
}
.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link {
color: #212529
}
.dropdown-item.active {
color: #212529;
text-decoration: none;
background-color: transparent
}
img {
border: 0
}
#qr-main {
margin: 0 auto;
background: #fff;
overflow: auto;
width: 100%
}
#qr-header {
background: #fff;
margin-bottom: 0
}
#qr-mainbody {
background: #fff;
width: 100%;
display: none
}
#qr-canvas {
display: none
}
#qrfile {
width: 314px;
height: 250px
}
#mp1 {
text-align: center;
font-size: 35px
}
#imghelp {
position: relative;
left: 0;
top: -160px;
z-index: 100;
font: 18px arial,sans-serif;
background: #f0f0f0;
margin-left: 35px;
margin-right: 35px;
padding-top: 10px;
padding-bottom: 10px;
border-radius: 20px
}
.selector {
margin: 0;
padding: 0;
cursor: pointer;
margin-bottom: -5px
}
#qr-outdiv {
width: 320px;
height: 256px;
border: solid;
border-width: 3px;
margin: 10px auto
}
#qr-result {
margin: 5px 0;
padding: 0;
font-size: .75rem;
font-weight: 400;
line-height: 1.5;
background-clip: padding-box;
border: 1px solid #ced4da;
overflow: auto;
white-space: pre-line
}
#qrimage {
text-align: center;
text-align: -webkit-center
}
#qrimage img {
display: block;
margin: 10px auto
}
#qr_data {
resize: none
}
.tsel {
padding: 0;
height: 100%
}
div.row.card-body div.col-sm-6:first-child {
border: 1px ridge #e9e9e9;
padding-top: 5px;
padding-bottom: 5px
}
h4.card-title {
width: min-content;
white-space: nowrap
}
</style>
</head>
<body>
<blockquote class="blockquote blockquote-reverse">
<p>An Offline Browser Utility | QR Code Generator/Reader</p>
<footer class="blockquote-footer">
Ideal for embedding site links etc. Adapted from <a href="https://webqr.com/" target="blank">here</a>
</footer>
</blockquote>
<div class="card rounded-0">
<div class="row card-body">
<div class="col-sm-6">
<h5>Proceed to Generate QR Code</h5>
<div class="row">
<div class="col-sm-12">
<h4 class="card-title">
Input <code>URL</code>
or <code>Text</code>
</h4>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<textarea id="qr_data" autofocus spellcheck class="form-control input-xs rounded-0" name="qr_data">http://jindo.dev.naver.com/collie</textarea>
</div>
</div>
<div class="row">
<div class="col-sm-12 text-center">
<div id="qrimage"></div>
</div>
</div>
<div class="row">
<div class="col-sm-1"></div>
<div class="col-sm-4">
<button type="button" class="btn btn-outline-secondary btn-sm rounded-0 w-100" onclick="create()">Generate</button>
</div>
<div class="col-sm-2"></div>
<div class="col-sm-4">
<button id="exportImageQRCodeOutputBtn" type="button" class="btn btn-outline-info btn-sm rounded-0 w-100">Export</button>
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="col-sm-6">
<h5>Proceed to Input QR Code</h5>
<div class="row">
<div class="col-sm-12">
<h4 class="card-title">
Output <code>URL</code>
or <code>Text</code>
</h4>
</div>
</div>
<div class="row">
<div class="col-sm-12 text-center">
<div id="qr-main">
<div id="qr-mainbody">
<table class="tsel w-100" border="0">
<tr>
<td colspan="3" align="center">
<div id="qr-result" class="w-100 rounded-0"></div>
</td>
</tr>
<tr>
<td valign="top" align="center" width="50%">
<table class="tsel" border="0">
<tr>
<td colspan="2" align="center">
<div id="qr-outdiv"></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
<canvas id="qr-canvas" width="800" height="600"></canvas>
<script type="text/javascript">
load();
</script>
</div>
</div>
</div>
</div>
</div>
<script>
var qrImageContainer = document.getElementById("qrimage")
, exportQRImageBtn = document.getElementById("exportImageQRCodeOutputBtn")
, qrDataInput = document.getElementById("qr_data")
, qrHeight = 256
, qrWidth = 256
, qrimage = new QRCode("qrimage",{
text: document.getElementById("qr_data").value,
width: qrWidth,
height: qrHeight,
colorDark: "#000000",
colorLight: "#ffffff",
correctLevel: QRCode.CorrectLevel.H
});
function create() {
qrimage.makeCode(qrDataInput.value)
}
qrimage.clear(),
qrimage.makeCode(qrDataInput.value),
exportQRImageBtn.onclick = function(e) {
var t = qrImageContainer.getElementsByTagName("img")[0].src;
if (window.Blob) {
let e = document.createElement("a");
e.download = "qr_code.png",
e.innerHTML = "Download File",
e.href = t,
e.style.display = "none",
document.body.appendChild(e),
e.click(),
document.body.removeChild(e)
} else
alert("Your browser does not support HTML5 'Blob' function required to save a file.")
}
;
var qr_data = document.getElementById("qr_data")
, qr_result = document.getElementById("qr-result");
qr_result.style.height = qr_data.offsetHeight + "px";
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment